summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/delimseasy
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/delimseasy
Initial commit
Diffstat (limited to 'macros/latex/contrib/delimseasy')
-rw-r--r--macros/latex/contrib/delimseasy/README.txt30
-rw-r--r--macros/latex/contrib/delimseasy/delimseasy.sty817
-rw-r--r--macros/latex/contrib/delimseasy/delimseasyMan.pdfbin0 -> 228076 bytes
-rw-r--r--macros/latex/contrib/delimseasy/delimseasyMan.tex383
4 files changed, 1230 insertions, 0 deletions
diff --git a/macros/latex/contrib/delimseasy/README.txt b/macros/latex/contrib/delimseasy/README.txt
new file mode 100644
index 0000000000..5580c52721
--- /dev/null
+++ b/macros/latex/contrib/delimseasy/README.txt
@@ -0,0 +1,30 @@
+Delimseasy 2.0
+===============
+
+Changes to the package since Version 1.0:
+ Added more delimeters (notably for binomial coefficients)
+ Added delimiters for Valentine's Day
+ Added a "D" version for those who like LaTeX's \left...\right construct but are tired of typing and editing those pairs.
+ Revised Manual
+
+This package contains the following files:
+
+README2.0 - this document
+
+delimseasyMan.pdf - the pdf version of the manual
+
+delimseasyMan.tex - LaTeX source of the preceding; includes examples that are commented out
+
+delimseasy.sty - the delims package
+
+delimseasy is a package to make it simple and fast to change the size of delimiters and their blackness. Further information is in delimseasyMan.
+
+This material is subject to the LaTeX Project Public License 1.3. See
+http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the
+details of that license.
+
+
+Colin C. Graham
+ccgraham@alum.mit.edu
+2015-12-02
+
diff --git a/macros/latex/contrib/delimseasy/delimseasy.sty b/macros/latex/contrib/delimseasy/delimseasy.sty
new file mode 100644
index 0000000000..2c9b5f8ad6
--- /dev/null
+++ b/macros/latex/contrib/delimseasy/delimseasy.sty
@@ -0,0 +1,817 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package delims
+% source code
+% Version 2.0
+% 2016-02-14
+% Colin C. Graham
+% Haines Junction Yukon Canada
+% ccgraham@alum.mit.edu
+%
+% Revision history:
+% 20156/02/01
+% a) Added the next 3 lines
+% This material is subject to the LaTeX Project Public License 1.3. See
+% http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the
+% details of that license.
+% b) Tidied up the code visually & added some explanatory comments
+% c) Added the \llgg set of delimiters (5 sizes in plain and bold. No
+% two sided versions.
+% d) Added \valentine and \diamondsgbf.
+% e) Added L and R macros for one-sided (easier to read);
+% retained earlier versions
+% f) Added \bnom
+% g) Added \D... versions (no sizing; no BF)
+%
+%%%%%%%%%%%%%%%%%%%%%%
+% paired round parens
+\newcommand\prn[1]{(#1)}
+\newcommand\prnb[1]{\big{(}{#1}{\big)}}
+\newcommand\prnbb[1]{\Big{(}{#1}{\Big)}}
+\newcommand\prnbbb[1]{\bigg{(}{#1}{\bigg)}}
+\newcommand\prnbbbb[1]{\Bigg{(}{#1}{\Bigg)}}
+%%%%%%%%%%%%%
+% paired square braces
+\newcommand\sqpr[1]{{[}{#1}{]}}
+\newcommand\sqprb[1]{\big{[}{#1}{\big]}}
+\newcommand\sqprbb[1]{\Big{[}{#1}{\Big]}}
+\newcommand\sqprbbb[1]{\bigg{[}{#1}{\bigg]}}
+\newcommand\sqprbbbb[1]{\Bigg{[}{#1}{\Bigg]}}
+%%%%%%%%%%%%%%%%
+% paired curly braces
+\newcommand\crl[1]{{ \{ }{#1}{ \} }}
+\newcommand\crlb[1]{\big{\{}{#1}\big{\}}}
+\newcommand\crlbb[1]{\Big{\{ }{#1}\Big{\} }}
+\newcommand\crlbbb[1]{\bigg{\{ }{#1}\bigg{\} }}
+\newcommand\crlbbbb[1]{\Bigg{\{ }{#1}\Bigg{\} }}
+%%%%%%%%%%
+%% langle and rangle
+\newcommand\ngl[1]{{ \langle }{#1}{\rangle}}
+\newcommand\nglb[1]{\big{\langle}{#1}\big{\rangle}}
+\newcommand\nglbb[1]{\Big{\langle}{#1}\Big{\rangle}}
+\newcommand\nglbbb[1]{\bigg{\langle}{#1}\bigg{\rangle}}
+\newcommand\nglbbbb[1]{\Bigg{\langle}{#1}\Bigg{\rangle}}
+%%%%%%%%%%%%%%
+%% floor
+\newcommand\flr[1]{{ \lfloor }{#1}{\rfloor }}
+\newcommand\flrb[1]{\big{\lfloor}{#1}\big{\lfloor}}
+\newcommand\flrbb[1]{\Big{\lfloor}{#1}\Big{\rfloor}}
+\newcommand\flrbbb[1]{\bigg{\lfloor}{#1}\bigg{\rfloor}}
+\newcommand\flrbbbb[1]{\Bigg{\lfloor}{#1}\Bigg{\rfloor}}
+%%%%%%%%%%%%%%%%%
+% ceil
+\newcommand\ceil[1]{{ \lceil }{#1}{\rceil }}
+\newcommand\ceilb[1]{\big{\lceil}{#1}\big{\lceil}}
+\newcommand\ceilbb[1]{\Big{\lceil}{#1}\Big{\rceil}}
+\newcommand\ceilbbb[1]{\bigg{\lceil}{#1}\bigg{\rceil}}
+\newcommand\ceilbbbb[1]{\Bigg{\lceil}{#1}\Bigg{\rceil}}
+%%%%%%%%%%%%%%%%%%%%%%
+%% vert
+\newcommand\abs[1]{{ \vert }{#1}{\vert }}
+\newcommand\absb[1]{\big{\vert}{#1}\big{\vert}}
+\newcommand\absbb[1]{\Big{\vert}{#1}\Big{\vert}}
+\newcommand\absbbb[1]{\bigg{\vert}{#1}\bigg{\vert}}
+\newcommand\absbbbb[1]{\Bigg{\vert}{#1}\Bigg{\vert}}
+%%%%%%%%%%%%%%%%%%%
+%% Vert
+\newcommand\nrm[1]{{ \Vert }{#1}{\Vert }}
+\newcommand\nrmb[1]{\big{\Vert}{#1}\big{\Vert}}
+\newcommand\nrmbb[1]{\Big{\Vert}{#1}\Big{\Vert}}
+\newcommand\nrmbbb[1]{\bigg{\Vert}{#1}\bigg{\Vert}}
+\newcommand\nrmbbbb[1]{\Bigg{\Vert}{#1}\Bigg{\Vert}}
+%%%%%%%%%%%%%%%%%%%%
+%Left delimeters
+\newcommand \lprn{(}
+\newcommand \lprnb{\big{(}}
+\newcommand \lprnbb{\Big{(}}
+\newcommand \lprnbbb{\bigg{(}}
+\newcommand \lprnbbbb{\Bigg{(}}
+%
+\newcommand \lsqpr{[}
+\newcommand \lsqprb{\big{[} }
+\newcommand \lsqprbb{\Big{[} }
+\newcommand \lsqprbbb{\bigg{[}}
+\newcommand \lsqprbbbb{\Bigg{[}}
+%
+\newcommand\lcrl{ \{ }
+\newcommand\lcrlb{\big{ \{ }}
+\newcommand\lcrlbb{\Big{ \{ }}
+\newcommand\lcrlbbb{\bigg{ \{ }}
+\newcommand\lcrlbbbb{\Bigg{ \{ }}
+%
+\newcommand\lceilb{\big{\lceil}}
+\newcommand\lceilbb{\Big{\lceil}}
+\newcommand\lceilbbb{\bigg{\lceil}}
+\newcommand\lceilbbbb{\Bigg{\lceil}}
+%
+\newcommand\lflr{\lfloor}
+\newcommand\lflrb{\big\lfloor}
+\newcommand\lflrbb{\Big\lfloor}
+\newcommand\lflrbbb{\bigg\lfloor}
+\newcommand\lflrbbbb{\Bigg\lfloor}
+%
+\newcommand\lngl{\langle}
+\newcommand\lnglb{\big\langle}
+\newcommand\lnglbb{\Big\langle}
+\newcommand\lnglbbb{\bigg\langle}
+\newcommand\lnglbbbb{\Bigg\langle}
+%
+\newcommand\labs{\vert}
+\newcommand\labsb{\big\vert}
+\newcommand\labsbb{\Big\vert}
+\newcommand\labsbbb{\bigg\vert}
+\newcommand\labsbbbb{\Bigg\vert}
+%
+\newcommand\lnrm{\Vert}
+\newcommand\lnrmb{\big\Vert}
+\newcommand\lnrmbb{\bigg\Vert}
+\newcommand\lnrmbbb{\bigg\Vert}
+\newcommand\lnrmbbbb{\Bigg\Vert}
+%
+%Left delimeters - cap L
+\newcommand\Lprn{(}
+\newcommand\Lprnb{\big{(}}
+\newcommand\Lprnbb{\Big{(}}
+\newcommand\Lprnbbb{\bigg{(}}
+\newcommand\Lprnbbbb{\Bigg{(}}
+%
+\newcommand\Lsqpr{[}
+\newcommand\Lsqprb{\big{[}}
+\newcommand\Lsqprbb{\Big{[}}
+\newcommand\Lsqprbbb{\bigg{[}}
+\newcommand\Lsqprbbbb{\Bigg{[}}
+%
+\newcommand\Lcrl{\{}
+\newcommand\Lcrlb{\big{\{}}
+\newcommand\Lcrlbb{\Big{\{}}
+\newcommand\Lcrlbbb{\bigg{\{}}
+\newcommand\Lcrlbbbb{\Bigg{\{}}
+%
+\newcommand\Lceilb{\big{\lceil}}
+\newcommand\Lceilbb{\Big{\lceil}}
+\newcommand\Lceilbbb{\bigg{\lceil}}
+\newcommand\Lceilbbbb{\Bigg{\lceil}}
+%
+\newcommand\Lflr{\lfloor}
+\newcommand\Lflrb{\big\lfloor}
+\newcommand\Lflrbb{\Big\lfloor}
+\newcommand\Lflrbbb{\bigg\lfloor}
+\newcommand\Lflrbbbb{\Bigg\lfloor}
+%
+\newcommand\Lngl{\langle}
+\newcommand\Lnglb{\big\langle}
+\newcommand\Lnglbb{\Big\langle}
+\newcommand\Lnglbbb{\bigg\langle}
+\newcommand\Lnglbbbb{\Bigg\langle}
+%
+\newcommand\Labs{\vert}
+\newcommand\Labsb{\big\vert}
+\newcommand\Labsbb{\Big\vert}
+\newcommand\Labsbbb{\bigg\vert}
+\newcommand\Labsbbbb{\Bigg\vert}
+%
+\newcommand\Lnrm{\Vert}
+\newcommand\Lnrmb{\big\Vert}
+\newcommand\Lnrmbb{\bigg\Vert}
+\newcommand\Lnrmbbb{\bigg\Vert}
+\newcommand\Lnrmbbbb{\Bigg\Vert}
+%
+%Right delimeters
+\newcommand\rprn{)}
+\newcommand\rprnb{\big{)}}
+\newcommand\rprnbb{\Big{)}}
+\newcommand\rprnbbb{\bigg{)}}
+\newcommand\rprnbbbb{\Bigg{)}}
+%
+\newcommand\rsqpr{]}
+\newcommand\rsqprb{\big]}
+\newcommand\rsqprbb{\Big]}
+\newcommand\rsqprbbb{\bigg]}
+\newcommand\rsqprbbbb{\Bigg]}
+%
+\newcommand\rcrl{\}}
+\newcommand\rcrlb{\big{\}}}
+\newcommand\rcrlbb{\Big{\}}}
+\newcommand\rcrlbbb{\bigg{\}}}
+\newcommand\rcrlbbbb{\Bigg{\}}}
+%
+\newcommand\rceilb{\big{\rceil}}
+\newcommand\rceilbb{\Big{\rceil}}
+\newcommand\rceilbbb{\bigg{\rceil}}
+\newcommand\rceilbbbb{\Bigg{\rceil}}
+%
+\newcommand\rflr{\rfloor}
+\newcommand\rflrb{\big\rfloor}
+\newcommand\rflrbb{\Big\rfloor}
+\newcommand\rflrbbb{\bigg\rfloor}
+\newcommand\rflrbbbb{\Bigg\rfloor}
+%
+\newcommand\rngl{\rangle}
+\newcommand\rnglb{\big\rangle}
+\newcommand\rnglbb{\Big\rangle}
+\newcommand\rnglbbb{\bigg\rangle}
+\newcommand\rnglbbbb{\Bigg\rangle}
+%
+\newcommand\rabs{\vert}
+\newcommand\rabsb{\big\vert}
+\newcommand\rabsbb{\Big\vert}
+\newcommand\rabsbbb{\bigg\vert}
+\newcommand\rabsbbbb{\Bigg\vert}
+%
+\newcommand\rnrm{\Vert}
+\newcommand\rnrmb{\big\Vert}
+\newcommand\rnrmbb{\bigg\Vert}
+\newcommand\rnrmbbb{\bigg\Vert}
+\newcommand\rnrmbbbb{\Bigg\Vert}
+%
+%Right delimeters - R versions
+\newcommand\Rprn{)}
+\newcommand\Rprnb{\big{)}}
+\newcommand\Rprnbb{\Big{)}}
+\newcommand\Rprnbbb{\bigg{)}}
+\newcommand\Rprnbbbb{\Bigg{)}}
+%
+\newcommand\Rsqpr{]}
+\newcommand\Rsqprb{\big]}
+\newcommand\Rsqprbb{\Big]}
+\newcommand\Rsqprbbb{\bigg]}
+\newcommand\Rsqprbbbb{\Bigg]}
+%
+\newcommand\Rcrl{\}}
+\newcommand\Rcrlb{\big{\}}}
+\newcommand\Rcrlbb{\Big{\}}}
+\newcommand\Rcrlbbb{\bigg{\}}}
+\newcommand\Rcrlbbbb{\Bigg{\}}}
+%
+\newcommand\Rceilb{\big{\rceil}}
+\newcommand\Rceilbb{\Big{\rceil}}
+\newcommand\Rceilbbb{\bigg{\rceil}}
+\newcommand\Rceilbbbb{\Bigg{\rceil}}
+%
+\newcommand\Rflr{\rfloor}
+\newcommand\Rflrb{\big\rfloor}
+\newcommand\Rflrbb{\Big\rfloor}
+\newcommand\Rflrbbb{\bigg\rfloor}
+\newcommand\Rflrbbbb{\Bigg\rfloor}
+%
+\newcommand\Rngl{\rangle}
+\newcommand\Rnglb{\big\rangle}
+\newcommand\Rnglbb{\Big\rangle}
+\newcommand\Rnglbbb{\bigg\rangle}
+\newcommand\Rnglbbbb{\Bigg\rangle}
+%
+\newcommand\Rabs{\vert}
+\newcommand\Rabsb{\big\vert}
+\newcommand\Rabsbb{\Big\vert}
+\newcommand\Rabsbbb{\bigg\vert}
+\newcommand\Rabsbbbb{\Bigg\vert}
+%
+\newcommand\Rnrm{\Vert}
+\newcommand\Rnrmb{\big\Vert}
+\newcommand\Rnrmbb{\bigg\Vert}
+\newcommand\Rnrmbbb{\bigg\Vert}
+\newcommand\Rnrmbbbb{\Bigg\Vert}
+%
+%boldfaceddelims
+% Bold left delimeters
+\newcommand\Blprn{\pmb{{(}}}
+\newcommand\Blprnb{\pmb{\big{(}}}
+\newcommand\Blprnbb{\pmb{\Big{(}}}
+\newcommand\Blprnbbb{\pmb{\bigg{(}}}
+\newcommand\Blprnbbbb{\pmb{\Bigg{(}}}
+%
+\newcommand\Blsqpr{\pmb{{[}}}
+\newcommand\Blsqprb{\pmb{\big{[}}}
+\newcommand\Blsqprbb{\pmb{\Big{[}}}
+\newcommand\Blsqprbbb{\pmb{\bigg{[}}}
+\newcommand\Blsqprbbbb{\pmb{\Bigg{[}}}
+%
+\newcommand\Blcrl{\pmb{{\{}}}
+\newcommand\Blcrlb{\pmb{\big{\{}}}
+\newcommand\Blcrlbb{\pmb{\Big{\{}}}
+\newcommand\Blcrlbbb{\pmb{\bigg{\{}}}
+\newcommand\Blcrlbbbb{\pmb{\Bigg{\{}}}
+%
+\newcommand\Blceil{\pmb{{\lceil}}}
+\newcommand\Blceilb{\pmb{\big{\lceil}}}
+\newcommand\Blceilbb{\pmb{\Big{\lceil}}}
+\newcommand\Blceilbbb{\pmb{\bigg{\lceil}}}
+\newcommand\Blceilbbbb{\pmb{\Bigg{\lceil}}}
+%
+\newcommand\Blflr{\pmb{\lfloor}}
+\newcommand\Blflrb{\pmb{\big\lfloor}}
+\newcommand\Blflrbb{\pmb{\Big\lfloor}}
+\newcommand\Blflrbbb{\pmb{\bigg\lfloor}}
+\newcommand\Blflrbbbb{\pmb{\Bigg\lfloor}}
+%
+\newcommand\Blngl{\pmb{\langle}}
+\newcommand\Blnglb{\pmb{\big\langle}}
+\newcommand\Blnglbb{\pmb{\Big\langle}}
+\newcommand\Blnglbbb{\pmb{\bigg\langle}}
+\newcommand\Blnglbbbb{\pmb{\Bigg\langle}}
+%
+\newcommand\Blabs{\pmb{\vert}}
+\newcommand\Blabsb{\pmb{\big\vert}}
+\newcommand\Blabsbb{\pmb{\Big\vert}}
+\newcommand\Blabsbbb{\pmb{\bigg\vert}}
+\newcommand\Blabsbbbb{\pmb{\Bigg\vert}}
+%
+\newcommand\Blnrm{\pmb{\Vert}}
+\newcommand\Blnrmb{\pmb{\big\Vert}}
+\newcommand\Blnrmbb{\pmb{\bigg\Vert}}
+\newcommand\Blnrmbbb{\pmb{\bigg\Vert}}
+\newcommand\Blnrmbbbb{\pmb{\Bigg\Vert}}
+%
+% Bold left delimeters - L version
+\newcommand\BLprn{\pmb{{(}}}
+\newcommand\BLprnb{\pmb{\big{(}}}
+\newcommand\BLprnbb{\pmb{\Big{(}}}
+\newcommand\BLprnbbb{\pmb{\bigg{(}}}
+\newcommand\BLprnbbbb{\pmb{\Bigg{(}}}
+%
+\newcommand\BLsqpr{\pmb{{[}}}
+\newcommand\BLsqprb{\pmb{\big{[}}}
+\newcommand\BLsqprbb{\pmb{\Big{[}}}
+\newcommand\BLsqprbbb{\pmb{\bigg{[}}}
+\newcommand\BLsqprbbbb{\pmb{\Bigg{[}}}
+%
+\newcommand\BLcrl{\pmb{{\{}}}
+\newcommand\BLcrlb{\pmb{\big{\{}}}
+\newcommand\BLcrlbb{\pmb{\Big{\{}}}
+\newcommand\BLcrlbbb{\pmb{\bigg{\{}}}
+\newcommand\BLcrlbbbb{\pmb{\Bigg{\{}}}
+%
+\newcommand\BLceil{\pmb{{\lceil}}}
+\newcommand\BLceilb{\pmb{\big{\lceil}}}
+\newcommand\BLceilbb{\pmb{\Big{\lceil}}}
+\newcommand\BLceilbbb{\pmb{\bigg{\lceil}}}
+\newcommand\BLceilbbbb{\pmb{\Bigg{\lceil}}}
+%
+\newcommand\BLflr{\pmb{\lfloor}}
+\newcommand\BLflrb{\pmb{\big\lfloor}}
+\newcommand\BLflrbb{\pmb{\Big\lfloor}}
+\newcommand\BLflrbbb{\pmb{\bigg\lfloor}}
+\newcommand\BLflrbbbb{\pmb{\Bigg\lfloor}}
+%
+\newcommand\BLngl{\pmb{\langle}}
+\newcommand\BLnglb{\pmb{\big\langle}}
+\newcommand\BLnglbb{\pmb{\Big\langle}}
+\newcommand\BLnglbbb{\pmb{\bigg\langle}}
+\newcommand\BLnglbbbb{\pmb{\Bigg\langle}}
+%
+\newcommand\BLabs{\pmb{\vert}}
+\newcommand\BLabsb{\pmb{\big\vert}}
+\newcommand\BLabsbb{\pmb{\Big\vert}}
+\newcommand\BLabsbbb{\pmb{\bigg\vert}}
+\newcommand\BLabsbbbb{\pmb{\Bigg\vert}}
+%
+\newcommand\BLnrm{\pmb{\Vert}}
+\newcommand\BLnrmb{\pmb{\big\Vert}}
+\newcommand\BLnrmbb{\pmb{\bigg\Vert}}
+\newcommand\BLnrmbbb{\pmb{\bigg\Vert}}
+\newcommand\BLnrmbbbb{\pmb{\Bigg\Vert}}
+%
+%BF Right delimeters
+\newcommand\Brprn{\pmb{)}}
+\newcommand\Brprnb{\pmb{\big{)}}}
+\newcommand\Brprnbb{\pmb{\Big{)}}}
+\newcommand\Brprnbbb{\pmb{\bigg{)}}}
+\newcommand\Brprnbbbb{\pmb{\Bigg{)}}}
+%
+\newcommand\Brsqpr{\pmb{]}}
+\newcommand\Brsqprb{\pmb{\big]}}
+\newcommand\Brsqprbb{\pmb{\Big]}}
+\newcommand\Brsqprbbb{\pmb{\bigg]}}
+\newcommand\Brsqprbbbb{\pmb{\Bigg]}}
+%
+\newcommand\Brcrl{\pmb{\}}}
+\newcommand\Brcrlb{\pmb{\big{\}}}}
+\newcommand\Brcrlbb{\pmb{\Big{\}}}}
+\newcommand\Brcrlbbb{\pmb{\bigg{\}}}}
+\newcommand\Brcrlbbbb{\pmb{\Bigg{\}}}}
+%
+\newcommand\Brceil{\pmb{{\rceil}}}
+\newcommand\Brceilb{\pmb{\big{\rceil}}}
+\newcommand\Brceilbb{\pmb{\Big{\rceil}}}
+\newcommand\Brceilbbb{\pmb{\bigg{\rceil}}}
+\newcommand\Brceilbbbb{\pmb{\Bigg{\rceil}}}
+%
+\newcommand\Brflr{\pmb{\rfloor}}
+\newcommand\Brflrb{\pmb{\big\rfloor}}
+\newcommand\Brflrbb{\pmb{\Big\rfloor}}
+\newcommand\Brflrbbb{\pmb{\bigg\rfloor}}
+\newcommand\Brflrbbbb{\pmb{\Bigg\rfloor}}
+%
+\newcommand\Brngl{\pmb{\rangle}}
+\newcommand\Brnglb{\pmb{\big\rangle}}
+\newcommand\Brnglbb{\pmb{\Big\rangle}}
+\newcommand\Brnglbbb{\pmb{\bigg\rangle}}
+\newcommand\Brnglbbbb{\pmb{\Bigg\rangle}}
+%
+\newcommand\Brabs{\pmb{\vert}}
+\newcommand\Brabsb{\pmb{\big\vert}}
+\newcommand\Brabsbb{\pmb{\Big\vert}}
+\newcommand\Brabsbbb{\pmb{\bigg\vert}}
+\newcommand\Brabsbbbb{\pmb{\Bigg\vert}}
+%
+\newcommand\Brnrm{\pmb{\Vert}}
+\newcommand\Brnrmb{\pmb{\big\Vert}}
+\newcommand\Brnrmbb{\pmb{\bigg\Vert}}
+\newcommand\Brnrmbbb{\pmb{\bigg\Vert}}
+\newcommand\Brnrmbbbb{\pmb{\Bigg\Vert}}
+%
+%BFRightdelimeters -R versions
+\newcommand\BRprn{\pmb{)}}
+\newcommand\BRprnb{\pmb{\big{)}}}
+\newcommand\BRprnbb{\pmb{\Big{)}}}
+\newcommand\BRprnbbb{\pmb{\bigg{)}}}
+\newcommand\BRprnbbbb{\pmb{\Bigg{)}}}
+%
+\newcommand\BRsqpr{\pmb{]}}
+\newcommand\BRsqprb{\pmb{\big]}}
+\newcommand\BRsqprbb{\pmb{\Big]}}
+\newcommand\BRsqprbbb{\pmb{\bigg]}}
+\newcommand\BRsqprbbbb{\pmb{\Bigg]}}
+%
+\newcommand\BRcrl{\pmb{\}}}
+\newcommand\BRcrlb{\pmb{\big{\}}}}
+\newcommand\BRcrlbb{\pmb{\Big{\}}}}
+\newcommand\BRcrlbbb{\pmb{\bigg{\}}}}
+\newcommand\BRcrlbbbb{\pmb{\Bigg{\}}}}
+%
+\newcommand\BRceil{\pmb{{\rceil}}}
+\newcommand\BRceilb{\pmb{\big{\rceil}}}
+\newcommand\BRceilbb{\pmb{\Big{\rceil}}}
+\newcommand\BRceilbbb{\pmb{\bigg{\rceil}}}
+\newcommand\BRceilbbbb{\pmb{\Bigg{\rceil}}}
+%
+\newcommand\BRflr{\pmb{\rfloor}}
+\newcommand\BRflrb{\pmb{\big\rfloor}}
+\newcommand\BRflrbb{\pmb{\Big\rfloor}}
+\newcommand\BRflrbbb{\pmb{\bigg\rfloor}}
+\newcommand\BRflrbbbb{\pmb{\Bigg\rfloor}}
+%
+\newcommand\BRngl{\pmb{\rangle}}
+\newcommand\BRnglb{\pmb{\big\rangle}}
+\newcommand\BRnglbb{\pmb{\Big\rangle}}
+\newcommand\BRnglbbb{\pmb{\bigg\rangle}}
+\newcommand\BRnglbbbb{\pmb{\Bigg\rangle}}
+%
+\newcommand\BRabs{\pmb{\vert}}
+\newcommand\BRabsb{\pmb{\big\vert}}
+\newcommand\BRabsbb{\pmb{\Big\vert}}
+\newcommand\BRabsbbb{\pmb{\bigg\vert}}
+\newcommand\BRabsbbbb{\pmb{\Bigg\vert}}
+%
+\newcommand\BRnrm{\pmb{\Vert}}
+\newcommand\BRnrmb{\pmb{\big\Vert}}
+\newcommand\BRnrmbb{\pmb{\bigg\Vert}}
+\newcommand\BRnrmbbb{\pmb{\bigg\Vert}}
+\newcommand\BRnrmbbbb{\pmb{\Bigg\Vert}}
+%
+%boldfacetwosided delimeters
+% BF paired round parens
+\newcommand\Bprn[1]{\pmb{(}#1\pmb{)}}
+\newcommand\Bprnb[1]{\pmb{\big{(}}{#1}{\pmb{\big)}}}
+\newcommand\Bprnbb[1]{\pmb{\Big{(}}{#1}{\pmb{\Big)}}}
+\newcommand\Bprnbbb[1]{\pmb{\bigg{(}}{#1}\pmb{\pmb{\bigg)}}}
+\newcommand\Bprnbbbb[1]{\pmb{\Bigg{(}}{#1}\pmb{\pmb{\Bigg)}}}
+%%%%%%%%%%%%%
+%BFpaired square braces
+\newcommand\Bsqpr[1]{\pmb{[}{#1}\pmb{]}}
+\newcommand\Bsqprb[1]{\pmb{\big{[}}{#1}\pmb{\pmb{\big]}}}
+\newcommand\Bsqprbb[1]{\pmb{\Big{[}}{#1}\pmb{\pmb{\Big]}}}
+\newcommand\Bsqprbbb[1]{\pmb{\bigg{[}}{#1}\pmb{\pmb{\bigg]}}}
+\newcommand\Bsqprbbbb[1]{\pmb{\Bigg{[}}{#1}\pmb{\pmb{\Bigg]}}}
+%%%%%%%%%%%%%%%%
+%BF paired curly braces
+\newcommand\Bcrl[1]{\pmb{\{}{#1}\pmb{\}}}
+\newcommand\Bcrlb[1]{\pmb{\big{\{}}{#1}\pmb{\big{\}}}}
+\newcommand\Bcrlbb[1]{\pmb{\Big{\{}}{#1}\pmb{\Big{\}}}}
+\newcommand\Bcrlbbb[1]{\pmb{\bigg{\{}}{#1}\pmb{\bigg{\}}}}
+\newcommand\Bcrlbbbb[1]{\pmb{\Bigg{\{}}{#1}\pmb{\Bigg{\}}}}
+%%%%%%%%%%
+%% BF langle and rangle
+\newcommand\Bngl[1]{\pmb{\langle}{#1}\pmb{\rangle}}
+\newcommand\Bnglb[1]{\pmb{\big{\langle}}{#1}\pmb{\big{\rangle}}}
+\newcommand\Bnglbb[1]{\pmb{\Big{\langle}}{#1}\pmb{\Big{\rangle}}}
+\newcommand\Bnglbbb[1]{\pmb{\bigg{\langle}}{#1}\pmb{\bigg{\rangle}}}
+\newcommand\Bnglbbbb[1]{\pmb{\Bigg{\langle}}{#1}\pmb{\Bigg{\rangle}}}
+%%%%%%%%%%%%%%
+%%BFfloor
+\newcommand\Bflr[1]{\pmb{\lfloor}{#1}\pmb{\rfloor}}
+\newcommand\Bflrb[1]{\pmb{\big{\lfloor}}{#1}\pmb{\big{\lfloor}}}
+\newcommand\Bflrbb[1]{\pmb{\Big{\lfloor}}{#1}\pmb{\Big{\rfloor}}}
+\newcommand\Bflrbbb[1]{\pmb{\bigg{\lfloor}}{#1}\pmb{\bigg{\rfloor}}}
+\newcommand\Bflrbbbb[1]{\pmb{\Bigg{\lfloor}}{#1}\pmb{\Bigg{\rfloor}}}
+%%%%%%%%%%%%%%%%%
+% BF ceil
+\newcommand\Bceil[1]{\pmb{\lceil}{#1}\pmb{\rceil}}
+\newcommand\Bceilb[1]{\pmb{\big{\lceil}}{#1}\pmb{\big{\lceil}}}
+\newcommand\Bceilbb[1]{\pmb{\Big{\lceil}}{#1}\pmb{\Big{\rceil}}}
+\newcommand\Bceilbbb[1]{\pmb{\bigg{\lceil}}{#1}\pmb{\bigg{\rceil}}}
+\newcommand\Bceilbbbb[1]{\pmb{\Bigg{\lceil}}{#1}\pmb{\Bigg{\rceil}}}
+%%%%%%%%%%%%%%%%%%%%%%
+%% BF vert
+\newcommand\Babs[1]{\pmb{\vert}{#1}\pmb{\vert}}
+\newcommand\Babsb[1]{\pmb{\big{\vert}}{#1}\pmb{\big{\vert}}}
+\newcommand\Babsbb[1]{\pmb{\Big{\vert}}{#1}\pmb{\Big{\vert}}}
+\newcommand\Babsbbb[1]{\pmb{\bigg{\vert}}{#1}\pmb{\bigg{\vert}}}
+\newcommand\Babsbbbb[1]{\pmb{\Bigg{\vert}}{#1}\pmb{\Bigg{\vert}}}
+%%%%%%%%%%%%%%%%%%%
+%% BF Vert
+\newcommand\Bnrm[1]{\pmb{\Vert}{#1}\pmb{\Vert}}
+\newcommand\Bnrmb[1]{\pmb{\big{\Vert}}{#1}\pmb{\big{\Vert}}}
+\newcommand\Bnrmbb[1]{\pmb{\Big{\Vert}}{#1}\pmb{\Big{\Vert}}}
+\newcommand\Bnrmbbb[1]{\pmb{\bigg{\Vert}}{#1}\pmb{\bigg{\Vert}}}
+\newcommand\Bnrmbbbb[1]{\pmb{\Bigg{\Vert}}{#1}\pmb{\Bigg{\Vert}}}
+%
+%%%%%%%%%%%%%%%%
+%reversed round parens
+\newcommand\nrp[1]{{)}#1{(}}
+\newcommand\nrpb[1]{\big{)}{#1}{\big(}}
+\newcommand\nrpbb[1]{\Big{)}{#1}{\Big(}}
+\newcommand\nrpbbb[1]{\bigg{)}{#1}{\bigg(}}
+\newcommand\nrpbbbb[1]{\Bigg{)}{#1}{\Bigg(}}
+%
+%%%%%%%%%%%%%
+% reversed paired square braces
+\newcommand\rpqs[1]{{]}{#1}{[}}
+\newcommand\rpqsb[1]{\big{]}{#1}{\big[}}
+\newcommand\rpqsbb[1]{\Big{]}{#1}{\Big[}}
+\newcommand\rpqsbbb[1]{\bigg{]}{#1}{\bigg[}}
+\newcommand\rpqsbbbb[1]{\Bigg{]}{#1}{\Bigg[}}
+%
+% reversed bold paired round parens
+\newcommand\Bnrp[1]{\pmb{)}#1\pmb{(}}
+\newcommand\Bnrpb[1]{\pmb{\big{)}}{#1}{\pmb{\big(}}}
+\newcommand\Bnrpbb[1]{\pmb{\Big{)}}{#1}{\pmb{\Big(}}}
+\newcommand\Bnrpbbb[1]{\pmb{\bigg{)}}{#1}\pmb{\pmb{\bigg(}}}
+\newcommand\Bnrpbbbb[1]{\pmb{\Bigg{)}}{#1}\pmb{\pmb{\Bigg(}}}
+%
+%%%%%%%%%%%%%
+% reverse bold paired square braces
+\newcommand\Brpqs[1]{\pmb{]}{#1}\pmb{[}}
+\newcommand\Brpqsb[1]{\pmb{\big{]}}{#1}\pmb{\pmb{\big[}}}
+\newcommand\Brpqsbb[1]{\pmb{\Big{]}}{#1}\pmb{\pmb{\Big[}}}
+\newcommand\Brpqsbbb[1]{\pmb{\bigg{]}}{#1}\pmb{\pmb{\bigg[}}}
+\newcommand\Brpqsbbbb[1]{\pmb{\Bigg{]}}{#1}\pmb{\pmb{\Bigg[}}}
+%
+%paired lessthan greaterthan
+\newcommand\stgt[1]{{<#1{>}}}
+\newcommand\stgtb[1]{\big{<}{#1}{\big{>}}}
+\newcommand\stgtbb[1]{\Big{<}{#1}{\Big{>}}}
+\newcommand\stgtbbb[1]{\bigg{<}{#1}{\bigg{>}}}
+\newcommand\stgtbbbb[1]{\Bigg{<}{#1}{\Bigg{>}}}
+%
+\newcommand\Bstgt[1]{\pmb{<}#1{\pmb{>}}}
+\newcommand\Bstgtb[1]{\pmb{\big{<}}{#1}\pmb{\big>}}
+\newcommand\Bstgtbb[1]{\pmb{\Big{<}}{#1}\pmb{\Big>}}
+\newcommand\Bstgtbbb[1]{\pmb{\bigg{<}}{#1}\pmb{\bigg>}}
+\newcommand\Bstgtbbbb[1]{\pmb{\Bigg{<}}{#1}\pmb{\Bigg>}}
+%
+% left lessthan greaterthan
+\newcommand\lstgt{{<}}
+\newcommand\lstgtb{\big{<}}
+\newcommand\lstgtbb{\Big{<}}
+\newcommand\lstgtbbb{\bigg{<}}
+\newcommand\lstgtbbbb{\Bigg{<}}
+%%
+\newcommand\Blstgt{\pmb{<}}
+\newcommand\Blstgtb{\pmb{\big{<}}}
+\newcommand\Blstgtbb{\pmb{\Big{<}}}
+\newcommand\Blstgtbbb{\pmb{\bigg{<}}}
+\newcommand\Blstgtbbbb{\pmb{\Bigg{<}}}
+%
+% right stgt's
+\newcommand\rstgt{{>}}
+\newcommand\rstgtb{\big{>}}
+\newcommand\rstgtbb{\Big{>}}
+\newcommand\rstgtbbb{\bigg{>}}
+\newcommand\rstgtbbbb{\Bigg{>}}
+%%
+\newcommand\Brstgt{\pmb{>}}
+\newcommand\Brstgtb{\pmb{\big{>}}}
+\newcommand\Brstgtbb{\pmb{\Big{>}}}
+\newcommand\Brstgtbbb{\pmb{\bigg{>}}}
+\newcommand\Brstgtbbbb{\pmb{\Bigg{>}}}%
+%
+% \bigb, etc
+% easier to modify and remember than LaTeX built-ins
+% \big % single b - already exists
+\newcommand\bigb{\Big}% double b in delimiter commands
+\newcommand\bigbb{\bigg}% triple b
+\newcommand\bigbbb{\Bigg}% quadruple b
+%
+% muchlessthan muchmorethan
+% \big\ll does not exist; hence the kerning of <<, etc.
+% kerning was uneven without all the curly braces to isolate items. The blanks don't seem
+% to matter and are left in to show how I debugged the commands.
+%
+\newcommand\llgg[1]{{<}\kern-4pt{<}{#1}{>}\kern-4pt{>}}
+% Could probably have done the first one with \ll \gg but wanted to be consistent.
+%
+\newcommand\llggb[1]{{\big{<}}\kern-2pt{\big{<}}{#1}{\big{>}}\kern-2pt{\big{>}}}
+\newcommand\llggbb[1]{{\bigb{<}}\kern-3pt{\bigb{<}}{#1}{\bigb{>}}\kern-3pt{\bigb{>}}}
+\newcommand\llggbbb[1]{{\bigbb{<}}\kern-4pt{\bigbb{<}}{#1}{\bigbb{>}}\kern-4pt{\bigbb{>}}}
+\newcommand\llggbbbb[1]{{\bigbbb{<}}\kern-5pt{\bigbbb{<}}{#1}{\bigbbb{>}}\kern-5p{\bigbbb{>}}}
+%
+%BFmuchlessthanmuchmorethan
+\newcommand\Bllgg[1]{{\pmb{{<}}}\kern-4pt{\pmb{{<}}}{#1}{\pmb{{>}}}\kern-4pt{\pmb{>}}}
+% Could probably have done the first one with \ll \gg but wanted to be consistent.
+\newcommand\Bllggb[1]{{\pmb{\big{<}}}\kern-2pt{\pmb{\big{<}}}{#1}{\pmb{\big{>}}}\kern-2pt{\pmb{\big{>}}}}
+\newcommand\Bllggbb[1]{{\pmb{\bigb{<}}}\kern-3pt{\pmb{\bigb{<}}}{#1}{\pmb{\bigb{>}}}\kern-3pt{\pmb{\bigb{>}}}}
+\newcommand\Bllggbbb[1]{{\pmb{\bigbb{<}}}\kern-4pt{\pmb{\bigbb{<}}}{#1}{\pmb{\bigbb{>}}}\kern-4pt{\pmb{\bigbb{>}}}}
+\newcommand\Bllggbbbb[1]{{\pmb{\bigbbb{<}}}\kern-5pt{\pmb{\bigbbb{<}}}{#1}{\pmb{\bigbbb{>}}}\kern-5pt{\pmb{\bigbbb{>}}}}
+%
+%
+% Valentine macros%
+% First 2 \defs (\length and \getlength) are adapted from
+% TeXBook, p. 219, adding \mylen to avoid changing one of
+% TeX's built-in counters and deleting "\number\mylen" to
+% suppress printing of the value by \length.
+% Used \global to ensure value of \mylen is available outside
+% of \length and \getlength.
+%
+\newcount\mylen%define it outside where modified so it's global
+%
+\def\length#1{{\global\mylen=0\getlength#1\end}}%\number\mylen}}
+%
+\def\getlength#1{\ifx#1\end\let\next=\relax
+\else\global\advance\mylen by1 \let\next=\getlength\fi\next}
+%
+% \valentine
+%
+% puts one heart above an below name for each
+% letter/number in #1.
+% Use only in Math mode (because of \overset and \underset)
+% Since Math mode ignores spaces, if your beloved's name has spaces
+% you will need to protect them with a backslash.
+\newcommand\valentine[1]{
+\length{#1}
+\def\myhearts{}%make empty string
+\ifnum\mylen<1\def\myhearts{\heartsuit}%one heart for no name
+\else
+\ifnum\mylen=2
+\def\myhearts{\heartsuit\heartsuit}
+% maybe could do a loop but that would mean writing a string
+% concatenation routine
+\else
+\ifnum\mylen=3
+\def\myhearts{\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=4
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=5
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=6
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit} \else
+\ifnum\mylen=7
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=8
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=9
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=10
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=11
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=12
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen=13
+\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+\else
+\ifnum\mylen>13\def\myhearts{\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit\heartsuit}
+% if your beloved has a really long name, add a few more \ifnums \else\fi to
+% this
+\fi\fi\fi\fi
+\fi\fi\fi\fi
+\fi\fi\fi\fi
+\fi\fi
+\heartsuit\underset{\myhearts}{\overset{\myhearts}{#1}}\heartsuit
+}
+%
+% Diamonds are a girl's best friend
+% Just like \valentine but puts \diamondsuit(s) around the name.
+% See \valentine code above for explanatory comments.
+\newcommand\diamondsgbf[1]{
+\length{#1}
+\def\myhearts{}%make empty string
+\ifnum\mylen<1\def\myhearts{\heartsuit}% one heart for no name
+\else
+\ifnum\mylen=2
+% maybe could do a loop but that would mean writing a string
+ %concatenation routine
+\def\myhearts{\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=3
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=4
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=5
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=6
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}\else
+\ifnum\mylen=7
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=8
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=9
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=10
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=11
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=12
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen=13
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\else
+\ifnum\mylen>13
+\def\myhearts{\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit\diamondsuit}
+\fi\fi\fi\fi
+\fi\fi\fi\fi
+\fi\fi\fi\fi
+\fi\fi
+\diamondsuit\underset{\myhearts}{\overset{\myhearts}{#1}}\diamondsuit
+}
+%
+% better binomial coefficients
+\newcommand\bnom[2]{\prn{{{#1}\atop{#2}}}}
+\newcommand\bnomb[2]{\prnb{{#1}\atop{#2}}}
+\newcommand\bnombb[2]{\prnbb{{#1}\atop{#2}}}
+\newcommand\bnombbb[2]{\prnbbb{{#1}\atop{#2}}}
+\newcommand\bnombbbb[2]{\prnbbbb{{#1}\atop{#2}}}
+\newcommand\Bbnom[2]{\Bprn{{{#1}\atop{#2}}}}
+\newcommand\Bbnomb[2]{\Bprnb{{#1}\atop{#2}}}
+\newcommand\Bbnombb[2]{\Bprnbb{{#1}\atop{#2}}}
+\newcommand\Bbnombbb[2]{\Bprnbbb{{#1}\atop{#2}}}
+\newcommand\Bbnombbbb[2]{\Bprnbbbb{{#1}\atop{#2}}}
+%
+%variations on the theme
+\newcommand\bnomsq[2]{\sqpr{{{#1}\atop{#2}}}}
+\newcommand\bnomsqb[2]{\sqprb{{#1}\atop{#2}}}
+\newcommand\bnomsqbb[2]{\sqprbb{{#1}\atop{#2}}}
+\newcommand\bnomsqbbb[2]{\sqprbbb{{#1}\atop{#2}}}
+\newcommand\bnomsqbbbb[2]{\sqprbbbb{{#1}\atop{#2}}}
+\newcommand\Bbnomsq[2]{\Bsqpr{{{#1}\atop{#2}}}}
+\newcommand\Bbnomsqb[2]{\Bsqprb{{#1}\atop{#2}}}
+\newcommand\Bbnomsqbb[2]{\Bsqprbb{{#1}\atop{#2}}}
+\newcommand\Bbnomsqbbb[2]{\Bsqprbbb{{#1}\atop{#2}}}
+\newcommand\Bbnomsqbbbb[2]{\Bprnbbbb{{#1}\atop{#2}}}
+%
+\newcommand\bnomcrl[2]{\crl{{{#1}\atop{#2}}}}
+\newcommand\bnomcrlb[2]{\crlb{{#1}\atop{#2}}}
+\newcommand\bnomcrlbb[2]{\crlbb{{#1}\atop{#2}}}
+\newcommand\bnomcrlbbb[2]{\crlbbb{{#1}\atop{#2}}}
+\newcommand\bnomcrlbbbb[2]{\crlbbbb{{#1}\atop{#2}}}
+\newcommand\Bbnomcrl[2]{\Bcrl{{{#1}\atop{#2}}}}
+\newcommand\Bbnomcrlb[2]{\Bcrlb{{#1}\atop{#2}}}
+\newcommand\Bbnomcrlbb[2]{\Bcrlbb{{#1}\atop{#2}}}
+\newcommand\Bbnomcrlbbb[2]{\Bcrlbbb{{#1}\atop{#2}}}
+\newcommand\Bbnomcrlbbbb[2]{\Bcrlbbbb{{#1}\atop{#2}}}
+%
+\newcommand\bnomngl[2]{\ngl{{{#1}\atop{#2}}}} %\bnomngl
+\newcommand\bnomnglb[2]{\nglb{{#1}\atop{#2}}}
+\newcommand\bnomnglbb[2]{\nglbb{{#1}\atop{#2}}}
+\newcommand\bnomnglbbb[2]{\nglbbb{{#1}\atop{#2}}}
+\newcommand\bnomnglbbbb[2]{\nglbbbb{{#1}\atop{#2}}}
+\newcommand\Bbnomngl[2]{\Bngl{{{#1}\atop{#2}}}}
+\newcommand\Bbnomnglb[2]{\Bnglb{{#1}\atop{#2}}}
+\newcommand\Bbnomnglbb[2]{\Bnglbb{{#1}\atop{#2}}}
+\newcommand\Bbnomnglbbb[2]{\Bnglbbb{{#1}\atop{#2}}}
+\newcommand\Bbnomnglbbbb[2]{\Bnglbbbb{{#1}\atop{#2}}}
+%
+%leave it to LaTeX
+\newcommand\Dprn[1]{\left(#1\right)}
+\newcommand\Dsqpr[1]{\left[#1\right]}
+\newcommand\Dcrl[1]{\left\{#1\right\}}
+\newcommand\Dngl[1]{\left\langle#1\right\rangle}
+\newcommand\Dceil[1]{\left\lceil#1\right\rceil}
+\newcommand\Dabs[1]{\left\vert#1\right\vert}
+\newcommand\Dnrm[1]{\left\Vert#1\right\Vert}
+\newcommand\Dflr[1]{\left\lfloor#1\right\rfloor}
+\newcommand\Dstgt[1]{\left<#1\right>}
+%
+% \left...\right does not like \pmb, \mathbf or \boldsymbol
+\endinput
+%
+%
+% \big\ll does not exist
diff --git a/macros/latex/contrib/delimseasy/delimseasyMan.pdf b/macros/latex/contrib/delimseasy/delimseasyMan.pdf
new file mode 100644
index 0000000000..6f9d3c61a4
--- /dev/null
+++ b/macros/latex/contrib/delimseasy/delimseasyMan.pdf
Binary files differ
diff --git a/macros/latex/contrib/delimseasy/delimseasyMan.tex b/macros/latex/contrib/delimseasy/delimseasyMan.tex
new file mode 100644
index 0000000000..bf179c64ad
--- /dev/null
+++ b/macros/latex/contrib/delimseasy/delimseasyMan.tex
@@ -0,0 +1,383 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Manual for the package delimseasy1.01.sty
+%
+% Revison history (Manual):
+% 2016/02/01
+% added \thanks line for copyright notice
+% added \valentine and \diamondsgbf
+% added \L..., \R..., \BL..., \BR... as one-sided
+% commands
+% Revised \S3 to reflect addition of \llgg and
+% \valentine commands.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\documentclass{amsart}
+\usepackage{verbatim}
+\usepackage{delimseasy2.0}
+ %
+ \setcounter{tocdepth}{3}
+ \title[delimseasy]{Package delimseasy}
+ \author[Graham]{Colin C. Graham}
+ \address{PO Box 2031\\Haines Junction YT Canada Y0B 1L0\\\texttt{
+ ccgraham@alum.mit.edu}\hfill\break
+ \thanks{This material is subject to the LaTeX Project Public License 1.3. See
+http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the
+details of that license.}}
+% Encapsulated \thanks in \address so the list of delimiters appears on page 1.
+%
+%
+
+\begin{document}
+
+\begin{abstract} Provides commands to give consistent, easy-to-remember, way to edit and control the size and blackness
+ of delimiters: append 1-4 ``b''s to command for larger sizes; prepend ``B'' for boldface; prepend ``D'' for the
+ \LaTeX\ default. These commands reduce the likelihood
+ of incomplete delimeter pairs and typically use fewer characters than the \LaTeX\ default.
+ \end{abstract}
+
+\maketitle
+
+\centerline{\texttt{ccgraham@alum.mit.edu}}
+
+
+\centerline{Version 2.0 -- 2016 February 1}
+
+
+{\smaller
+\tableofcontents}
+
+\vspace{-.75in}
+
+\section{Installation and the basic delimiters}
+Put \texttt{delimseasy.sty} in a convenient folder and
+add
+\texttt{$\backslash$usepackage\{delimseasy\}}
+ to your preamble. If \LaTeX \ can't find the \texttt{sty} file,
+ move it to the folder of your \texttt{tex} file
+or add a \texttt{PATH} to the \texttt{$\backslash$usepackage} parameter, so you have (for example)
+\newline
+\texttt{$\backslash$usepackage\{C:/user/YOU/Documents/WHEREYOUPUTIT/delimseasy\}}.
+
+%\medskip
+Here are the basic commands:
+\begin{equation*}
+\begin{matrix}
+\text{The command}& \quad\text{ typesets as }&\quad \text{common name}\\
+\backslash\texttt{prn\{$\backslash$\#\}} &\texttt{(\#1)} &\text{round parens}\\
+\backslash\texttt{sqpr\{$\backslash$\#\}} &\texttt{[\#1]} &\text{square braces}\\
+\backslash\texttt{crl\{$\backslash$\#\}} &\{\texttt{\#1} \} &\text{curly braces}\\
+\backslash\texttt{ceil\{$\backslash$\#\}} &\backslash\texttt{lceil \#1} \backslash\texttt{rceil}&\text{ceiling}\\
+\backslash\texttt{flr\{$\backslash$\#\}} &\backslash\texttt{lfloor \#1}\backslash\texttt{rfloor}&\text{floor}\\
+\backslash\texttt{ngl\{$\backslash$\#\}} &\backslash\texttt{langle \#1}\backslash\texttt{rangle}&\text{langle/rangle}\\
+\backslash\texttt{abs\{$\backslash$\#\}} &\backslash\texttt{vert \#1} \backslash\texttt{vert} &\text{absolute value}\\
+\backslash\texttt{nrm\{$\backslash$\#\}} &\backslash\texttt{Vert \#1} \backslash\texttt{Vert} &\text{norm}\\
+\backslash\texttt{stgt\{$\backslash$\#\}} &\stgt{\texttt{\#1}}& \text{lessthan greaterthan}
+\end{matrix}
+\end{equation*}
+
+\subsection{Adding ``b''s to change the size; ``D''s to use \LaTeX\ default}
+Add one to four ``b''s to the end of a command; each ``b'' raises size by one step. Example:
+\texttt{$\backslash$prnb$\{x\widehat\ 2-1\}$} gives $\prnb{x^2-1}$.
+
+Save typing by prepending ``D'' to the start of a
+command to use the \texttt{$\backslash$left$\dots\backslash$right}
+default sizing provided by \LaTeX.
+Example: \texttt{$\backslash$Dprn$\{x\widehat\ 2-1\}$} gives
+ $\Dprn{x^2-1}$ while \texttt{$\backslash$Dprn$\{x-1\}$} gives $\Dprn{x-1}$.
+
+\subsection{Adding ``L'' or ``R'' for one-sided delimiters}
+Prepend upper or lowercase ``L'' or upper or lowercase
+``R'' to the front of the command (after the backslash) for the single
+sided (\textbf{L}eft or \textbf{R}ight).
+These commands take no parameter. Example: \texttt{$\backslash$Lprnb}
+gives $\Lprnb$.
+
+There are no one-sided versions of the \texttt{$\backslash$D...} commands.
+
+\subsection{Prepending a ``B'' for boldface}
+Prepend a capital ``B'' to the front of the command for
+ boldface (poor man's bold); if
+the command is already a left or right, the ``B'' must
+preceed the ``L'' or ``R''. Needs a parameter if the
+non-bolded command does. Example: \texttt{$\backslash$Blprnb} gives $\Blprnb$.
+
+This is not available for the $\backslash$\texttt{D\dots} commands.
+
+ \subsection{Ampersands (\&) not allowed inside paired delimeters}
+ Paired delimiters cause an error if the alignment
+ ampersand \& is used between them.
+ There may be other formatting characters which break
+ paired delimeters; please let me know if you
+ encounter any.
+
+ \textit{Workarounds}:
+ \begin{enumerate}
+ \item Rewrite. If you don't like the looks of
+ \begin{align*}
+ \int \text{A very very very very long expression }&\le \text{ a shorter one}\\
+ &\le\text{ another short one}\\
+ &=\text{the final expression}
+ \end{align*}
+ perhaps you can break up the computations into
+ smaller pieces so that you end with something like,
+ `` putting (3.12)-(3.36) together we see that
+ \[
+ \int \text{A very very very very long
+ expression }\le \text{the final expression}.\text{''}
+ \]
+
+ \item Use one-sided versions.
+
+ \item Use $\backslash$\texttt{phantom}. For example,
+ \begin{verbatim}
+ &\int \text{A very very very very long expression }
+ \le \text{ a shorter one}\\
+ &\phantom{\int \text{A very }}\le\text{the final expression}
+ \end{verbatim}
+ \vspace{-10pt}
+
+ gives
+ \begin{align*}
+ &\int \text{A very very very very long expression }
+ \le \text{ a shorter one}\\
+ &\phantom{\int \text{A very }}\le\text{the final expression}
+ \end{align*}
+
+ \end{enumerate}
+
+\section{Examples}
+\begin{enumerate}
+
+
+\item Here are two versions of the same displays.
+The first pair uses $\backslash$\texttt{left $\backslash$right} (implemented through $\backslash$\texttt{Dsqpr}
+and $\backslash$\texttt{Dabs}); the
+second $\backslash$\texttt{sqprbbb} and $\backslash$\texttt{absbbb...}.
+I prefer the second pair for being using less vertical space and being more easily resizable than the first.
+ \[
+ \left[ \sum_n\frac{x_n}{y_n}\right]^{1/2}
+ \quad \Dabs{\int_a^b\prnbb{\frac{x+1}{x^2+5}}^p dx}^{1/p}
+ \]
+ \[
+ \sqprbb{\sum_n\frac{x_n}{y_n}}^{1/2}\quad
+\absbbb{\int_a^b\prnbb{\frac{x+1}{x^2+5}}^p dx}^{1/p}
+ \]
+ \item Bold vs. default:
+ \[
+ \Bprnbb{\frac x{x^2+1}} \quad \prnbb{\frac x{x^2+1}} \quad
+ \Bcrlbb{\frac x{x^2+1}} \quad \crlbb{\frac x{x^2+1}}
+ \]
+ \end{enumerate}
+
+
+ The \texttt{tex} source for this PDF contains more examples, commented out.
+
+ \section{Further comments}
+ \subsection{An alternate package, \textit{delim}}
+ The package \textit{delim} by Stefan Majewsky
+ does things this one does
+ and may be preferred by many \LaTeX\ users.
+
+ \subsection{Bionomial coefficients and reversed delimiters}
+
+ Binomial coefficients often display with overly large parens. Versions under your control
+ are supplied.
+
+ At one time one saw open intervals expressed as
+ \[
+ \nrp{a,b} \quad\text{ or }\quad \rpqs{c,d}.
+ \]
+ This package provides paired delimeters at the 5 sizes,
+ with and without bold face, for those two
+ situations.
+ \begin{equation*}
+ \begin{matrix}
+\text{The command}& \quad\text{ typesets as }&\quad \text{common name}&\quad \text{Sizes/BF version}\\
+ \texttt{$\backslash$bnom$\{\#1\}\{\#2\}$}&\bnom{\#1}{\#2}&\text{binomial coefficient}&5/yes\\\\
+ \texttt{$\backslash$bnomsq$\{\#1\}\{\#2\}$}&\bnomsq{\#1}{\#2}&\text{binomial coefficient}&5/yes\\\\
+ \texttt{$\backslash$bnomcrl$\{\#1\}\{\#2\}$}&\bnomcrl{\#1}{\#2}&\text{binomial coefficient}&5/yes\\\\
+ \texttt{$\backslash$bnomngl$\{\#1\}\{\#2\}$}&\bnomngl{\#1}{\#2}&\text{binomial coefficient}&5/yes
+ \\
+ \texttt{$\backslash$nrp\{$\backslash$\#1\}} &\nrp{\texttt{\#1}}& \text{reversed parens}&5/yes\\
+\texttt{$\backslash$rpqs\{$\backslash$\#1\}} & \rpqs{\texttt{\#1}}&\text{reversed square braces}&5/yes
+ \end{matrix}
+ \end{equation*}
+
+
+\subsection{More delimiters, including 2 for Valentine's Day}
+ \begin{equation*}
+ \begin{matrix}
+\text{The command}& \quad\text{ typesets as }&\quad \text{common name}&\quad \text{Sizes/BF version}
+ \\
+\backslash\texttt{stgt\{$\backslash$\#1\}} &\texttt{< \#1>} & \text{lessthan greaterthan}&5/yes\\
+\backslash\texttt{llgg\{$\backslash$\#1\}} &\texttt{$\ll$\#1$\gg$}&\text{muchless muchmore}&5/yes\\
+\backslash\texttt{valentine\{$\backslash$\#1\}}&\valentine{\texttt{\#1}} &\text{surrounded by love}&1/no\\
+\backslash\texttt{diamondsgbf\{$\backslash$\#1\}}&\diamondsgbf{\texttt{\#1}}& \text{buried in diamonds}&1/no
+ \end{matrix}
+ \end{equation*}
+
+ To make your own delimiter pairs, just adapt the models in the
+ \texttt{sty} file.
+ Note that the $\backslash$\texttt{B}... versions use
+ $\backslash$\texttt{pmb} (poor man's bold)
+ throughout because $\backslash$\texttt{boldsymbol}
+ does not work for all delimiters, while $\backslash$\texttt{pmb}
+ does. Some ``delimiters'' may not have
+ $\backslash$\texttt{big}(ger) versions so you will have to improvise, as here for
+ $\ll\dots\gg$.
+The larger versions of $\ll\dots\gg$ do not look great; they merely illustrate what can be naively
+ achieved.
+
+ The two Valentine delimiters must be in Math mode. If your beloved's name has spaces,
+ you will need to protect
+ the space(s) by preceding each one with
+ a $\backslash$\texttt{backslash} since
+ Math mode ignores unprotected spaces. The Valentines commands can be nested at least once:
+ \[
+\valentine{\ \diamondsgbf{\ Kim\ }\ }\qquad {\diamondsgbf{\ \valentine{Leslie}\ }}
+\qquad\valentine{\valentine{\valentine{\ \valentine{ Deniz }\ }}}.
+\]
+ Adjusting the space in the various pairs with $\backslash{\ }$'s may improve the look.
+\subsection{Easy to remember sizers}
+\texttt{delimseasy} includes
+versions of \LaTeX's
+built-ins:
+
+\[\begin{matrix}
+\text{New}&\text{\LaTeX\ built-in}\\
+ &\texttt{$\backslash$big}\\
+\backslash\texttt{bigb} &\texttt{$\backslash$Big}\\
+\backslash\texttt{bigbb} &\texttt{$\backslash$bigg}\\
+\backslash\texttt{bigbbb}&\texttt{$\backslash$Bigg}
+\end{matrix}\]
+\subsection{Revision history}
+2016/02/01. Added capital ``L'' and capital ``R'' option for
+single sided. Removed manual's references to ``l'' and ``r'' versions though
+they remain implemented for backward compatibility.
+
+Added ``D'' versions for those who prefer \LaTeX's choice for sizing.
+
+Added new delimiters: $\bnom{p+q}{q}$, $\llgg{\dots}$, $\valentine{\dots}$ and $\diamondsgbf{\dots}$.
+
+Added this subsection and information about the new delimiters.
+
+Many minor stylistic changes to manual.
+ \begin{comment}% testing, testing.........
+ reverse parens
+ \begin{align*}
+ \nrp{
+ \nrpb{
+ \nrpbb{
+ \nrpbbb{
+ \nrpbbbb{w}}}}}
+%%%%%%%%%%%%%
+% reverse bold paired square braces
+ \rpqs{
+ \rpqsb{
+ \rpqsbb{
+ \rpqsbbb{
+ \rpqsbbbb{z}}}}}
+%
+\end{align*}
+ %
+
+ stgt's
+ \begin{align*}
+&
+\rstgt
+\rstgtbb
+\rstgtbbb
+\rstgtbbbb
+%%
+\Brstgt
+\Brstgtb
+\Brstgtbb
+\Brstgtbbb
+\Brstgtbbbb\\
+& \stgt{\stgtb{\stgtbb{\stgtbbb{\stgtbbbb{w}}}}}\\
+&\Bstgt{\Bstgtb{\Bstgtbb{\Bstgtbbb{\Bstgtbbbb{w}}}}}\\
+&
+\lstgt
+\lstgtb
+\lstgtbb
+\lstgtbbb
+\lstgtbbbb
+%%
+\Blstgt
+\Blstgtb
+\Blstgtbb
+\Blstgtbbb
+\Blstgtbbbb
+ \end{align*}
+
+ parens, etc:
+\begin{align*}
+\Bprn{\Bprnb{\Bprnbb{\Bprnbb{\Bprnbbb{\Bprnbbb{}}}}}}&\quad\
+\end{align*}\begin{align*}
+ \Bsqpr{\Bsqprb{\Bsqprbb{\Bsqprbbb{\Bsqprbbbb{x}}}}}\\
+ \end{align*}\begin{align*}
+\Bcrl{\Bcrlb{\Bcrlbb{\Bcrlbbb{\Bcrlbbbb{z}}}}}
+\end{align*}\begin{align*}
+&\quad
+\Bflr{\Bflrb{\Bflrbb{\Bflrbbb{\Bflrbbb{47}}}}}\\
+\Bceil{\Bceilb{\Bceilbb{\Bceilbbb{\Bceilbbbb{2}}}}}&\quad\Bnglbbbb{\Bnglbbb{\Bnglbb{\Bnglb{\Bngl{x|y}}}}}\\
+\end{align*}
+\begin{align*}
+\Babsbbbb{\Babsbbb{\Babsbb{\Babsb{\Babs{f}}}}}&\quad \Bnrmbbbb{\Bnrmbbb{\Bnrmbb{\Bnrmb{\Bnrm{z}}}}}\\
+%\cardbbbb{\cardbbb{\cardbb{\cardb{\card{x}}}}}\\
+\Blprn{\Blprnb{\Blprnbb{\Blprnbb{\Blprnbbb{\Blprnbbb{x}}}}}}&\quad \Blsqpr{\Blsqprb{\Blsqprbb{\Blsqprbbb{\Blsqprbbbb{}}}}}\\
+\Blcrl{\Blcrlb{\Blcrlbb{\Blcrlbbb{\Blcrlbbbb{}}}}}&\quad
+\Blflr{\Blflrb{\Blflrbb{\Blflrbbb{\Blflrbbb{}}}}}\\
+\end{align*}
+\begin{align*}
+\Blceil{\Blceilb{\Blceilbb{\Blceilbbb{\Blceilbbbb{}}}}}
+&\quad\Blnglbbbb{\Blnglbbb{\Blnglbb{\Blnglb{\Blngl{x|y}}}}}\\
+\end{align*}
+\begin{align*}
+\Blabsbbbb{\Blabsbbb{\Blabsbb{\Blabsb{\Blabs{}}}}}
+&\quad \Blnrmbbbb{\Blnrmbbb{\Blnrmbb{\Blnrmb{\Blnrm{}}}}}\\
+\Brprn \Brprnb \Brprnbb \Brprnbb\Brprnbbb\Brprnbbb&\quad\ \Brsqpr{\Brsqprb{\Brsqprbb{\Brsqprbbb{\Brsqprbbbb{}}}}}\\
+\Brcrl{\Brcrlb{\Brcrlbb{\Brcrlbbb{\Brcrlbbbb{}}}}}&\quad
+\Brflr{\Brflrb{\Brflrbb{\Brflrbbb{\Brflrbbb{}}}}}\\
+\Brceil{\Brceilb{\Brceilbb{\Brceilbbb{\Brceilbbbb{}}}}}
+&\quad\Brnglbbbb{\Brnglbbb{\Brnglbb{\Brnglb{\Brngl{}}}}}\\
+\Brabsbbbb{\Brabsbbb{\Brabsbb{\Brabsb{\Brabs{}}}}}
+&\quad \Brnrmbbbb{\Brnrmbbb{\Brnrmbb{\Brnrmb{\Brnrm{}}}}}
+\\
+&\llgg{\llggb{\llggbb{X}}}%\llggbbb{\llggbbbb{X}}}}}\\
+&\Bllgg{\Bllggb{\Bllggbb{\Bllggbbb{\Bllggbbbb{X}}}}}
+\end{align*}
+\[
+ \bnom{{x+y}}{x}\quad\bnomb{x+y}{x}\quad\bnombb{x+y}{x}\quad\bnombbb{x+y}{x}\quad\bnombbbb{x+y}{x}
+ \]
+ \[
+ \Bbnom{{x+y}}{x}\quad\Bbnomb{x+y}{x}\quad\Bbnombb{x+y}{x}\quad\Bbnombbb{x+y}{x}\quad\Bbnombbbb{x+y}{x}
+ \]
+
+ \[
+ \bnomsq{{x+y}}{x}\quad\bnomsqb{x+y}{x}\quad\bnomsqbb{x+y}{x}\quad\bnomsqbbb{x+y}{x}\quad\bnomsqbbbb{x+y}{x}
+ \]
+ \[
+ \Bbnomsq{{x+y}}{x}\quad\Bbnomsqb{x+y}{x}\quad\Bbnomsqbb{x+y}{x}\quad\Bbnomsqbbb{x+y}{x}\quad\Bbnomsqbbbb{x+y}{x}
+ \]
+ \[
+ \bnomcrl{{x+y}}{x}\quad\bnomcrlb{x+y}{x}\quad\bnomcrlbb{x+y}{x}\quad\bnomcrlbbb{x+y}{x}\quad\bnomcrlbbbb{x+y}{x}
+ \]
+ \[
+ \Bbnomcrl{{x+y}}{x}\quad\Bbnomcrlb{x+y}{x}\quad\Bbnomcrlbb{x+y}{x}\quad\Bbnomcrlbbb{x+y}{x}\quad\Bbnomcrlbbbb{x+y}{x}
+ \]
+ \[
+ \bnomngl{{x+y}}{x}\quad\bnomnglb{x+y}{x}\quad\bnomnglbb{x+y}{x}\quad\bnomnglbbb{x+y}{x}\quad\bnomnglbbbb{x+y}{x}
+ \]
+ \[
+ \Bbnomngl{{x+y}}{x}\quad\Bbnomnglb{x+y}{x}\quad\Bbnomnglbb{x+y}{x}\quad\Bbnomnglbbb{x+y}{x}\quad\Bbnomnglbbbb{x+y}{x}
+ \]
+ \\[
+ \Dprn{\int}\quad\Dsqpr{\int}\quad\Dcrl{\int}\quad\Dngl{\int}
+ \]
+ \[
+ \Dceil{3}\quad\Dflr{pp}\quad\Dabs{\int}\quad\Dnrm{\int}\quad\Dstgt{kk}
+ \]
+ \end{comment} %end of testing
+\end{document}