÷ƒ’À;è TeX output 1997.02.17:0947‹ÿÿÿÿ ª ýs o ýÞ’¿‡žóDÓítG®G®cmr17¹The–7tóÖÆG®G®cmss17ºbm“¹pacŒqk‘ÿäageŸùº¯ó!",š cmsy10¿ŽŽ“Ÿùº¯yŽŽŽŸ‘| ±óX«Q cmr12»Daš¬rvid–ê¨Carlisle“with“suppSŽort“b˜y“F‘ÿVrank“Mittelbac˜hŽŽŽŽŽŸ37’Ý 1997/02/14ŽŸ:Å‘Ió.ÂÖN ff cmbx12Ù1Ž‘aLËInŒÌtros3ductionŽŸç‘IóKñ`y cmr10²This–—apacš¸ãk‘ÿqÇage“de nes“commands“to“access“bGold“math“sym˜bGols.‘2vThe“basic“commandŽ¤ ‘Iis–ìŽó/ßê cmmi10µ ‘Ð’¸6²=‘ÇóDF‰” cmmib10Å ².Ž¡‘XÚ\bm–,‹²goGes“to“some“trouble“to“preserv¸ãe“the“spacing,‘bXso“that“for“instance“Ú\bm<Ž¡‘I²is–O{a“bGold“Å<“²but“with“the“correct“Ú\mathrel“²spacing“that“T‘þU>Ÿ'EŽ‘ãxX“giv¸ães“to“µ<².‘`9TheŽ¡‘Icalculations–Å6that“T‘þU>Ÿ'EŽ‘ãxX“needs“to“do“for“Ú\bm“²can“bGe“quite“in•¸ãv“olv“ed–Å6and“so“a“de nitionŽ¡‘Iform–UUis“pro¸ãvided.Ž¡‘XÚ\DeclareBoldMathCommand[¸hÞmath‘“çversion‘Äc¸iŽ‘A&nÚ]{¸hÞcmd‘‰¸iŽ‘³.Ú}{¸hÞmath‘“çexpr‘ÿ}'ession‘Äc¸iŽ‘NzRÚ}Ž¡‘X²De nes–FÚ\cmd“²to“bšGe“the“b˜old“form“of“the“math“expression.‘lÛThe“¸hÞmathŽ‘ )Šversion‘Äc¸iŽŽ¡‘I²defaults–UUto“`bGold'“(i.e.,“Ú\boldmath²).Ž¡‘XF‘ÿ*ªor–Ômrelativš¸ãely“simple“expressions,‘î5the“resulting“de nitions“are“v˜ery“ecien˜t,‘î5forŽ¡‘Iinstance‘UUafter:Ž¡‘IÚ\DeclareBoldMathCommand\balpha{\alpha}Ž¡‘I\balpha–CK²is“a“single“`mathcš¸ãhardef‘Ç'“tok˜en“prošGducing“a“b˜old“alpha,‘Fæand“so“is“just“asŽ¡‘Ifast–UUto“execute“as“Ú\alpha².Ž¡‘XThe›úabGo•¸ãv“e˜command˜is˜mainly˜in“tended˜for˜use˜in˜pac“k‘ÿqÇages.‘È·F‘ÿ*ªor˜oGccasionalŽ¡‘Iuse–õFin“LŸýó5‘üffóÙ“ Rcmr7±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“doGcumenš¸ãts,‘}and“for“compatibilit˜y“with“the“plain“T‘þU>Ÿ'EŽ‘ãxX“suppGort“for“theŽ¡‘Imath•¸ãtime›à™fon“ts,‘÷òa˜`user-lev“el'˜v“ersion,‘÷òÚ\bmdefine˜²is˜pro“vided˜that˜is˜equiv‘ÿqÇalen“t˜to:Ž¡‘IÚ\DeclareBoldMathCommand[bold]².Ž¡‘XIf–Õéthere“is“a“`heaš¸ãvy'“math“v˜ersion“de ned“(usually“accessed“b˜y“a“user-commandŽ¡‘IÚ\heavymath²)–nÑthen“a“similar“command“Ú\hm“²is“de ned“whic¸ãh“access“these“`ultra“bGold'Ž¡‘Ifon•¸ãts.‘jßCurren“tly–@œthis“is“probably“only“useful“with“the“`mathš¸ãtime“plus'“fon˜t“collec-Ž¡‘Ition.‘HDe nitions–Ø3of“commands“that“use“these“fonš¸ãts“ma˜y“bGe“made“b˜y“spGecifying“theŽ¡‘Ioptional–Ä‚argumenš¸ãt“`hea˜vy'“to“Ú\DeclareBoldMathCommand².‘AAgain“an“abbreviation,Ž¡‘IÚ\hmdefine²,–UUis“proš¸ãvided,“equiv‘ÿqÇalen˜t“to:Ž¡‘IÚ\DeclareBoldMathCommand[heavy]².Ž¡‘XThe–D@command“names“(but“not“the“implemenš¸ãtation)“are“tak˜en“from“Mic˜haelŽ¡‘ISpiv‘ÿqÇak's–ë­macros“to“suppGort“the“mathš¸ãtime“fon˜ts“for“plain“T‘þU>Ÿ'EŽ‘ãxX.‘4ÎIn“those“originalŽ¡‘Imacros,‘k]the–3Âsynš¸ãtax“for“Ú\bmdefine“²w˜as“Ú\bmdefine\balpha{\bm\alpha}“²(with“aŽ¡‘Inested–UUÚ\bm²).‘qÇThis“synš¸ãtax“also“w˜orks“with“this“pac˜k‘ÿqÇage.Ž‘IŸæf‰ffÿrŸ @‘ ÷ˆŸý-:ó#q¡% cmsy6ÎŽŽ‘LÜó|{Ycmr8ÉThis–ÕX le“has“všÃŽersion“n˜um˜bŸ'EŽ‘ãxX“already“declares.‘‡AThe“mathš¸ãtime“pac˜k‘ÿqÇage“also“declares“an“extraŽ¡‘Isym•¸ãbGol›°ñfon“t,‘ÇØbringing˜the˜total˜to˜t“w“elv“e.‘„œThe˜maxim“um˜n“um“bGer˜of˜sym“bGol˜ÞandŽ¡‘I²math–~¼alphabšGet“fon¸ãts“that“can“b˜e“used“in“a“math“v¸ãersion“is“sixteen.‘íüSo“the“ab˜o•¸ãv“eŽ¡‘IallošGcation–<´sc¸ãheme“do˜es“not“lea•¸ãv“e–<´ro˜om“for“manš¸ãy“extra“math“sym˜bGols“(suc˜h“as“theŽ¡‘IAMS–UUsym¸ãbšGols)“or“math“alphab˜ets“(suc¸ãh“as“Ú\mathit²).Ž¡‘XBefore–@Œloading“the“ó4m#½R cmss10ßbm“²pacš¸ãk‘ÿqÇage“y˜ou“ma˜y“de ne“Ú\bmmax“²and“Ú\hmmax“²to“bGe“suit-Ž¡‘Iable–…†v‘ÿqÇalues,‘‘’for“instance“yš¸ãou“ma˜y“w˜an˜t“to“set“Ú\newcommand\hmmax{0}“²if“y˜ou“willŽ¡‘Inot–UUbGe“using“Ú\hm“²m•¸ãuc“h,–UUbut“yš¸ãou“do“ha˜v˜e“a“hea˜vy“math“v˜ersion“de ned.Ž¡‘XEvš¸ãen–ü¼if“Ú\bmmax“²is“set“to“zero,‘&–Ú\bm“²will“still“access“the“correct“bGold“fon˜ts“(b˜yŽ¡‘Iaccessing–qÆthe“fonš¸ãts“via“Ú\boldmath²)“but“this“methoGd“is“slo˜w˜er,‘xãand“doGes“not“w˜orkŽ¡‘Iwith–âdelimiters.‘ %Delimiters“can“only“bšGe“made“b˜old“if“the“b˜old“fon¸ãt“has“b˜eenŽ¡‘IalloGcated.Ž¡‘XCon•¸ãv“ersely–¥»if“yš¸ãou“ha˜v˜e“a“non“standard“fon˜t“set“that“mak˜es“a˜v‘ÿqÇailable“extra“mathŽ¡‘Idelimiters–“«and“accenš¸ãts“in“bGold“and“medium“w˜eigh˜ts“y˜ou“ma˜y“w˜an˜t“to“Þincr–ÿ}'e“aseŽ¡‘IÚ\bmmax–UU²so“that“fonš¸ãts“are“alloGcated“for“y˜our“fon˜t“set.ŽŸ ÑIÙ3Ž‘aLËF‘þ¦featuresŽ¦‘I²In–8wmost“cases“this“pacš¸ãk‘ÿqÇage“should“w˜ork“in“a“fairly“self“explanatory“w˜a˜y‘ÿ*ª,‘>=but“thereŽ¡‘Iare–UUsome“things“that“mighš¸ãt“not“bGe“ob˜vious.ŽŸ¯†‘IóÂÖN  cmbx12Á3.1Ž‘gÀIn teraction–€with“Math“Alphab`et“CommandsŽŸuT‘I²As–9ðmenš¸ãtioned“abGo˜v˜e,‘?jÚ\bm“²goGes“to“some“trouble“to“try“to“mak˜e“a“command“that“isŽ¡‘Ijust–Û;likš¸ãe“its“argumen˜t,‘ü´but“using“a“bGold“fon˜t.‘xThis“doGes“not“alw˜a˜ys“proGduce“theŽ¡‘Ie ect–UUthat“yš¸ãou“migh˜t“expGect.ŽŸ’w‘M¹–ó5ߤN cmtt9à$1–¹–g“\bm{g}$Ž¤ ‘M¹–$2–¹–\mathrm{g“\bm{g}}$Ž¡‘M¹–$3–¹–{g}“\bm{{g}}$Ž¡‘M¹–$4–¹–\mathrm{{g}“\bm{{g}}}$Ž¡‘M¹–$5–¹–\mathrm{g}“\bm{\mathrm{g}}$Ž¤’w‘I²proGduces–UUthe“follo¸ãwing:Ž¡‘I1µg•[ÙÅg‘´&²2ggŽ‘ xä3µg“ÅgŽŽ‘ ‚ó²4g#ÅgŽŽŽ‘J¨²5g#óò"V cmbx10ÂgŽŽŽ¡‘I²In–Áƒmath“mošGde“`g'“is“e ectiv¸ãely“a“command“that“pro˜duces“the“letter“`g'“from“theŽ¤ ‘I`letters'–Þ=alphabšGet,‘öunless“a“Math“Alphab˜et“command“is“in“e ect,‘öin“whic¸ãh“case“theŽ¡‘I`g'–äWcomes“from“the“spšGeci ed“alphab˜et.‘LÚ\bm{g}“²makš¸ães“an“equiv‘ÿqÇalen˜t“command,‘úðbutŽ¡‘Iwhic¸ãh–Çþdefaults“to“a“bšGold“letter“alphab˜et.‘ÉÃSo“in“the“ rst“example“Ú\bm{g}“²is“b˜oldŽ¡‘Imath–Xitalic,‘¾but“in“the“second“example“the“Ú\mathrm“²applies“to“bGoth“Úg“²and“Ú\bm{g}Ž¡‘I²in–UUthe“same“w•¸ãa“y‘ÿ*ª,–UUand“so“they“are“bGoth“roman.Ž¡‘XÚ\bm–°Í²only“inspGects“the“`top“lev¸ãel'“de nition“of“a“command,‘ѵfor“more“complicatedŽ¡‘Iexpressions,›J and–G:an¸ãything“inside“a“Ú{‘?ý}“²group,˜Ú\bm“²forces“bGold“fonš¸ãts“b˜y“essen˜tiallyŽŽŸ’ø2ŽŽŒ‹ ô ª ýs o ý´‘I²the–Üusame“(sloš¸ãw)“tec˜hnique“used“b˜y“the“AMS‘ÜVÚ\boldsymbol“²command“(but“Ú\bm“²stillŽ¤ ‘Itakš¸ães–¡ƒmore“care“of“the“spacing).‘VPSo“the“third“example“proGduces“iden˜tical“outputŽ¡‘Ito–UUthe“ rst“(but“T‘þU>Ÿ'EŽ‘ãxX“tak¸ães“more“time“proGducing“it).Ž¡‘XIn–Zthe“fourth“example“the“Ú\mathrm{\bm{g}}“²is“essenš¸ãtially“equiv‘ÿqÇalen˜t“toŽ¡‘IÚ\mathrm{\mbox{\boldmath$g$}}².‘ ÙÞCurren¸ãtly–Í]math“alphabGet“settings“are“notŽ¡‘Ipassed–ð¸do¸ãwn“to“`nested'“math“lists,›W‘and“so“in“this“example,˜the“Ú\mathrm“²hasŽ¡‘Ino–UUe ect,“and“a“bGold“math“italic“Åg‘´&²is“obtained.Ž¡‘XSimilarly–™othe“last“example“is“equiv‘ÿqÇalen¸ãt“to“Ú$\mbox{\boldmath$\mathrm{g}$}}Ž¡‘I²and–UUso“in“this“case,“one“obtains“a“bGold“roman“Âg².Ž©þ6‘IÁ3.2Ž‘gÀDelimitersŽŸuT‘I²T‘þU>Ÿ'EŽ‘ãxX–Acan“treat“cš¸ãharacter“tok˜ens“in“t˜w˜oŸü^ÿ±1ŽŽ‘¾²w˜a˜ys.‘6tIf“there“is“a“preceding“Ú\left“²orŽ¡‘IÚ\right–ñÞ²it“can“treat“them“as“a“delimiter,‘Ãotherwise“it“can“treat“them“as“a“standardŽ¡‘Icš¸ãharacter.‘+0F‘ÿ*ªor–example“Ú\left<\right>“²proGduces“¸hŽ‘eiŽŽ‘ H­²,‘«êwhic˜h“is“totally“di eren˜t“fromŽ¡‘IÚ<>²,–UUwhic¸ãh“proGduces“µ<>².Ž¡‘XT‘þU>Ÿ'EŽ‘ãxX–êcan“only“do“this“for“cš¸ãharacter“tok˜ens.‘NCommands“suc˜h“as“Ú\langle“²do“notŽ¡‘Iact–eoin“this“w•¸ãa“y‘ÿ*ª.‘!ÐThis–eomeans“that“Ú\bm“²has“to“decide“whether“to“treat“a“c¸ãharacter“as“aŽ¡‘Idelimiter–é%or“not.‘M·The“rule“it“uses“is,‘þÉit“makš¸ães“a“delimiter“command“for“a“c˜haracterŽ¡‘Iif–Ø:the“previous“tokš¸ãen“in“the“argumen˜t“w˜as“Ú\left“²or“Ú\right².‘HSo“Ú\left\bm{<}“²doGesŽ¡‘Inot–UUw¸ãork,“but“Ú\bm{\left<}“²doGes.Ž¦‘IÁ3.3Ž‘gÀCommand‘€Argumen tsŽ©uT‘I²Normally–Õ¢if“a“command“takš¸ães“argumen˜ts“the“full“command,‘õµincluding“an˜y“argu-Ž¡‘Imen¸ãts,–UUshould“bGe“included“in“Ú\bm².Ž¡‘XSo–öDÚ\bm{\overbrace{abc}}“²(proGducingŸö9“óú±u cmex10«z}|{ŽŽŸ ñÇ‘ aÅabcŽŽŽŽŽŽŽ‘öP²)“not“Ú\bm{\overbrace}{abc}².‘T•IfŽ¡‘Iyš¸ãou–UUdo“not“include“all“the“argumen˜ts“y˜ou“will“t˜ypically“get“the“error“message:Ž¡‘IÚRunaway‘?ýargument?Ž¡‘I!–?ýForbidden“control“sequence“found“while“scanning“use“of‘UU...Ž¡‘X²Ho•¸ãw“ev“er–Aïcommands“de ned“in“terms“of“the“T‘þU>Ÿ'EŽ‘ãxX“accenš¸ãt“and“radical“primitiv˜esŽ¡‘IÞmay‘]*²bšGe–z­used“without“their“argumen¸ãts.‘(åSo“Ú\bm{\hat}{a}“²pro˜duces‘?FÂ^Ž“µaŽŽ‘Ãݲ,‘¦ha“b˜old“accen¸ãtŽ¡‘Io•¸ãv“er–mxa“non-bšGold“µa“²(compare‘’^Ž“µaŽŽ‘¶¨²)“whereas“Ú\bm{\hat{a}}“²mak¸ães“b˜oth“the“µa“²and“theŽ¡‘Iaccenš¸ãt–)bGold,‘jxÂ^Ž‘ eÅaŽŽ‘ t‰².‘[¹Similarly‘ÿ*ª,‘ ealthough“the“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“command“Ú\sqrt“²m˜ust“bGe“used“withŽ¡‘Iits–uÂargumenš¸ãts,‘¢zÚ\sqrtsign“²ma˜y“bšGe“used“as“in“Ú\bm\sqrtsign{abc}“²to“pro˜duce“Ÿ÷“êóàÉŒ cmbsy10ÈpŽ‘ Ÿ÷“ꉙ™ 絟lµabcŽŽŽŽ¡‘I²rather–UUthan“Ÿ÷zP¸pŽ‘ ª¬Ÿ÷zP‰fe 絟…°µabcŽŽŽ‘網or“Ÿ÷“êÈpŽ‘ ꧟÷“ꉙ™«ÓŸlÅabcŽŽŽŽ¡‘X²If–5˜yš¸ãou“really“need“to“mak˜e“a“command“with“argumen˜ts“use“bGold“fon˜ts“withoutŽ¡‘Imaking–Šall“of“the“argumenš¸ãts“bGold,‘æy˜ou“can“explicitly“reset“the“math“v˜ersion“in“theŽ¡‘Iargumen¸ãt,‘UUeg:ŽŸqÇŸùæd‘NÚ\sqrt{xyz}ŽŽ’Œâ\bm{\sqrt{xyz}}ŽŽ’å?µ\bm{\sqrt{\mbox{\unboldmath$xyz$}}}ŽŽŽ¡‘\ ­ŸùÄû¸pŽ‘dbŸùÄû‰fe2Ÿ;µxy[ÙzŽŽŽŽ’¥ª-ŸùÌÎÈpŽ’¯?ŸùÌΉ™™ÕëŸ32Åxy^ÑzŽŽŽŽ’4L?ŸùÞ•ÈpŽ’=á‘ŸùÞ•‰™™2Ÿ!kµxy[ÙzŽŽŽŽŽŽŽŽŸ ÓŠ‘IÁ3.4Ž‘gÀBold‘€fon tsŽ¦‘I²This–~5pacš¸ãk‘ÿqÇage“in˜terrogates“the“fon˜t“allošGcations“of“the“b˜old“and“heaš¸ãvy“math“v˜ersions,Ž¡‘Ito–ñdetermine“whicš¸ãh“bGold“fon˜ts“are“a˜v‘ÿqÇailable.‘P^This“means“that“it“is“bGest“to“load“theŽ¡‘Ipac•¸ãk‘ÿqÇage› ­Þafter‘ :²an“y˜pac“k‘ÿqÇages˜that˜de ne˜new˜sym“bGol˜fon“ts,‘:ƒor˜(lik“e˜the˜ßmathtimeŽ¡‘I²pacš¸ãk‘ÿqÇage)–UUcompletely“c˜hange“the“sym˜bGol“fon˜t“alloGcations.Ž‘IŸæf‰ffÿrŸ J=‘ "5Ÿý-:ó¹Aa¨cmr6Ê1ŽŽŽ‘LÜÉW›ÿJªell–ÕXmore“than“t•ÃŽw“o‘ÕXreally˜.ŽŽŸ’ø²3ŽŽŒ‹½ ª ýs o ý´‘X²If–Dino“bšGold“fon¸ãt“app˜ears“to“b˜e“aš¸ãv‘ÿqÇailable“for“a“particular“sym˜bšGol,‘zÿÚ\bm“²will“use“`p˜o˜orŽ¤ ‘Iman's–V{bGold'“that“is,‘VÄo•¸ãv“erprin“ting–V{the“same“cš¸ãharacter“in“sligh˜tly“o set“pGositions“toŽ¡‘Igiv¸ãe–UUan“appšGearance“of“b˜oldness.Ž¡‘XIn–‘the“standard“Computer“MošGdern“fon¸ãt“set,‘+`there“is“no“b˜old“`large“sym¸ãb˜ols'Ž¡‘Ifonš¸ãt.‘S7In–ù¤the“`mathptm'“and“(standard)“math˜time“fon˜t“sets“there“are“no“bGold“mathŽ¡‘Ifonš¸ãts.‘ØjIn–w‹the“`math˜time“plus'“fon˜t“set“there“are“suitable“fon˜ts“for“bGold“and“hea˜vyŽ¡‘Imath–¿«setting,‘Ú@and“so“Ú\bm“²and“Ú\hm“²wš¸ãork“w˜ell.‘°ÈSimilarly“in“the“basic“Lucida“NewŽ¡‘IMath–UÊfonš¸ãt“set“there“are“no“bGold“math“fon˜ts,‘•çso“Ú\bm“²will“use“`p•Go“or–UÊman's“bGold.Ž¡‘IHo•¸ãw“ev“er–_áif“the“Lucida“ExpGert“set“is“used,›b„Then“Ú\bm“²will“detect,˜and“use“the“bGoldŽ¡‘Imath–UUfonš¸ãts“that“are“a˜v‘ÿqÇailable.Ž¡‘XAs–)pdiscussed“abGo•¸ãv“e,‘28one›)pma“y˜set˜Ú\bmmax˜²higher˜or˜lo“w“er˜than˜its˜default˜v‘ÿqÇalueŽ¡‘Iof–‘‡four“to“conš¸ãtrol“the“fon˜t“alloGcation“system.‘&]Finer“con˜trol“ma˜y“bGe“gained“b˜yŽ¡‘Iexplicitly–2declaring“bšGold“sym¸ãb˜ol“fon¸ãts.‘]Supp˜ose“yš¸ãou“ha˜v˜e“a“sym˜bGol“fon˜t“`xyz'“thatŽ¡‘Iis–Ä”aš¸ãv‘ÿqÇailable“in“medium“and“bGold“w˜eigh˜ts,‘á‡then“y˜ou“w˜ould“declare“this“to“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“via:Ž¡‘IÚ\DeclareSymbolFont{extras}‘ ú{OMS}{xyz}{m}{n}Ž¡‘I\SetSymbolFont{extras}{bold}{OMS}{xyz}{bx}{n}Ž¡‘I²Aš¸ãt–‹·this“pGoin˜t“the“sym˜bšGols“wil“b˜e“aš¸ãv‘ÿqÇailable“in“the“normal“math“v˜ersion,‘™Oand“theirŽ¡‘IbGold–UUv‘ÿqÇarianš¸ãts“in“Ú\boldmath².‘qÇIf“y˜ou“also“declare:Ž¡‘IÚ\DeclareSymbolFont{boldextras}{bold}{OMS}{xyz}{bx}{n}Ž¡‘I²That–R¤is,‘†adeclare“a“symš¸ãbGol“fon˜t“whose“name“is“formed“b˜y“pre xing“`bGold'“(or“`hea˜vy')Ž¡‘Ito–*,an“existing“symš¸ãbGol“fon˜t,‘_athen“Ú\bm“²(or“Ú\hm²)“will“use“this“fon˜t“directly‘ÿ*ª,‘_aratherŽ¡‘Ithen–UUaccessing“the“`extras'“symš¸ãbGol“fon˜t“via“Ú\boldmath².ŽŸþ6‘IÁ3.5Ž‘gÀStrange‘€failuresŽŸuT‘I²In–Ó”order“to“get“the“correct“spacing,‘ó$Ú\bm“²has“to“`in•¸ãv“estigate'–Ó”the“de nition“of“theŽ¡‘Icommands–Ò–in“its“argumen¸ãt.‘é‰It“is“pGossible“that“some“strange“constructions“couldŽ¡‘I`confuse'–`Þthis“in•¸ãv“estigation.‘”aIf–`Þthis“happGens“then“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“will“almost“certainly“stopŽ¡‘Iwith–]Úa“strange“error.‘IThis“should“not“happGen“with“anš¸ãy“of“the“math“sym˜bGols“de nedŽ¡‘Iin–c4the“base“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“or“AMS‘b÷distributions,‘“¡or“an¸ãy“commands“de ned“in“terms“of“thoseŽ¡‘Isymš¸ãbGols–¶lusing“normal“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“math“constructs.‘<ÏHo˜w˜ev˜er“if“some“command“doGes“failŽ¡‘Ito–Swš¸ãork“inside“Ú\bm“²y˜ou“should“alw˜a˜ys“bGe“able“to“surround“it“with“an“extra“set“ofŽ¡‘Ibraces– ÑÚ\bm{{\cmd}}“²rather“than“Ú\bm{\cmd}².‘YñÚ\bm“²will“not“then“attempt“to“set“theŽ¡‘Icorrect–Ñ9spacing,‘ð2so“yš¸ãou“ma˜y“need“to“set“it“explicitly‘ÿ*ª,›ð2for“instance,˜for“a“relation,Ž¡‘IÚ\bm{\mathrel{\cmd}}².ŽŸ!Ä‘IÙ4Ž‘aLËImplemenŒÌtationŽŸç‘I²The–ÀŠcommands“Ú\bm“²and“Ú\hm“²wš¸ãork“b˜y“de ning“a“n˜um˜bGer“of“additional“sym˜bGol“fon˜tsŽ¡‘IcorrespšGonding–ºdto“the“standard“ones“`op˜erators',–Ùa`letters',“`sym¸ãb˜ols',“and‘ºd`largesym-Ž¡‘IbšGols'.‘.äThe–Œ«names“for“these“sym¸ãb˜ols“fon¸ãts“are“pro˜duced“b¸ãy“pre xing“the“usual“nameŽ¡‘Iwith–UU`bGold'“or“`hea¸ãvy'.Ž¡‘XF‘ÿ*ªor–v¸ãersion“if“they“are“to“bšGe“used“with“Ú\bm².‘Vj(In“these“cases“Ú\bm“²will“pro˜duce“theŽ¡‘Inormal›UUw•¸ãeigh“t˜sym“b•Gol,˜rather˜than˜using˜Ú\boldmath˜²or˜p“o“or˜man's˜b“old.)ŽŸþë‘Lüs±2Ž‘Sª®à\def\bm#1#2{%ŽŸþë‘I²This–ÁœcoGde“can“not“wš¸ãork“inside“a“group,‘­as“that“w˜ould“a ect“an˜y“sym˜bGol“fon˜tŽ¡‘IalloGcations,‘]so–Ÿinstead“use“some“scratcš¸ãh“macros“to“sa˜v˜e“and“restore“the“de nitionsŽ¡‘Iof–UUcommands“wš¸ãe“need“to“c˜hange“loGcally‘ÿ*ª.Ž© u‘Lüs±3Ž‘]Úà\let\bm@pmb\install@mathalphabetŽ¤ ‘Lüs±4Ž‘]Úà\let\bm@pmb@\getanddefine@fontsŽ¡‘Lüs±5Ž‘]Úà\let\bm@pmb@@\orŽ¡‘Lüs±6Ž‘]Úà\edef\bm@general{\f@encoding/\f@family/\f@series/\f@shape/\f@size}%ŽŸu‘XÚ#2–´\²spGeci es“the“maximš¸ãum“n˜um˜bGer“of“fon˜ts“to“alloGcate“(either“Ú\bmmax“²orŽ¤ ‘IÚ\hmmax²).‘qcFirst›T*c•¸ãhec“k˜against˜Ú\count18˜²that˜there˜are˜that˜man“y˜slots˜left,‘Tfand˜ifŽ¡‘Inot–UUreduce“accordingly‘ÿ*ª.‘qÇPut“the“resulting“v‘ÿqÇalue“in“Ú\@tempcnta².Ž¦‘Lüs±7Ž‘]Úà\@tempcnta#2%Ž¤ ‘Lüs±8Ž‘]Úà\count@-\count18%Ž¡‘Lüs±9Ž‘]Úà\advance\count@-\@tempcntaŽ¡‘I±10Ž‘]Úà\advance\count@15\relaxŽ¡‘I±11Ž‘]Úà\ifnum\count@<\z@Ž¡‘I±12Ž‘f‘à\advance\@tempcnta\count@Ž¡‘I±13Ž‘]Úà\fiŽŸu‘I²Makš¸ãe–؆Ú\or“²non-expandable,‘ùRso“w˜e“can“build“an“Ú\ifcase“²bit-b˜y-bit“in“a“sequenceŽŸ ‘Iof‘UUÚ\edef²s.Ž‘IŸº‰ffÿrŸ J=‘ "5Ÿý-:Ê2ŽŽŽ‘LÜÉF‘ÿJªor‘ÕXnoÃŽw?ŽŽŸ’ø²5ŽŽŒ‹=Í ª ýs o ý´‘I±14Ž‘]Úà\let\or\relaxŽ¤躑X²Initialise–UUthe“table“(to“Ú\@gobble“²to“remo•¸ãv“e–UUthe“ rst“Ú\or²).Ž© 躑I±15Ž‘]Úà\expandafter\let\csname‘¹–bm@#1table\endcsname\@gobbleŽ¡‘X²HelpšGer–UUmacro“that“adds“the“next“en¸ãtry“to“the“table“b˜eing“built.Ž¦‘I±16Ž‘]Úà\def\bm@define##1{%Ž¤ ‘I±17Ž‘f‘à\expandafter\xdef\csname‘¹–bm@#1table\endcsname{%Ž¡‘I±18Ž‘p2à\csname‘¹–bm@#1table\endcsname\or##1}}%ŽŸ躑X²Eac•¸ãh›UUsym“bGol˜fon“t˜is˜recorded˜in˜the˜math˜v“ersion˜list˜b“y˜a˜sequence˜suc“h˜as:Ž¤ ‘N?ýÚ\getanddefine@fonts–?ý\symsymbols“\OMS/cmsy/m/nŽ¡‘I²Where–Mžthe“ rst“argumenš¸ãt“is“a“c˜hardef“tok˜en“carrying“the“n˜um˜bšGer“allo˜cated“(toŽ¡‘Isym¸ãbGols,›in–¯this“example),˜and“the“second“argumen¸ãt“is“a“csname“whose“ÞnameŽ¡‘I²denotes–ÎÓthe“fon¸ãt“used.‘ÞBSo“loGcally“rede ne“Ú\getanddefine@fonts“²to“compare“Ú#2Ž¡‘I²with–UUthe“name“in“the“appropriate“slot“in“the“bGold“math“v¸ãersion.Ž¦‘I±19Ž‘]Úà\def\getanddefine@fonts##1##2{%Ž© ‘I±20Ž‘f‘à\def\@tempa{##2}%Ž¤Ñt‘I±21Ž‘f‘à\def\@tempb####1##1####2####3\@nil{\def\@tempb{####2}}%Ž¡‘I±22Ž‘f‘à\expandafter\expandafter\expandafterŽ¦‘I±23Ž‘p2à\@tempb\csname‘¹–mv@#1\endcsname\@nilŽŸÑt‘X²Noš¸ãw–5VÚ\@tempa“²and“Ú\@tempb“²con˜tain“the“names“of“the“fon˜ts“alloGcated“to“thisŽŸ ‘Islot–UUin“the“t•¸ãw“o–UUmath“v¸ãersions.Ž¤ 躑I±24Ž‘f‘à\ifx\@tempa\@tempbŽŸ躑I²If–UUthey“are“the“same,“set“this“o set“to“¸²1,“as“a“ ag“to“use“p•Go“or–UUman's“bGold.Ž¡‘I±25Ž‘p2à\bm@define\m@neŽ¦‘I±26Ž‘f‘à\elseŽŸ躑I²Else–CÈmakš¸ãe“a“new“name“b˜y“adjoining“Ú#1“²to“the“name“of“the“sym˜bGol“fon˜t“eg,Ž¤ ‘IÚ\symboldsymbols–Ìv²to“matcš¸ãh“Ú\symsymbols².‘×*If“that“fon˜t“has“already“bGeen“allo-Ž¡‘Icated,‘ºor–ë”if“Ú\@tempcnta“²is“pGositivš¸ãe“so“w˜e“can“alloGcate“a“new“slot“for“this“fon˜t,‘ºthenŽ¡‘Ithe–õ’table“will“bšGe“set“with“the“o set“b˜et•¸ãw“een–õ’the“t•¸ãw“o›õ’fon“ts.‘QÜotherwise˜set˜the˜o setŽ¡‘Ito–UUzero“(so“Ú\boldmath“²will“bGe“used“to“access“the“fon¸ãt).ŽŸ 躑I±27Ž‘p2à\edef\@tempa{sym#1\expandafter\@gobblefour\string##1}%Ž¦‘I±28Ž‘p2à\ifnum\@tempcnta<%Ž¦‘I±29Ž’‡¤ à\expandafter\ifx\csname\@tempa\endcsname\relaxŽ¦‘I±30Ž’‘Là\@neŽ¦‘I±31Ž’‡¤ à\elseŽ¦‘I±32Ž’‘Là\m@neŽ¦‘I±33Ž’‡¤ à\fiŽŸÑt‘I±34Ž‘yw^à\bm@define\z@Ž¦‘I±35Ž‘p2à\elseŽŸÑt‘X²If–VËthe“fonš¸ãt“is“not“y˜et“allo•Gcated,‘—(allo“cate–VËit“no˜w,‘—(using“an“in˜ternal“hac˜k“in˜toŽ¡‘IÚ\DeclareMathSymbolFont².Ž¡‘XHo•¸ãw“ev“er–ò>bšGefore“allo˜cating“it“lo˜ok“in“the“b˜old“math“v¸ãersion“to“see“if“it“is“theŽ¡‘Isame,‘©and–˜·if“so“use“that.‘;ìF‘ÿ*ªor“example“with“Mathš¸ãtime“the“`opGerators'“fon˜t“in“theŽ¡‘I`heaš¸ãvy'–¬math“v˜ersion“is“di eren˜t“from“that“in“`normal',‘Á¼but“it“is“the“same“as“theŽ¡‘Ifon¸ãt–ûáin“`bšGold'“(Times“b˜old).‘SöSo“rather“than“allo˜cate“Ú\symheavyoperators“²just“setŽ¡‘Iit–UUequal“to“Ú\symboldoperators².ŽŸ 躑I±36Ž‘yw^à\expandafter\ifx\csname\@tempa\endcsname\relaxŽ¦‘I±37Ž’‚êŠà\begingroupŽŽŸ’ø²6ŽŽŒ‹N ª ýs o ý´‘I±38Ž’‚êŠà\escapechar\m@neŽ¤ ‘I±39Ž’‚êŠà\edef\@tempb{\endgroupŽ¡‘I±40Ž’Œ]¶à\noexpand\split@nameŽ¡‘I±41Ž’Œ]¶à\expandafter\string\@tempb}%Ž¡‘I±42Ž’‚êŠà\@tempb/\@nilŽŸZבI±43Ž‘~0ôà\expandafter\ifxŽ¡‘I±44Ž’‡¤ à\csname‘¹–symbold\expandafter\@gobblefour\string##1\endcsnameŽ¡‘I±45Ž’‡¤ à\relaxŽŸZבI²If–UUno“fon¸ãt“has“bšGeen“allo˜cated“for“Ú\bm“²y¸ãet,“then“allo˜cate“it“no¸ãw.Ž© ­k‘I±46Ž’Œ]¶à\expandafter\new@mathgroup\csname\@tempa\endcsnameŽ¡‘I±47Ž’Œ]¶à\expandafter\new@symbolfont\csname\@tempa\endcsnameŽ¡‘I±48Ž’ÀW(à\f@encoding\f@family\f@series\f@shapeŽŸ­k‘I²Reduce–UUbš¸ãy“one“the“n˜um˜bGer“of“fon˜ts“w˜e“can“still“alloGcate.Ž¦‘I±49Ž’Œ]¶à\advance\@tempcnta\m@neŽŸZבI±50Ž‘~0ôà\elseŽŸZבI²Else–[do“a“similar“lošGok“in¸ãto“the“b˜old“mathgroup.‘‚×Use“Ú\bm@expand“²as“a“scratc¸ãhŽŸ ‘Imacro–UUto“sa•¸ãv“e–UUon“string“space.Ž¦‘I±51Ž’‡¤ à\def\bm@expand####1##1####2####3\@nil{\def\bm@expand{####2}}%Ž¡‘I±52Ž‘f‘à\expandafter\expandafter\expandafterŽ¡‘I±53Ž’‡¤ à\bm@expand\csname‘¹–mv@bold\endcsname\@nilŽŸZבI±54Ž’‡¤ à\ifx\bm@expand\@tempbŽŸZבI²If–Öçthe“fonš¸ãt“just“found“(in“hea˜vy)“is“the“same“as“the“fon˜t“in“bGold“use“the“slot“(inŽŸ ‘Inormal)–UUpreviously“allošGcated“for“the“b˜old“fon¸ãt.‘qÇ(That“clear?)Ž¦‘I±55Ž’‘Là\expandafter\let\csname\@tempa\expandafter\endcsnameŽ¡‘I±56Ž’ŸDà\csname‘¹–symbold\expandafterŽ¡‘I±57Ž’žà\@gobblefour\string##1\endcsnameŽŸZבI±58Ž’‡¤ à\elseŽŸZבI²Otherwise–UUalloGcate“a“new“slot“for“it.Ž¦‘I±59Ž’‘Là\expandafter\new@mathgroup\csname\@tempa\endcsnameŽ¡‘I±60Ž’‘Là\expandafter\new@symbolfont\csname\@tempa\endcsnameŽ¡‘I±61Ž’ÀW(à\f@encoding\f@family\f@series\f@shapeŽ¡‘I±62Ž’‘Là\advance\@tempcnta\m@neŽ©ZבI±63Ž’‡¤ à\fiŽ¡‘I±64Ž‘~0ôà\fiŽ¦‘I±65Ž‘yw^à\elseŽŸZבI²If–UUthe“fon¸ãt“has“bšGeen“allo˜cated“already‘ÿ*ª,“use“the“existing“allo˜cation.Ž© ­k‘I±66Ž’‚êŠà\PackageInfo{bm}%Ž¡‘I±67Ž’Œ]¶à{Symbol–¹–font“\@tempa\space“already“defined.\MessageBreakŽ¡‘I±68Ž’‘LàNot–¹–overwriting“it}%Ž¡‘I±69Ž‘yw^à\fiŽŸ­k‘I²Whether–Nthe“fon¸ãt“has“just“bšGeen“allo˜cated,‘O‰or“whether“it“w¸ãas“previously“allo˜cated,ŽŸ ‘Icompute–UUthe“o set“and“add“it“to“the“table.Ž¦‘I±70Ž‘yw^à\count@\csname\@tempa\endcsnameŽ¡‘I±71Ž‘yw^à\advance\count@-##1%Ž¡‘I±72Ž‘yw^à\bm@define{\the\count@\relax}%Ž¡‘I±73Ž‘p2à\fiŽ¡‘I±74Ž‘f‘à\fi}%ŽŽŸ’ø²7ŽŽŒ‹Zr ª ýs o ý´‘X²The–‡math“vš¸ãersion“list“also“con˜tains“information“abšGout“math“alphab˜et“com-ŽŸ ‘Imands,–UUbut“wš¸ãe“w˜an˜t“to“ignore“those“here,“so“.–ªª.“.Ž¤‘I±75Ž‘]Úà\let\install@mathalphabet\@gobbletwoŽ©‘X²Haš¸ãving–eàset“up“the“loGcal“de nitions,‘•Äexecute“the“list“for“the“normal“math“v˜ersion.Ž¡‘I±76Ž‘]Úà\mv@normalŽ¦‘X²So–ˆ‡noš¸ãw“the“o sets“are“all“en˜tered“in˜to“the“table,‘•Sseparated“b˜y“Ú\or².‘ \Finish“o Ž¤ ‘Ithe–Étde nition“bš¸ãy“making“this“an“Ú\ifcase².‘C'Add“a“default“v‘ÿqÇalue“of“zero,‘ånso“that“an˜yŽ¡‘Isym•¸ãbGol›-ìfon“ts˜declared˜later˜will˜also˜w“ork,‘5Îas˜long˜as˜a˜bGold˜v“ersion˜is˜assigned˜toŽ¡‘Ithe–UUbGold“math“v¸ãersion.ŽŸ‘I±77Ž‘]Úà\expandafter\xdef\csname‘¹–bm@#1table\endcsname{%Ž¤ ‘I±78Ž‘f‘à\noexpand\ifcase\@tempcntaŽ¡‘I±79Ž‘p2à\csname‘¹–bm@#1table\endcsnameŽ¡‘I±80Ž‘f‘à\noexpand\elseŽ¡‘I±81Ž‘p2à\z@Ž¡‘I±82Ž‘f‘à\noexpand\fi}%Ž¦‘X²Put–UUthings“bacš¸ãk“as“they“w˜ere.Ž©‘I±83Ž‘]Úà\expandafter\split@name\bm@general\@nilŽ¡‘I±84Ž‘]Úà\let\install@mathalphabet\bm@pmbŽ¡‘I±85Ž‘]Úà\let\getanddefine@fonts\bm@pmb@Ž¡‘I±86Ž‘]Úà\let\or\bm@pmb@@}ŽŸ‘"ìæ\bmmaxŽŽŽ‘I²T‘ÿ*ªo›Ãsa•¸ãv“e˜declaring˜toGo˜man“y˜sym“bGol˜fon“ts,‘/do˜not˜auto-declare˜an“y˜more˜thanŽ¤ ‘IÚ\bmmax–år²bšGold“sym¸ãb˜ol“fonš¸ãts“in˜to“the“normal“math“v˜ersion.‘"An˜y“bGold“fon˜ts“not“soŽ¡‘IallošGcated–Â_will“b˜e“accessed“via“Ú\boldmath“²whicš¸ãh“is“slo˜w˜er“and“doGesn˜t“w˜ork“forŽ¡‘Idelimiters–dand“accenš¸ãts.‘ßIt“ma˜y“bGe“set“in“the“pream˜ble“with“Ú\newcommand“²but“useŽ¡‘IÚ\chardef–UU²here“for“a“sligh¸ãt“eciency“gain.Ž¡‘XIf–UUthis“is“set“to“a“higher“v›ÿqÇalue“bGefore“this“pac¸ãk˜age“is“loaded,“k¸ãeep“that“v˜alue.Ž¦‘I±87Ž‘Sª®à\ifx\bmmax\@undefinedŽ¤ ‘I±88Ž‘]Úà\chardef\bmmax=4Ž¡‘I±89Ž‘Sª®à\fiŽŸ‘X²If–'«there“is“no“bGold“math“vš¸ãersion,‘0ÍIt“is“v˜ery“easy“to“set“up“the“table,‘0Íno“need“toŽ¤ ‘Iuse–üDall“the“tric¸ãky“cošGde“ab˜o•¸ãv“e.‘TAlso,‘at–üDthe“end“of“the“pacš¸ãk‘ÿqÇage“rede ne“the“in˜ternalŽ¡‘Imacro–UUthat“Ú\bm“²uses“to“call“Ú\boldmath²,“to“use“p•Go“or–UUman's“bGold“instead.Ž¦‘I±90Ž‘Sª®à\ifx\mv@bold\@undefinedŽ¤ ‘I±91Ž‘]Úà\def\bm@boldtable{\m@ne}Ž¡‘I±92Ž‘]Úà\AtEndOfPackage{%Ž¡‘I±93Ž‘f‘à\def\bm@gr@up#1#2{%Ž¡‘I±94Ž‘p2à\bm@pmb{#2}}}Ž¡‘I±95Ž‘Sª®à\elseŽŸ‘I²Otherwise– use“the“de nition“of“Ú\bm“²abGo•¸ãv“e– to“set“up“Ú\bm@boldtable“²b¸ãy“comparingŽ¤ ‘Ithe–UUfonš¸ãts“a˜v‘ÿqÇailable“in“the“normal“and“bGold“math“v˜ersions.Ž¦‘I±96Ž‘]Úà\bm{bold}\bmmaxŽŸ‘3P\mathbfŽŽŽ‘I²As–)jthe“bšGold“fon¸ãt“has“b˜een“de ned“as“a“sym¸ãb˜ol“fon•¸ãt,‘^omak“e–)jÚ\mathbf“²access“thatŽ¡‘Irather–úthan“ha•¸ãv“e–úit“alloGcate“a“new“math“group“for“the“same“fon¸ãt.‘ap(Just“in“caseŽ¡‘Ithere–UUw¸ãere“no“free“slots“wrap“this“in“an“extra“test.)Ž¦‘I±97Ž‘]Úà\@ifundefined{symboldoperators}Ž¤ ‘I±98Ž‘f‘à{}Ž¡‘I±99Ž‘f‘à{\DeclareSymbolFontAlphabet\mathbf{boldoperators}}ŽŽŸ’ø²8ŽŽŒ‹ dŠ ª ýs o ý´‘E±100Ž‘Sª®à\fiŽŸ‘"ìæ\hmmaxŽŽŽ‘I²Same–‡¹for“heaš¸ãvy“(but“default“to“three“this“time“(enough“for“math˜time“plus,‘”Qas“noŽ© ‘Iheaš¸ãvy–UUopGerators“fon˜t).ŽŸ‘E±101Ž‘Sª®à\ifx\hmmax\@undefinedŽ¤ ‘E±102Ž‘]Úà\chardef\hmmax=3Ž¡‘E±103Ž‘Sª®à\fiŽŸ‘X²Similarly–þ™if“there“is“a“heaš¸ãvy“math“v˜ersion,‘òset“up“Ú\bm@heavytable².‘TÞ(If“there“isŽ¦‘Ino–ˆheaš¸ãvy“math“v˜ersion,›'ädo“nothing“here,˜as“Ú\hm“²will“bGe“set“to“Ú\bm“²later,˜once“thatŽ¦‘Iis‘UUde ned.)ŽŸ‘E±104Ž‘Sª®à\ifx\mv@heavy\@undefinedŽ¡‘E±105Ž‘Sª®à\elseŽ¡‘E±106Ž‘]Úà\bm{heavy}\hmmaxŽ¡‘E±107Ž‘Sª®à\fiŽŸ‘ Lø\bm@generalŽŽŽ‘IÚ\bm–¸ ²is“prettš¸ãy“m˜uc˜h“Ú\bmdefine\bm@command“²follo˜w˜ed“b˜y“executing“Ú\bm@command².Ž¦‘IIt–ÜËw¸ãould“in“principle“bšGe“p˜ossible“to“execute“the“em¸ãb˜oldened“tok¸ãens“directly‘ÿ*ª,‘ôçratherŽ¦‘Ithan–GÒbuilding“up“a“macro“ rst,‘J†but“(as“I‘GÎlearned“the“hard“w•¸ãa“y)–GÒit's“dicult“to“doŽ¦‘Ithis– âin“the“midst“of“all“these“nested“Ú\if“²constructs.‘TmFirst“extract“the“cen¸ãtral“bitŽ¦‘Iof–í¨coGde“for“Ú\hm“\bm“\hmdefine“²and“Ú\bmdefine².‘O8Note“that“in“the“case“of“the“inlineŽ¦‘Ivš¸ãersions–¬they“tak˜e“an“argumen˜t“and“brace“it,‘%šrather“than“relying“on“Ú\bm@generalŽ¦‘I²to–ƒOpicš¸ãk“up“the“argumen˜t.‘û´This“mak˜es“the“cošGde“robust“with“resp˜ect“to“prematureŽ¦‘Iexpansion.ŽŸ‘E±108Ž‘Sª®à\def\bm@general#1#2#3#4{%Ž¡‘E±109Ž‘]Úà\begingroupŽŸ‘I²First–pÊloGcally“disable“Ú\bm“²and“Ú\hm²,›w¨as“they“w¸ãould“mess“things“up“terribly‘ÿ*ª,˜and“theŽ¦‘Ioriginal–UUSpiv‘ÿqÇak“vš¸ãersions“used“the“syn˜tax“Ú\bmdefine\balpha{\bm\alpha}².Ž©‘E±110Ž‘f‘à\let\bm\@emptyŽ¡‘E±111Ž‘f‘à\let\hm\@emptyŽŸ‘I²Noš¸ãw–UUinitialise“The“commands“used“to“sa˜v˜e“the“tok˜ens“constructed.Ž¦‘E±112Ž‘f‘à\global\let\bm@command\@emptyŽ¡‘E±113Ž‘f‘à\let\@let@token\@emptyŽŸ‘I²As–¬¯wš¸ãe“w˜an˜t“to“expand“the“macros“to“loGok“at“their“de nition“turn“o “protection.ŽŸ ‘IOtherwise–UUthe“Ú\protect“²will“bGe“carried“o•¸ãv“er–UUand“apply“to“the“wrong“tok¸ãen,“eg“Ú{².Ž¦‘E±114Ž‘f‘à\let\protect\@emptyŽ¡‘E±115Ž‘f‘à\let\@typeset@protect\@emptyŽŸ‘I²Set–UUup“either“bGold“or“hea¸ãvyŽ¦‘E±116Ž‘f‘à\def\bm@mathchoice{\bm@m@thchoice#1}%Ž¡‘E±117Ž‘f‘à\def\bm@group{\bm@gr@up#1}%Ž¡‘E±118Ž‘f‘à\let\bm@table#2%ŽŸ‘I²These›UUt•¸ãw“o˜sa“v“e˜on˜the˜n“um“b•Ger˜of˜Ú\ifx˜²tests˜b“elo¸ãw.Ž¦‘E±119Ž‘f‘à\let\right\leftŽ¡‘E±120Ž‘f‘à\let\mskip\mkernŽŸ‘I²F‘ÿ*ªor–çooptional“argumenš¸ãt“commands.‘(This“expandable“v˜ersion“of“Ú\@ifnextchar“²isŽ¤ ‘Inot–ÞJ100%“safe,‘öbut“wš¸ãorks“for“Ú\sqrt“²unless“y˜ou“put“something“really“strange“in“theŽ¡‘Iargumen¸ãts.Ž¦‘E±121Ž‘f‘à\def\@ifnextchar##1##2##3##4{%ŽŸ ‘E±122Ž‘p2à\if##1##4%ŽŽŸ’ø²9ŽŽŒ‹ pÜ ª ýs o ý´‘E±123Ž‘yw^à\expandafter\@firstoftwoŽ¤ ‘E±124Ž‘p2à\elseŽ¡‘E±125Ž‘yw^à\expandafter\@secondoftwoŽ¡‘E±126Ž‘p2à\fiŽ¡‘E±127Ž‘p2à{##2##4}{##3{##4}}}%Ž©‘I²F‘ÿ*ªor–UUAMS“de nitions.ŽŸ‘E±128Ž‘f‘à\let\DN@\copyŽ¡‘E±129Ž‘f‘à\let\FN@\copyŽ¡‘E±130Ž‘f‘à\let\next@\copyŽ¡‘E±131Ž‘f‘à\global\let\bm@first\@emptyŽ¦‘I²Makš¸ãe–a1sure“things“lik˜e“Ú\pounds“²tak˜e“the“`math“branc˜h'“ev˜en“in“Ú\bmdefine“²(whic˜hŽ¤ ‘Iis–UUnot“executed“in“math“moGde).ŽŸ‘E±132Ž‘f‘à\let\ifmmode\iftrueŽ¦‘I²The–ð1last“rede nition“just“makš¸ães“Ú\mathit“²t˜ypGe“commands“re-insert“themselv˜esŽ¡‘I(more–6‚or“less)“as“if“they“are“allo•¸ãw“ed–6‚to“expand“they“die“horribly“if“the“expansionsŽ¡‘Iare–UUput“in¸ãto“Ú\mathchoice“²and“so“executed“more“than“once.ŽŸ‘E±133Ž‘f‘à\def\select@group##1##2##3##4{{%Ž¤ ‘E±134Ž‘p2à\protect##1{##4}}}%Ž¡‘E±135Ž‘f‘à\def\use@mathgroup##1##2##3{{%Ž¡‘E±136Ž‘p2à\protect\use@mathgroup##1{##2}{##3}}}%Ž¦‘X²So–UUnoš¸ãw“start“loGoking“at“the“argumen˜t.ŽŸ‘E±137Ž‘f‘à\bm@expand#4\bm@endŽ¡‘E±138Ž‘]Úà\endgroupŽ¦‘X²Finally–žcoutside“the“group“either“execute“Ú\bm@command“²(for“Ú\bm²)“or“sa•¸ãv“e‘žcitsŽ¤ ‘Ide nition–UU(for“Ú\bmdefine²).Ž©‘E±139Ž‘]Úà#3}ŽŸ‘1¨\bmŽŽŽ‘I²Set–íÀup“the“bGold“(rather“than“heaš¸ãvy)“v˜ersion,‘Ûand“run“Ú\bm@command“²righ˜t“at“theŽ¡‘Iend,–UUto“execute“the“emš¸ãbGoldened“argumen˜t.Ž¦‘E±140Ž‘Sª®à\DeclareRobustCommand\bm[1]{%ŽŸ ‘E±141Ž‘]Úà\bm@general\boldmath\bm@boldtable\bm@command{#1}}ŽŸ‘Ò™ð\DeclareBoldMathCommandŽŽ¡‘ Lø\bm@declareŽŽŽŽŽ‘IÚDeclareBoldMathCommand[¸hÞmathversion‘Äc¸iŽ‘=’‡Ú]{¸hÞc‘ÿ}'ommand‘‰¸iŽ‘25ýÚ}{¸hÞmath‘“çexpr‘ÿ}'ession‘Äc¸iŽ‘NzRÚ}Ž¡‘I²lošGoks–ª&lik¸ãe“Ú\bm“²except“at“the“end“the“sp˜eci ed“command“is“globally“de ned“to“b˜eŽ¡‘IÚ\bm@command².‘qÇThe‘UU¸hÞmathversion‘Äc¸iŽ‘D=1²defaults–UUto“`bGold'.Ž¦‘E±142Ž‘Sª®à\def\DeclareBoldMathCommand{\@testopt\bm@declare{bold}}ŽŸ‘E±143Ž‘Sª®à\def\bm@declare[#1]#2{%Ž¤ ‘E±144Ž‘]Úà\expandafter\bm@generalŽ¡‘E±145Ž‘yw^à\csname‘¹–#1math\expandafter\endcsnameŽ¡‘E±146Ž‘yw^à\csname‘¹–bm@#1table\endcsnameŽ¡‘E±147Ž‘yw^à{\bm@define#2}}ŽŸ‘À$\bmdefineŽŽŽ‘IÚ\bmdefine–UU²Shorthand“for“Ú\DeclareBoldMathCommand[bold]².Ž¤ ‘XÚ\bm–UU²is“empt¸ãy“within“the“de nition,“so“that“eitherŽ¡‘IÚ\bmdefine\balpha{\bm\alpha}–UU²or“Ú\bmdefine\balpha{\alpha}Ž¡‘I²maš¸ãy–ÉÉbGe“used.‘CC(The“former“just“for“compatibilit˜y“with“the“original“v˜ersion“for“plainŽ¡‘IT‘þU>Ÿ'EŽ‘ãxX).Ž¦‘E±148Ž‘Sª®à\def\bmdefine{\DeclareBoldMathCommand[bold]}ŽŽŸ’õÿ²10ŽŽŒ‹ |9 ª ýs o ý´‘1¨à\hmŽŽŸ ‘À$\hmdefineŽŽŽŽŽ‘I²Same–UUagain“for“Ú\hm².Ž¤‘E±149Ž‘Sª®à\ifx\mv@heavy\@undefinedŽŸ‘X²If–ü‡there“is“no“heaš¸ãvy“math“v˜ersion“de ned,‘Jlet“Ú\hm“²bGe“de ned“as“Ú\bm².‘T-Curren˜tlyŽŸ ‘Ithere–UUis“no“wš¸ãarning“giv˜en,“pšGerhaps“there“should“b˜e,“or“ev¸ãen“an“error?Ž¡‘E±150Ž‘]Úà\let\hm\bmŽ¤ ‘E±151Ž‘]Úà\let\heavymath\boldmathŽ¡‘E±152Ž‘]Úà\let\bm@heavytable\bm@boldtableŽ©‘E±153Ž‘Sª®à\elseŽŸ‘X²Otherwise–UUde ne“Ú\hm“²and“Ú\hmdefine“²in“direct“analogy“with“the“abGo•¸ãv“e.ŽŸ‘E±154Ž‘]Úà\DeclareRobustCommand\hm[1]{%Ž¡‘E±155Ž‘f‘à\bm@general\heavymath\bm@heavytable\bm@command{#1}}Ž¦‘E±156Ž‘]Úà\def\hmdefine{\DeclareBoldMathCommand[heavy]}Ž¦‘E±157Ž‘Sª®à\fiŽ©‘3P\bm@endŽŽŽ‘I²Normally–wÃspšGeaking“Ú\outer“²declarations“should“b˜e“a•¸ãv“oided–wÃat“all“costs.‘Ù(LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxXŽ¤ ‘Irede nes–ÿÿall“of“plain“T‘þU>Ÿ'EŽ‘ãxX's“allošGcation“macros“to“b˜e“non-outer.)‘qÄHo•¸ãw“ev“er–ÿÿthis“isŽ¡‘Ione–¡aplace“where“it“seems“likš¸ãe“a“go•Go“d–¡aidea.‘5ËIf“a“command“taking“an“argumen˜t“is“putŽ¡‘Iin–†¬Ú\bm“²without“its“argumenš¸ãt,‘“then“the“Ú\@@end“²terminating“tok˜en“w˜ould“bGe“tak˜enŽ¡‘Ias–­ëthe“argumenš¸ãt,‘Äand“so“the“rest“of“the“paragraph“w˜ould“bGe“gobbled“up“and“theŽ¡‘ILŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX––Íwš¸ãould“die“horribly‘ÿ*ª.‘6/So“mak˜e“the“in˜ternal“terminating“tok˜en“Ú\outer².‘6/(TheŽ¡‘Iactual–OQtest“for“termination“is“made“against“Ú@@end“²not“Ú\bm@end“²as“this“macro“willŽ¡‘IbšGe–UUexpanded“b¸ãy“the“lo˜ok-ahead“system.)ŽŸ‘E±158Ž‘Sª®à\outer\def\bm@end{\@@end}Ž¦‘Ž\bm@expandŽŽ¡‘Ž\bm@exp@ndŽŽŽŽŽ‘IÚ\afterassignment–œs²tricš¸ãk“to“fully“expand“the“follo˜wing“tok˜ens“un˜til“the“ rst“non-Ž¡‘Iexpandable–ìdtokš¸ãen“is“rev˜ealed.‘NÌThis“ma˜y“discard“a“space“tok˜en“(whic˜h“is“what“T‘þU>Ÿ'EŽ‘ãxXŽ¡‘Iis–¢†lošGoking“for)“but“that“do˜esn't“matter“in“math“mo˜de.‘YZThe“expansion“lo˜ok‘ÿqÇaheadŽ¡‘Iis–UUdone“tš¸ãwice“in“case“an˜y“stra˜y“space“tok˜ens“ha˜v˜e“crept“in.Ÿü^ÿ±3ŽŽŽŸ‘E159Ž‘Sª®à\def\bm@expand{\afterassignment\bm@exp@nd\count@`\a}ŽŸ‘E±160Ž‘Sª®à\def\bm@exp@nd{\afterassignment\bm@test\count@`\a}Ž¦‘yº\bm@testŽŽŽ‘I²Normally–-wš¸ãe“will“grab“the“non-expandable“tok˜en“as“a“macro“argumen˜t“but“bGetterŽ¡‘Ic•¸ãhec“k–‘£it“is“not“Ú{“² rst.‘0ŒSa•¸ãv“e–‘£the“previous“tokš¸ãen“so“w˜e“can“c˜hec˜k“later“if“it“w˜as“Ú\left²,Ž¡‘Iin–Ž6whic¸ãh“case“use“the“delcošGde“rather“than“the“mathco˜de“if“the“currenš¸ãt“tok˜en“is“aŽ¡‘Ic¸ãharacter.ŽŸ‘E±161Ž‘Sª®à\def\bm@test{%Ž¤ ‘E±162Ž‘]Úà\let\bm@previous\@let@tokenŽ¡‘E±163Ž‘]Úà\futurelet\@let@token\bm@test@}Ž¦‘À$\bm@test@ŽŽŽ‘I²If–ü’loGoking“at“a“single“tok•¸ãen,›&aswitc“h–ü’to“Ú\bm@test@token²,˜else“if“loGoking“at“a“Ú{‘?ý}Ž¤ ‘I²group,‘Ùûgrab–ŒAthe“whole“group“with“Ú\bm@group².‘ŠA‘‹ðÚ\bgroup“²tokš¸ãen“will“tak˜e“theŽ¡‘Iwrong–UUbrancš¸ãh“here“(curren˜tly“not“trappGed).ŽŸ‘E±164Ž‘Sª®à\def\bm@test@{%Ž¤ ‘E±165Ž‘]Úà\ifx\@let@token\bgroupŽ¡‘E±166Ž‘f‘à\expandafter\bm@groupŽ‘IŸff‰ffÿrŸ J=‘ "5Ÿý-:Ê3ŽŽŽ‘LÜÉThe–:Áneed“for“this“wÃŽas“noticed“while“testing‘XúóAßCÊscmtt8ëA\sqrtÉ.‘÷ZThe“de nition“of‘܈ëA\root“Éinherited“fromŽ¤ €plain–ù€T‘þ•AŸ¸ãEŽ‘MX“has“an“anomalous“space“tokšÃŽen,‘Šthat“is“normally“harmless“(just“w˜astes“memory),‘ŠbutŽ¡whicšÃŽh–ÕXkilled“earlier“v˜ersions“of“this“pac˜k‡age.ŽŽŸ’õÿ²11ŽŽŒ‹ †ò ª ýs o ý´‘E±167Ž‘]Úà\elseŽ¤ ‘E±168Ž‘f‘à\expandafter\bm@test@tokenŽ¡‘E±169Ž‘]Úà\fi}Ž©‘À$\bm@gr@upŽŽŽ‘I²If–$ífaced“with“a“group,›.›If“w¸ãe“are“in“math“moGde,˜sticš¸ãk“it“in“a“Ú\boldsymbol“²lik˜e“con-Ž¤ ‘Istruct–®and“then“recurse“on“Ú\bm@expand².‘: Otherwise“just“use“Ú\bfseries\boldmath².Ž¡‘IThe–/uactual“test“is“deferred“till“`run“time'.‘e'Here“and“elsewhere“could“deal“with“theŽ¡‘Iinner–)list“with“an“inner“call“to“Ú\bm²,‘2Qbut“that“doGesn't“seem“to“gain“vš¸ãery“m˜uc˜h,‘2QandŽ¡‘Icomplicates–UUthe“coGde“quite“a“bit.Ž¡‘XÚ#1–UU²is“either“Ú\boldmath“²or“Ú\heavymath².Ž¤‘E±170Ž‘Sª®à\def\bm@gr@up#1#2{%ŽŸ ‘E±171Ž‘]Úà\bm@add{{\bm@gr@@p#1{#2}}}}Ž¦‘À$\bm@gr@@pŽŽŽ‘IÚ#1–UU²is“either“Ú\boldmath“²or“Ú\heavymath².Ž¡‘E±172Ž‘Sª®à\def\bm@gr@@p#1#2{%Ž¤ ‘E±173Ž‘]Úà\ifmmodeŽ¡‘E±174Ž‘f‘à\bm@mchoice#1{#2}{#2}{#2}{#2}%Ž¡‘E±175Ž‘]Úà\elseŽ¡‘E±176Ž‘f‘à\bfseries#1#2%Ž¡‘E±177Ž‘]Úà\fi}Ž¦‘ý 6\bm@test@tokenŽŽŽ‘I²If–Øânot“facing“a“Ú{‘ ú}“²group“then“test“to“see“what“wš¸ãe“ha˜v˜e.‘üoBasic“idea:‘xáT‘ÿ*ªrapŽ¤ ‘IÚ\mathchardef›dϲtok•¸ãens,‘¨­c“haracter˜tok“ens,–¨­and˜calls˜to˜Ú\mathchar²,“Ú\mathaccent²,Ž¡‘Ietc,‘~Jand–vcš¸ãhange“the“Þmath-gr‘ÿ}'oup‘±²(fam)“to“pGoin˜t“at“the“bGold“v˜ersion.‘ÔOther“thingsŽ¡‘Ijust–}tcopš¸ãy“straigh˜t“o˜v˜er“to“the“command“bGeing“built.‘ê$(An˜ything“inside“a“Ú\mathopŽ¡‘I²or–ësimilar“will“end“up“bšGeing“made“b˜old“as“the“Ú\mathop“²will“b˜e“copied“o•¸ãv“er,‘fbut‘ëitsŽ¡‘Iargumen¸ãt–UUwill“bšGe“made“b˜old“b¸ãy“the“group“co˜de“ab˜o•¸ãv“e.Ž©‘E±178Ž‘Sª®à\def\bm@test@token#1{%ŽŸ ‘E±179Ž‘]Úà\let\bm@next\@emptyŽŸ‘X²Stop–Š%here.‘7Note“that“it“is“vital“that“the“terminating“tok¸ãen“is“non-expandableŽ¡‘Iand––Bde ned,‘¦}rather“than“the“usual“LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“terminators“Ú\@nil“²or“Ú\@@².‘4(W‘ÿ*ªorse“stillŽ¡‘Iwš¸ãould–UUbGe“a“`quark'“lik˜e“Údocstrip²'s“Ú\qStop².)Ž¦‘E±180Ž‘]Úà\ifx#1\@@endŽŸ‘XÚ\bm@mathchoice–©²uses“macro“argumenš¸ãts,‘Ê=so“need“to“mak˜e“the“tail“recursionŽ¡‘Iexplicit–¦Lhere.‘d¬All“the“other“cases“recurse“bš¸ãy“w˜a˜y“of“Ú\afterassignment“²whic˜hŽ¡‘Imeans–UUall“the“trailing“Ú\fi“²are“eaten“while“making“the“assignmen¸ãt.Ž¦‘E±181Ž‘]Úà\else\ifx#1\mathchoiceŽ¤ ‘E±182Ž‘f‘à\let\bm@next\bm@mathchoiceŽŸ‘X²The–UUmain“pGoinš¸ãt:‘qÇFind“these“expressions,“and“c˜hange“the“mathgroup.Ž¦‘E±183Ž‘]Úà\else\ifx#1\mathcharŽ¡‘E±184Ž‘f‘à\afterassignment\bm@mathchar\count@Ž¡‘E±185Ž‘]Úà\else\ifx#1\mathaccentŽ¡‘E±186Ž‘f‘à\afterassignment\bm@mathaccent\count@Ž¡‘E±187Ž‘]Úà\else\ifx#1\delimiterŽ¡‘E±188Ž‘f‘à\afterassignment\bm@delimiter\count@Ž¡‘E±189Ž‘]Úà\else\ifx#1\radicalŽ¡‘E±190Ž‘f‘à\afterassignment\bm@radical\count@ŽŸ‘X²Need–UUto“trap“spaces“otherwise“digits“will“get“turned“to“bGold“mathc¸ãhars.Ž¦‘E±191Ž‘]Úà\else\ifx#1\mkernŽ¡‘E±192Ž‘f‘à\bm@register#1{\muskip\z@}%ŽŽŸ’õÿ²12ŽŽŒ‹ • ª ýs o ý´‘E±193Ž‘]Úà\else\ifx#1\kernŽ¤ ‘E±194Ž‘f‘à\bm@register#1\dimen@Ž¡‘E±195Ž‘]Úà\else\ifx#1\penaltyŽ¡‘E±196Ž‘f‘à\bm@register#1\count@ŽŸ‘E±197Ž‘]Úà\else\ifcat\noexpand#1\relaxŽŸ‘I²Other–UUcommand,“loGok“if“it's“a“mathcš¸ãhardef“tok˜en“(otherwise“just“add“it).Ž©‘E±198Ž‘f‘à\xdef\meaning@{\meaning#1}%Ž¡‘E±199Ž‘f‘à\expandafter\bm@mchar@test\meaning@""\@nil#1%ŽŸ‘I²Character–ˆótok¸ãen.‘ ¢If“it“is“of“catcošGde“11“or“12,‘•Ûget“its“mathco˜de.‘ ¢If“that“is“Ú"80000Ž¤ ‘I²bail–qNout“and“just“copš¸ãy“the“c˜haracter“else“if“the“previous“tok˜en“w˜as“Ú\left“²or“Ú\right²,Ž¡‘Iget–Ö©the“delcošGde“instead“of“the“mathco˜de.‘õÂThis“curren¸ãtly“means“the“Ÿü^ÿó O!â…cmsy7·0Ž‘ {‹²in“Úa'“²do˜esŽ¡‘Inot–UUgo“bGold.‘qÇbut“y¸ãou“can“use“Úa^\primeŽ¦‘E±200Ž‘]Úà\else\ifcat.\ifcat‘¹–a#1.\else#1\fiŽ¤ ‘E±201Ž‘f‘à\ifx\bm@previous\leftŽ¡‘E±202Ž‘p2à\count@\delcode`#1%Ž¡‘E±203Ž‘p2à\bm@delimiterŽ¡‘E±204Ž‘f‘à\elseŽ¡‘E±205Ž‘p2à\count@\mathcode`#1\relaxŽ¡‘E±206Ž‘p2à\ifnum\count@=\mathcode`\'%Ž¡‘E±207Ž‘yw^à\bm@add{#1}%Ž¡‘E±208Ž‘p2à\elseŽ¡‘E±209Ž‘yw^à\bm@mathcharŽ¡‘E±210Ž‘p2à\fiŽ¡‘E±211Ž‘f‘à\fiŽ¡‘E±212Ž‘]Úà\elseŽŸ‘I²And–UU nal“pGossibilitš¸ãy:‘qÇa“c˜haracter“tok˜en“of“catcoGde“other“than“11“or“12.Ž¦‘E±213Ž‘f‘à\bm@add{#1}%Ž¡‘E±214Ž‘]Úà\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fiŽ¡‘E±215Ž‘]Úà\bm@next}ŽŸ‘Ž\bm@defineŽŽŽ‘I²End–xicoGde“for“Ú\bmdefine².‘ÛDe ne“the“giv¸ãen“command“name“to“the“robust“form“ofŽ¤ ‘Ithe–UUaccum¸ãulated“coGde.Ž¡‘XIf–‡Ú\bm@command“²is“equal“to“Ú\@gtempa“²then“it“is“a“macro“whose“expansion“is“aŽ¡‘Isingle–UUcall“to“Ú\mathchar²,“so“that“can“bGe“optimised“with“a“Ú\mathchardef².Ž¦‘E±216Ž‘Sª®à\def\bm@define#1{%Ž¤ ‘E±217Ž‘]Úà\begingroupŽ¡‘E±218Ž‘f‘à\ifx\bm@command\@gtempaŽ¡‘E±219Ž‘p2à\def\mathchar{\global\mathchardef#1}%Ž¡‘E±220Ž‘p2à\bm@commandŽ¡‘E±221Ž‘f‘à\elseŽŸ‘I²Rather–_¯than“simply“Ú\let#1\bm@command²,‘âEmak¸ãe“the“de ned“command“robust.Ž¤ ‘IÚ\bm@first–ØÓ²is“normally“emptš¸ãy‘ÿ*ª,‘ù³but“migh˜t“bGe“something“lik˜e“Ú\DOTSI‘ر²whic˜h“needsŽ¡‘Ito–úÞbGe“lifted“to“the“top“levš¸ãel,‘$@in“fron˜t“of“an˜y“Ú\protect“²bšGecause“of“the“lo˜ok‘ÿqÇaheadŽ¡‘Imecš¸ãhanism–UUused“in“the“ßamsmath“²pac˜k‘ÿqÇage.Ž¦‘E±222Ž‘p2à\toks@\expandafter{\bm@command}%Ž¤ ‘E±223Ž‘p2à\xdef#1{\bm@first\noexpand\bm@protect\noexpand#1{\the\toks@}}%Ž¡‘E±224Ž‘f‘à\fiŽ¡‘E±225Ž‘]Úà\endgroup}ŽŽŸ’õÿ²13ŽŽŒ‹¡  ª ýs o ý´‘ Løà\bm@protectŽŽŽ‘I²Commands–UUde ned“bš¸ãy“Ú\bmdefine“²re-insert“themselv˜es“if“protection“is“enabled.Ž©‘E±226Ž‘Sª®à\def\bm@protect#1{%Ž¤ ‘E±227Ž‘]Úà\ifx\protect\@typeset@protectŽ¡‘E±228Ž‘f‘à\expandafter\@firstofoneŽ¡‘E±229Ž‘]Úà\elseŽ¡‘E±230Ž‘f‘à\protect#1\expandafter\@gobbleŽ¡‘E±231Ž‘]Úà\fi}ŽŸ‘ Lø\bm@mchoiceŽŽŽ‘IÚ\boldsymbol²,–UUmore“or“less.‘qÇÚ#1“²is“either“Ú\boldmath“²or“Ú\heavymath².Ž¦‘E±232Ž‘Sª®à\def\bm@mchoice#1#2#3#4#5{%Ž¡‘E±233Ž‘]Úà\mathchoice{\hbox{#1$\displaystyle\m@th#2$}}%Ž¡‘E±234Ž’‘Là{\hbox{#1$\textstyle\m@th#3$}}%Ž¡‘E±235Ž’‘Là{\hbox{#1$\scriptstyle\m@th#4$}}%Ž¡‘E±236Ž’‘Là{\hbox{#1$\scriptscriptstyle\m@th#5$}}}ŽŸ‘ý 6\bm@m@thchoiceŽŽŽ‘I²Action–>|if“yš¸ãou“ nd“a“Ú\mathchoice².‘-=Add“the“bGold“v˜ersion“to“Ú\bm@command“²thenŽ¤ ‘Irecurse.Ž¡‘XÚ#1–UU²is“either“Ú\boldmath“²or“Ú\heavymath².Ž¦‘E±237Ž‘Sª®à\def\bm@m@thchoice#1#2#3#4#5{%Ž¤ ‘E±238Ž‘]Úà\bm@add{\bm@mchoice#1{#2}{#3}{#4}{#5}}}ŽŸ‘“b\bm@registerŽŽŽ‘I²Comš¸ãbined–UUcoGde“for“setting“up“Ú\bm@r@gister“²with“the“correct“register“t˜ypGe.Ž¦‘E±239Ž‘Sª®à\def\bm@register#1#2{%Ž¡‘E±240Ž‘]Úà\def\@tempa{#1\the#2}%Ž¡‘E±241Ž‘]Úà\afterassignment\bm@r@gister#2}ŽŸ‘“b\bm@r@gisterŽŽŽ‘IÚ\mkern–\í²itself“wš¸ãould“transfer“to“Ú\bm@command“²without“an˜y“spGecial“test,‘žÒbut“an˜yŽ¤ ‘Iexplict–ß¹dimension“folloš¸ãwing“w˜ould“bGe“con˜v˜erted“to“Ú\mathchar².‘óSo“trap“this“andŽ¡‘Igrab–£the“mš¸ãuskip“as“a“m˜uskip.›\tThis“is“used“in“Ú\iiint².˜Ú\penalty“²w¸ãas“needed“forŽ¡‘Ithe–UUAMS“vš¸ãersion“of“Ú\colon²,“and“so“do“most“of“the“others“as“w˜ell.Ž¦‘E±242Ž‘Sª®à\def\bm@r@gister{%ŽŸ ‘E±243Ž‘]Úà\bm@xadd{\@tempa\space}}ŽŸ‘“b\bm@mathcharŽŽŽ‘I²Change–Ìthe“family“(math“group)“of“a“mathcošGde“and“then“use“the“mo˜di ed“co˜deŽ¡‘Iwith–PÚ\mathchar².‘b!If“there“is“no“suitable“bGold“fonš¸ãt“in“the“curren˜t“math“v˜ersion,Ž¡‘Iuse–üÿthe“original“unmošGdi ed“mathco˜de,‘ªbut“switc¸ãh“to“Ú\boldmath“²(if“there“is“a“b˜oldŽ¡‘Ifon¸ãt–¢˜there)“or“use“`p•Go“or–¢˜man's“bšGold'.‘Y‘Note“that“these“other“p˜ossibilities“are“onlyŽ¡‘IpšGossible–+Ýhere,‘4(not“for“the“otherwise“similar“co˜de“for“Ú\delimiter“²or“Ú\mathaccent²,Ž¡‘Ias–UUthose“commands“mš¸ãust“w˜ork“with“fon˜ts“from“the“same“math“v˜ersion.Ž¡‘XFinally–UUrecurse“do¸ãwn“the“list.Ž¦‘E±244Ž‘Sª®à\def\bm@mathchar{%ŽŸ‘E±245Ž‘]Úà\@tempcntb\count@ŽŸ ‘E±246Ž‘]Úà\let\@tempa\bm@groupŽŸ‘XÚ\bm@changefam– ²²will“isolate“the“math“group“from“the“mathcošGde“and“lo˜ok“upŽ¡‘Ithe–UUo set“in“the“curren¸ãt“table.Ž¦‘E±247Ž‘]Úà\bm@changefam{}%ŽŸ‘X²If–©fthe“mathcoGde“has“cš¸ãhanged,‘>jthen“just“add“the“new“Ú\mathchar“²(sa˜vingŽ¡‘IÚ\@gtempa–ò`²alloš¸ãws“Ú\bmdefine“²to“optimise“this“to“a“mathc˜hardef“if“it“turns“outŽ¡‘Ito–UUbšGe“the“only“sym¸ãb˜ol“in“the“argumen¸ãt).Ž¦‘E±248Ž‘]Úà\ifnum\count@>\@tempcntbŽŽŸ’õÿ²14ŽŽŒ‹«W ª ýs o ý´‘E±249Ž‘f‘à\ifx\bm@command\@emptyŽ¤ ‘E±250Ž‘p2à\xdef\@gtempa{\mathchar\the\count@\space}%Ž¡‘E±251Ž‘f‘à\fiŽ¡‘E±252Ž‘f‘à\bm@xadd{\mathchar\the\count@\space}%Ž¡‘E±253Ž‘]Úà\elseŽŸžz‘X²Otherwise–:„grab“the“math“class“from“the“math“cošGde“and“add“that“(lo˜cally“zap-Ž© ‘Iping–UUÚ\bm@expand“²as“wš¸ãe“don't“w˜an˜t“to“recurse“at“this“pGoin˜t).ŽŸ Ï=‘E±254Ž‘f‘à\begingroupŽ¡‘E±255Ž‘p2à\divide\count@"1000Ž¡‘E±256Ž‘p2à\let\bm@expand\relaxŽ¡‘E±257Ž‘p2à\bm@xadd\bm@classŽ¡‘E±258Ž‘f‘à\endgroupŽŸÏ=‘IÚ\@tempa–Û²²will“bGe“Ú\bm@group“²(whic¸ãh“applies“Ú\boldmath“²and“Ú\mathchoice²)“unlessŽ¦‘Iit–-£wš¸ãas“c˜hanged“b˜y“Ú\bm@changefam“²to“Ú\bm@pmb“²(whic˜h“applies“a“`p•Go“or–-£man's“bGold'Ž¦‘Iconstruction–UUin“a“Ú\mathchoice²).Ž© Ï=‘E±259Ž‘f‘à\edef\@tempb{%Ž¡‘E±260Ž‘p2à\noexpand\@tempa{\mathchar\the\count@\space}}%Ž¡‘E±261Ž‘f‘à\@tempbŽ¡‘E±262Ž‘]Úà\fi}ŽŸm·‘3P\bm@pmbŽŽŽ‘I²Add–UUa“p•Go“or–UUman's“bšGold“construction“to“the“list“b˜eing“built.Ž¦‘E±263Ž‘Sª®à\def\bm@pmb#1{%Ž¡‘E±264Ž‘]Úà\bm@add{\bm@pmb@{#1}}}ŽŸm·‘yº\bm@pmb@ŽŽŽ‘IÚ\pmb–嶲v‘ÿqÇarianš¸ãt.‘L’(See“T‘þU>Ÿ'EŽ‘ãxXBoGok,‘ü or“AMS‘åšßamsbsy‘ C²pac˜k‘ÿqÇage).‘L’This“one“tak˜es“a“bit“moreŽŸ ‘Icare–UUto“use“smaller“o sets“in“subscripts.Ž¦‘E±265Ž‘Sª®à\def\bm@pmb@#1{{%Ž¡‘E±266Ž‘]Úà\setbox\tw@\hbox{$\m@th\mkern.4mu$}%Ž¡‘E±267Ž‘]Úà\mathchoiceŽ¡‘E±268Ž‘f‘à\bm@pmb@@\displaystyle\@empty{#1}%Ž¡‘E±269Ž‘f‘à\bm@pmb@@\textstyle\@empty{#1}%Ž¡‘E±270Ž‘f‘à\bm@pmb@@\scriptstyle\defaultscriptratio{#1}%Ž¡‘E±271Ž‘f‘à\bm@pmb@@\scriptscriptstyle\defaultscriptscriptratio{#1}}}ŽŸm·‘À$\bm@pmb@@ŽŽŽ‘I²HelpGer–d"macro.‘ž/Boš¸ãx“Ú#3“²and“set“it“three“times“in“the“st˜yle“Ú#1²,‘gÕo set“b˜y“an“amoun˜tŽŸ ‘Ireduced–UUb¸ãy“the“ratio“spGeci ed“in“Ú#2².Ž¦‘E±272Ž‘Sª®à\def\bm@pmb@@#1#2#3{{%Ž¡‘E±273Ž‘]Úà\setbox\z@\hbox{$\m@th#1#3$}%Ž¡‘E±274Ž‘]Úà\dimen@#2\wd\tw@Ž¡‘E±275Ž‘]Úà\rlap{\copy\z@}%Ž¡‘E±276Ž‘]Úà\kern\dimen@Ž¡‘E±277Ž‘]Úà\raise1.5\dimen@\rlap{\copy\z@}%Ž¡‘E±278Ž‘]Úà\kern\dimen@Ž¡‘E±279Ž‘]Úà\box\z@}}%ŽŸm·‘À$\bm@classŽŽŽ‘I²Con•¸ãv“ert–lda“nš¸ãumeric“math“class“bac˜k“to“a“math“class“command.‘$"Ú\mathord“²is“omittedŽ¤ ‘Iin–…Åclass“0“and“7“to“sa•¸ãv“e–…Åspace“and“so“things“wš¸ãork“out“righ˜t“in“constructions“suc˜hŽ¡‘Ias–UUÚx^a“²where“Úx^\mathord{a}“²wš¸ãould“not“w˜ork.Ž¦‘E±280Ž‘Sª®à\def\bm@class{%Ž¤ ‘E±281Ž‘]Úà\ifcase\count@Ž¡‘E±282Ž‘f‘à\orŽ¡‘E±283Ž‘f‘à\mathop\orŽŽŸ’õÿ²15ŽŽŒ‹·U ª ýs o ý´‘E±284Ž‘f‘à\mathbin\orŽ¤ ‘E±285Ž‘f‘à\mathrel\orŽ¡‘E±286Ž‘f‘à\mathopen\orŽ¡‘E±287Ž‘f‘à\mathclose\orŽ¡‘E±288Ž‘f‘à\mathpunct\orŽ¡‘E±289Ž‘]Úà\fi}Ž©覑3P\bm@addŽŽŽ‘I²A‘æ¬vš¸ãersion–æÑof“Ú\g@addto@macro“²that“in˜ternally“uses“a“Ú\begingroup“²rather“than“aŽ¤ ‘Ibrace–UUgroupŸü^ÿ±4ŽŽ‘|s²,“to“sa•¸ãv“e–UUcreating“a“mathord.Ž¡‘XAs–'´need“to“rede ne“it“an•¸ãyw“a“y‘ÿ*ª,‘œLsa“v“e–'´some“tokš¸ãens“b˜y“making“it“spGeci c“toŽ¡‘IÚ\bm@command²,–UUand“to“execute“Ú\bm@expand“²to“con•¸ãtin“ue–UUthe“loGop.ŽŸ ø7‘E±290Ž‘Sª®à\def\bm@add#1{%Ž¤ ‘E±291Ž‘]Úà\begingroupŽ¡‘E±292Ž‘f‘à\toks@\expandafter{\bm@command#1}%Ž¡‘E±293Ž‘f‘à\xdef\bm@command{\the\toks@}%Ž¡‘E±294Ž‘]Úà\endgroupŽ¡‘E±295Ž‘]Úà\bm@expand}Ž¦‘yº\bm@xaddŽŽŽ‘I²An–UUÚ\xdef“²v¸ãersion“of“Ú\bm@add².ŽŸ ø7‘E±296Ž‘Sª®à\def\bm@xadd#1{%Ž¡‘E±297Ž‘]Úà\begingroupŽ¡‘E±298Ž‘f‘à\toks@\expandafter{\bm@command}%Ž¡‘E±299Ž‘f‘à\xdef\bm@command{\the\toks@#1}%Ž¡‘E±300Ž‘]Úà\endgroupŽ¡‘E±301Ž‘]Úà\bm@expand}Ž¦‘ý 6\bm@mathaccentŽŽŽ‘IÚ\mathaccent–UU²v¸ãersion“of“Ú\bm@mathchar².ŽŸ ø7‘E±302Ž‘Sª®à\def\bm@mathaccent{%Ž¡‘E±303Ž‘XdDà\bm@changefam{}%Ž¡‘E±304Ž‘XdDà\bm@xadd{\mathaccent\the\count@\space}}Ž¦‘ÙÌ\bm@delimiterŽŽŽ‘I²Change–Q}bšGoth“families“(math“groups)“of“a“delco˜de“and“then“use“the“mo˜di ed“co˜deŽŸ ‘Iwith‘UUÚ\delimiter².ŽŸ ø7‘E±305Ž‘Sª®à\def\bm@delimiter{%Ž¡‘E±306Ž‘XdDà\bm@changefam{}%Ž¡‘E±307Ž‘XdDà\bm@changefam{000}%Ž¡‘E±308Ž‘XdDà\bm@xadd{\delimiter\the\count@\space}}%Ž¦‘ Lø\bm@radicalŽŽŽ‘I²Same–UUfor“Ú\radical².ŽŸ ø7‘E±309Ž‘Sª®à\def\bm@radical{%Ž¡‘E±310Ž‘XdDà\bm@changefam{}%Ž¡‘E±311Ž‘XdDà\bm@changefam{000}%Ž¡‘E±312Ž‘XdDà\bm@xadd{\radical\the\count@\space}}%Ž¦‘Ž\bm@mchar@ŽŽŽ‘I²CatcoGde–UU12“Ú\mathchar²,“for“Ú\ifx“²tests.ŽŸ ø7‘E±313Ž‘Sª®à\edef\bm@mchar@{\meaning\mathchar}Ž¦‘ý 6\bm@mchar@testŽŽŽ‘I²T‘ÿ*ªest–iFif“the“Ú\meaning“²starts“with“Ú\mathchar².‘#If“it“doGes,‘˜|grab“the“v‘ÿqÇalue“in¸ãto“Ú\count@Ž¤ ‘I²and–Ûcall“Ú\bm@mathchar²,‘else“just“copš¸ãy“the“command“in˜to“the“accum˜ulated“tok˜ens.Ž¡‘IÚ#1²,–Ì5Ú#2²,“Ú#3–©í²are“all“Ú\meaning“²proGduced“tokš¸ãens,‘Ì5or“`dumm˜y“tok˜ens'“added“at“the“timeŽ¡‘Ithis–UUis“called.‘qÇÚ#4“²is“the“original“tok¸ãen,“in“case“decide“not“to“use“the“Ú\meaning².Ž‘IŸ ‡ï‰ffÿrŸ J=‘ "5Ÿý-:Ê4ŽŽŽ‘LÜÉThis–ÕXbug“is“ xed“in“the“LŸþ¢#‘üð¡ÊAŽŽ‘ ïÉT‘þ•AŸ¸ãEŽ‘MX“kÃŽernel“of“1996/12/01ŽŽŸ’õÿ²16ŽŽŒ‹Á· ª ýs o ý´‘E±314Ž‘Sª®à\def\bm@mchar@test#1"#2"#3\@nil#4{%Ž¤ ‘E±315Ž‘]Úà\xdef\meaning@{#1}%Ž¡‘E±316Ž‘]Úà\ifx\meaning@\bm@mchar@Ž¡‘E±317Ž‘f‘à\count@"#2\relaxŽ¡‘E±318Ž‘f‘à\bm@mathcharŽ¡‘E±319Ž‘]Úà\elseŽŸ‘I²Some–—other“command:‘ö=copš¸ãy“it“straigh˜t“o˜v˜er.‘8yIf“it“is“the“ rst“thing“added,‘¨and“itŽ© ‘Iis–UUa“Ú\relax“²tokš¸ãen,“sa˜v˜e“it“in“Ú\bm@first“²for“use“in“Ú\bm@define².ŽŸ‘E±320Ž‘f‘à\ifx\bm@previous\@emptyŽ¡‘E±321Ž‘p2à\ifx\relax#4%Ž¡‘E±322Ž‘yw^à\gdef\bm@first{#4}%Ž¡‘E±323Ž‘p2à\fiŽ¡‘E±324Ž‘f‘à\fiŽ¡‘E±325Ž‘f‘à\bm@add{#4}%Ž¡‘E±326Ž‘]Úà\fi}ŽŸ‘ÙÌ\bm@changefamŽŽŽ‘I²Pull–^out“one“spGeci ed“hex“digit“and“passes“it“to“Ú\bm@modify“²to“c•¸ãhange.‘]Êargumen“tŽ¦‘Iis–UUempt¸ãy“normally“but“Ú000“²to“access“the“second“math“group“in“a“delimiter“coGde.ŽŸ‘E±327Ž‘Sª®à\def\bm@changefam#1{%Ž¡‘E±328Ž‘]Úà\@tempcnta\count@Ž¡‘E±329Ž‘]Úà\divide\@tempcnta"1000#1‘¹–%Ž¡‘E±330Ž‘]Úà\multiply\@tempcnta"1000#1‘¹–%Ž¡‘E±331Ž‘]Úà\advance\@tempcnta-\count@Ž¡‘E±332Ž‘]Úà\divide\@tempcnta-"100#1‘¹–%Ž¤‘I²Haš¸ãving–‹†isolated“the“required“math“group“(fam),‘™loGok“up“the“o set“in“the“curren˜tŽ¦‘Itable.ŽŸ‘E±333Ž‘]Úà\@tempcnta\bm@tableŽ¡‘I²If–¥Fthe“o set“is“¸²1,‘¹Bkš¸ãeep“Ú\count@“²unc˜hanged,‘¹Bbut“set“Ú\@tempa“²to“use“p•Go“or‘¥Fman'sŽ¦‘IbGold.‘qÇOtherwise–UUincremenš¸ãt“Ú\count@“²to“c˜hange“the“math“group“spGeci ed.ŽŸ‘E±334Ž‘]Úà\ifnum\@tempcnta=\m@neŽ¤ ‘E±335Ž‘f‘à\let\@tempa\bm@pmbŽ¡‘E±336Ž‘]Úà\elseŽ¡‘E±337Ž‘f‘à\multiply\@tempcnta"100#1‘¹–%Ž¡‘E±338Ž‘f‘à\advance\count@\@tempcntaŽ¡‘E±339Ž‘]Úà\fi}ŽŸ‘E±340Ž‘Sª®ãhó75ùž" cmmi9â=çpack¾9ageŽ‘#g ãiŽŽŸ’õÿ²17ŽŽŒøË胒À;説 óAßCÊscmtt8ó<ÒoÇw cmss9ó8©±Ê cmsy9ó75ùž" cmmi9ó5ߤN cmtt9ó4m#½R cmss10ó3ý': cmti10ó/ßê cmmi10óKñ`y cmr10óÙ“ Rcmr7óú±u cmex10ùÓßßßß