%%%%%%%%%%%%%%%%%%%%%%%%%% % % 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