From a683c3d7e9fac38ec713f23fb6b9d2c7143aea82 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 23 May 2009 00:23:51 +0000 Subject: move english latex doc out of texmf-doc git-svn-id: svn://tug.org/texlive/trunk@13412 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/comprehensive/README | 199 + Master/texmf-dist/doc/latex/comprehensive/SYMLIST | 4074 +++++++ .../doc/latex/comprehensive/source/Makefile | 155 + .../doc/latex/comprehensive/source/epsdice.eps | 216 + .../doc/latex/comprehensive/source/lightbulb.eps | 101 + .../doc/latex/comprehensive/source/lightbulb.map | 1 + .../doc/latex/comprehensive/source/lightbulb.mf | 36 + .../doc/latex/comprehensive/source/lightbulb10.mf | 13 + .../doc/latex/comprehensive/source/lightbulb10.pfb | Bin 0 -> 3029 bytes .../latex/comprehensive/source/makefakeMnSymbol | 254 + .../doc/latex/comprehensive/source/symbols.tex | 11464 +++++++++++++++++++ .../doc/latex/comprehensive/symbols-a4.pdf | Bin 0 -> 4316865 bytes .../doc/latex/comprehensive/symbols-letter.pdf | Bin 0 -> 4377477 bytes 13 files changed, 16513 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/comprehensive/README create mode 100644 Master/texmf-dist/doc/latex/comprehensive/SYMLIST create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/Makefile create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/epsdice.eps create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.eps create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.map create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.mf create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/lightbulb10.mf create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/lightbulb10.pfb create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/makefakeMnSymbol create mode 100644 Master/texmf-dist/doc/latex/comprehensive/source/symbols.tex create mode 100644 Master/texmf-dist/doc/latex/comprehensive/symbols-a4.pdf create mode 100644 Master/texmf-dist/doc/latex/comprehensive/symbols-letter.pdf (limited to 'Master/texmf-dist/doc/latex/comprehensive') diff --git a/Master/texmf-dist/doc/latex/comprehensive/README b/Master/texmf-dist/doc/latex/comprehensive/README new file mode 100644 index 00000000000..5364469030a --- /dev/null +++ b/Master/texmf-dist/doc/latex/comprehensive/README @@ -0,0 +1,199 @@ + +--------------------------------------+ + | THE COMPREHENSIVE LATEX SYMBOL LIST | + | By Scott Pakin, scott+clsl@pakin.org | + | | + | 03 January 2008 | + +--------------------------------------+ + +The Comprehensive LaTeX Symbol List is an organized list of over 4900 +symbols commonly available to LaTeX users. Some of these symbols are +guaranteed to be available in every TeX distribution. Others require +font files that come with some, but not all, TeX distributions. The +rest require font files that must be downloaded explicitly from CTAN +(http://www.ctan.org) and installed. The Comprehensive LaTeX Symbols +List currently showcases symbols from 112 separate typefaces. + +The same directory that contains this README file should also contain +SYMLIST (an ASCII list of symbols that appear in the symbols list) and +prebuilt versions of the symbol list for both A4 and U.S. Letter sized +paper. If you'd like to build symbols.tex yourself, the steps are as +follows: + + pdflatex symbols + pdflatex symbols + makeindex -s gind.ist symbols + pdflatex symbols + pdflatex symbols + +(The repeated runs are for the longtable and makeidx packages to +stabilize.) symbols.tex tries to be smart about fonts; it omits +tables of symbols that require (seemingly) unavailable fonts. The +"Document Characteristics" table at the end of the document lists the +packages that were unavailable during the build. + +The prebuilt versions of the symbol list use primarily Type 1 fonts. +Type 1 fonts are scalable and should look good at any resolution and +on any output device. However, some of the fonts used by symbols.tex +are available only in a METAFONT-generated bitmap format. The +prebuilt symbol lists utilize 1200 DPI versions of all of the +bitmapped fonts as 1200 DPI is a reasonably high printer resolution. +Unfortunately, older (pre-6.0) versions of Adobe Acrobat render +bitmapped fonts positively dreadfully on screen. Nevertheless, all +versions of Acrobat manage to *print* bitmapped fonts with no trouble. + +The bitmapped fonts used to prepare the PDF versions of the symbol +list are the following: + + ar10.mf ar9.mf ark10.mf + ark10.mf arrow.mf arrow.mf + bbding10.mf bbding10.mf bbm10.mf + bbm9.mf bbmss10.mf bbmtt10.mf + bbold10.mf bbold9.mf callig15.mf + cmph10.mf cmphi10.mf dingbat.mf + dingbat.mf fcr10.mf fcr9.mf + feyntext10.mf feyntext10.mf fgeit10.mf + fgeit10.mf fgerm10.mf fgerm10.mf + fulmr10.mf fulmr9.mf ifclk10.mf + ifclk10.mf ifgeo10.mf ifgeo10.mf + ifsym10.mf ifsym10.mf ifwea10.mf + ifwea10.mf igoblacki8.mf igoblacki9.mf + igoblackiii8.mf igoblackiii9.mf igowhitei8.mf + igowhitei9.mf igowhiteiii8.mf igowhiteiii9.mf + lightbulb10.mf lightbulb10.mf lightbulb10.mf + lightbulb10.mf lightbulb10.mf lightbulb10.mf + lightbulb10.mf lightbulb10.mf lightbulb10.mf + matha10.mf matha9.mf mathb10.mf + mathb9.mf mathx10.mf mathx10.mf + mbb10.mf mbb9.mf simpsons.mf + skak10.mf skull.mf skull.mf + trsy10.mf trsy10.mf ulsy10.mf + universal10.mf universal9.mf wnr10.mf + wnr9.mf wsuipa10.mf wsuipa9.mf + + +For completeness, these are the scalable fonts used in the PDF +versions of the symbol list: + + ASCII.pfb (ASCII) + ArevSans-Roman.pfb (Arev Sans) + MnSymbol10.pfb (MnSymbol10) + SkakNew-Figurine.pfb (SkakNew-Figurine) + cmbsy10.pfb (CMBSY10) + cmbsy7.pfb (CMBSY7) + cmbx10.pfb (CMBX10) + cmbx12.pfb (CMBX12) + cmbx7.pfb (CMBX7) + cmbx9.pfb (CMBX9) + cmcsc10.pfb (CMCSC10) + cmex10.pfb (CMEX10) + cmllr10.pfb (CMLL Regular 10pt) + cmllr9.pfb (CMLL Regular 9pt) + cmmi10.pfb (CMMI10) + cmmi5.pfb (CMMI5) + cmmi6.pfb (CMMI6) + cmmi7.pfb (CMMI7) + cmmi8.pfb (CMMI8) + cmmi9.pfb (CMMI9) + cmmib10.pfb (CMMIB10) + cmmib5.pfb (CMMIB5) + cmr10.pfb (CMR10) + cmr12.pfb (CMR12) + cmr17.pfb (CMR17) + cmr5.pfb (CMR5) + cmr6.pfb (CMR6) + cmr7.pfb (CMR7) + cmr8.pfb (CMR8) + cmr9.pfb (CMR9) + cmsl12.pfb (CMSL12) + cmss10.pfb (CMSS10) + cmss8.pfb (CMSS8) + cmss9.pfb (CMSS9) + cmssi10.pfb (CMSSI10) + cmsy10.pfb (CMSY10) + cmsy5.pfb (CMSY5) + cmsy6.pfb (CMSY6) + cmsy7.pfb (CMSY7) + cmsy8.pfb (CMSY8) + cmsy9.pfb (CMSY9) + cmti10.pfb (CMTI10) + cmti7.pfb (CMTI7) + cmti9.pfb (CMTI9) + cmtt10.pfb (CMTT10) + cmtt12.pfb (CMTT12) + cmtt8.pfb (CMTT8) + cmtt9.pfb (CMTT9) + dictsym.pfb (Dictionary Symbols Georg Verweyen) + dsrom10.pfb (dsrom10) + dsss10.pfb (dsss10) + esint10.pfb (esint10) + eufm10.pfb (EUFM10) + eurm10.pfb (EURM10) + eusm10.pfb (EUSM10) + eusm7.pfb (EUSM7) + feymr10.pfb (TeX feymr10 Regular) + icelandic.pfb (icelandic) + lcircle1.pfb (LCIRCLE10) + lcirclew.pfb (LCIRCLEW10) + line10.pfb (LINE10) + logo10.pfb (LOGO10) + logo9.pfb (LOGO9) + logosl10.pfb (LOGOSL10) + manfnt.pfb (manfnt) + marvosym.pfb (Martin Vogel's Symbols) + md-chr7v.pfb (MathDesign CH Regular Extension 10) + md-chr8c.pfb (MathDesign CH Regular TS1 10) + md-gmr7v.pfb (MathDesign GM Regular Extension 10) + md-gmr8c.pfb (MathDesign GM Regular TS1 10) + md-utr7v.pfb (MathDesign UT Regular Extension 10) + md-utr7y.pfb (MathDesign UT Regular Symbol 10) + md-utr8c.pfb (MathDesign UT Regular TS1 10) + md-utrma.pfb (MathDesign UT Regular MathDesignSymbolA 10) + md-utrmb.pfb (MathDesign UT Regular MathDesignSymbolB 10) + msam10.pfb (MSAM10) + msam7.pfb (MSAM7) + msbm10.pfb (MSBM10) + msbm7.pfb (MSBM7) + msym10.pfb (MSYM10) + musix11.pfb (TeXMUSIX11-Regular) + musix13.pfb (TeXMUSIX13-Regular) + phaistos.pfb (phaistos) + pmhg.pfb (Archaic Poor Mans Hieroglyphs) + proto10.pfb (Archaic ProtoSemitic) + rsfs10.pfb (rsfs10) + rtcxr.pfb (rtcxr) + sfrm0600.pfb (Computer Modern Roman) + sfrm0700.pfb (Computer Modern Roman) + sfrm0900.pfb (Computer Modern Roman) + sfrm1000.pfb (Computer Modern Roman) + sfrm1095.pfb (Computer Modern Roman) + sfrm1200.pfb (Computer Modern Roman) + sfrm2488.pfb (Computer Modern Roman) + sfsi1000.pfb (Computer Modern Sans Serif Slanted) + stmary10.pfb (stmary10) + stmary8.pfb (stmary8) + stmary9.pfb (stmary9) + tipa10.pfb (TeX tipa10 Regular) + tipa8.pfb (TeX tipa8 Regular) + tipa9.pfb (TeX tipa9 Regular) + tipx10.pfb (TeX tipx10 Regular) + tipx9.pfb (TeX tipx9 Regular) + txexa.pfb (txexa) + txmia.pfb (txmia) + txsy.pfb (txsy) + txsyc.pfb (txsyc) + uhvb8a.pfb (Nimbus Sans L Bold) + usyr.pfb (Standard Symbols L) + utmr8a.pfb (Nimbus Roman No9 L Regular) + utmri8a.pfb (Nimbus Roman No9 L Regular Italic) + uzcmi8a.pfb (URW Chancery L Medium Italic) + uzdr.pfb (Dingbats) + vect10.pfb (TeX vect10 Regular) + vect9.pfb (TeX vect9 Regular) + vnr10.pfb (VNR10) + vnr9.pfb (VNR9) + wasy10.pfb (wasy10) + wasy9.pfb (wasy9) + yfrak.pfb (Yannis Fraktur Regular) + ygoth.pfb (Yannis Gotisch Regular) + yhcmex.pfb (Yhcmex) + yswab.pfb (Yannis Schwabacher Regular) diff --git a/Master/texmf-dist/doc/latex/comprehensive/SYMLIST b/Master/texmf-dist/doc/latex/comprehensive/SYMLIST new file mode 100644 index 00000000000..66dc2bc6cfa --- /dev/null +++ b/Master/texmf-dist/doc/latex/comprehensive/SYMLIST @@ -0,0 +1,4074 @@ +< +/ +( +) +[ +] +{} +* +\` +\^ +\^{} +\~ +\~{} +\_ +\- +\, +\. +\' +\" +\{ +\} +\$ +\\ +\& +\# +\% +\a +\aa +\AA +\AAaleph +\AAayin +\AAbeth +\AAcht +\AAdaleth +\AAhe +\AAhelmet +\AAheth +\AAkaph +\AAlamed +\Aaleph +\AApe +\AAqoph +\AAresh +\AAsade +\Aayin +\AAyod +\Abeth +\AC +\acarc +\acbar +\accentset +\Acht +\AchtBL +\AchtBR +\ACK +\acontraction +\AcPa +\acute +\acutus +\Adaleth +\adots +\ae +\AE +\agemO +\Agimel +\Ahe +\Ahelmet +\Aheth +\ain +\Akaph +\alad +\Alad +\Alamed +\alas +\Alas +\aleph +\Alif +\alpha +\alphaup +\Alt +\AltGr +\amalg +\Amem +\anaclasis +\Anaclasis +\anchor +\angle +\Anglesign +\angud +\Angud +\angus +\Angus +\Ankh +\annu +\antidiple +\antidiple* +\Antidiple +\Antidiple* +\antisigma +\Antisigma +\Anun +\Ape +\APLbox +\APLcirc +\APLcomment +\APLdown +\APLdownarrowbox +\APLinput +\APLinv +\APLleftarrowbox +\APLlog +\APLminus +\APLnot +\APLrightarrowbox +\APLstar +\APLup +\APLuparrowbox +\APLvert +\apprge +\apprle +\approx +\approxeq +\Aqoph +\aquarius +\Aquarius +\AR +\arccos +\arcsin +\arctan +\Aresh +\arg +\aries +\Aries +\ArrowBoldDownRight +\ArrowBoldRightCircled +\ArrowBoldRightShort +\ArrowBoldRightStrobe +\ArrowBoldUpRight +\arrownot +\Arrownot +\arrowvert +\Arrowvert +\Asade +\Asamekh +\ascnode +\Ashin +\ast +\asteriscus +\Asteriscus +\asterisk +\Asterisk +\AsteriskBold +\AsteriskCenterOpen +\AsteriskRoundedEnds +\AsteriskThin +\AsteriskThinCenterOpen +\asterism +\astrosun +\asymp +\atan +\ataribox +\Atav +\Ateth +\AtForty +\AtNinetyFive +\AtSixty +\autoleftarrow +\autoleftrightharpoons +\autorightarrow +\autorightleftharpoons +\Avav +\Ayn +\Ayod +\Azayin +\b +\B +\babygamma +\backapprox +\backapproxeq +\backcong +\backepsilon +\backeqsim +\backneg +\backprime +\backsim +\backsimeq +\backslash +\backslashdiv +\backtriplesim +\bar +\barb +\barcirc +\bard +\bari +\barin +\barj +\barl +\barlambda +\barleftharpoon +\baro +\barp +\barrightharpoon +\barsci +\barscu +\Bart +\baru +\barwedge +\Bat +\bauarrow +\baucircle +\baucross +\baudash +\baueclipse +\bauequal +\bauface +\bauforms +\bauhead +\bauhole +\bauplus +\baupunct +\bauquarter +\bauquestion +\bausquare +\bautriangle +\bauwhitearrow +\bauwindow +\bb +\bB +\Bb +\BB +\bba +\bbalpha +\bbar +\bbb +\bbbeta +\Bbbk +\bbdollar +\bbetter +\bbeuro +\bbfinalnun +\bbgamma +\bbm +\bBm +\Bbm +\BBm +\bbmb +\bbmx +\bbnabla +\bbpe +\bbqof +\bbslash +\bbyod +\bcontraction +\bdecisive +\Beam +\Bearing +\because +\BEL +\bell +\beta +\betaup +\beth +\betteris +\between +\bibridge +\Bicycle +\big +\Big +\bigast +\bigbosonloop +\bigbox +\bigboxasterisk +\bigboxbackslash +\bigboxbot +\bigboxcirc +\bigboxcoasterisk +\bigboxdiv +\bigboxdot +\bigboxleft +\bigboxminus +\bigboxplus +\bigboxright +\bigboxslash +\bigboxtimes +\bigboxtop +\bigboxtriangleup +\bigboxvoid +\bigcap +\bigcapdot +\bigcapplus +\bigcirc +\bigcircle +\BigCircle +\bigcoast +\bigcomplementop +\BigCross +\bigcup +\bigcupdot +\bigcupplus +\bigcurlyvee +\bigcurlyveedot +\bigcurlywedge +\bigcurlywedgedot +\BigDiamondshape +\bigdoublecurlyvee +\bigdoublecurlywedge +\bigdoublevee +\bigdoublewedge +\bigg +\Bigg +\BigHBar +\biginterleave +\BigLowerDiamond +\bignplus +\bigoast +\bigoasterisk +\bigobackslash +\bigobot +\bigocirc +\bigocoasterisk +\bigodiv +\bigodot +\bigoleft +\bigominus +\bigoplus +\bigoright +\bigoslash +\bigostar +\bigotimes +\bigotop +\bigotriangle +\bigotriangleup +\bigovert +\bigovoid +\bigparallel +\bigparr +\bigplus +\BigRightDiamond +\bigsqcap +\bigsqcapdot +\bigsqcapplus +\bigsqcup +\bigsqcupdot +\bigsqcupplus +\BigSquare +\bigsquplus +\bigstar +\bigtimes +\bigtriangledown +\BigTriangleDown +\BigTriangleLeft +\BigTriangleRight +\bigtriangleup +\BigTriangleUp +\biguplus +\bigvarstar +\BigVBar +\bigvee +\bigveedot +\bigwedge +\bigwedgedot +\bigwith +\binampersand +\bindnasrepma +\Biohazard +\bishoppair +\blackdiamond +\blacklozenge +\blacksmiley +\blacksquare +\blackstone +\blacktriangle +\blacktriangledown +\blacktriangleleft +\blacktriangleright +\blacktriangleup +\Bleech +\blitza +\blitzb +\blitzc +\blitzd +\blitze +\bm +\Bm +\bmod +\boldmath +\boldsymbol +\bot +\botdoteq +\Bouquet +\bowtie +\Bowtie +\Box +\boxast +\boxasterisk +\boxbackslash +\boxbar +\boxbot +\boxbox +\boxbslash +\boxcirc +\boxcircle +\boxcoasterisk +\boxdiv +\boxdot +\boxdotleft +\boxdotLeft +\boxdotright +\boxdotRight +\boxempty +\boxleft +\boxLeft +\boxminus +\boxplus +\boxright +\boxRight +\boxslash +\boxtimes +\boxtop +\boxtriangleup +\boxvert +\boxvoid +\boy +\braceld +\bracerd +\bracevert +\Break +\breve +\brokenvert +\BS +\BSEfree +\BSpace +\bullet +\bumpedeq +\Bumpedeq +\bumpeq +\Bumpeq +\bupperhand +\Burns +\c +\C +\CAN +\cancer +\Cancer +\cap +\Cap +\capdot +\capplus +\Capricorn +\capricornus +\carriagereturn +\catalexis +\Catalexis +\cc +\Cc +\ccby +\Ccc +\ccnc +\ccnd +\ccsa +\cdot +\cdotp +\cdots +\celsius +\Celtcross +\cent +\centerdot +\centernot +\centre +\CEsign +\changenotsign +\char +\check +\checked +\Checkedbox +\CheckedBox +\checkmark +\Checkmark +\CheckmarkBold +\chemarrow +\chi +\chiup +\circ +\circeq +\Circle +\CIRCLE +\circlearrowleft +\circlearrowright +\CircledA +\circledast +\circledbar +\circledbslash +\circledcirc +\circleddash +\circleddotleft +\circleddotright +\circledgtr +\circledless +\circledR +\circledS +\circledvee +\circledwedge +\circleleft +\circleright +\CircleShadow +\CircleSolid +\Circpipe +\circplus +\Circsteel +\circumflexus +\CleaningA +\CleaningF +\CleaningFF +\CleaningP +\CleaningPP +\clickb +\clickc +\clickt +\clock +\Clocklogo +\closedcurlyvee +\closedcurlywedge +\closedequal +\closedniomega +\closedprec +\closedrevepsilon +\closedsucc +\Cloud +\clubsuit +\coasterisk +\coAsterisk +\Coffeecup +\coh +\colon +\colonapprox +\Colonapprox +\coloneq +\Coloneq +\coloneqq +\Coloneqq +\colonsim +\Colonsim +\comment +\compensation +\complement +\ComputerMouse +\cong +\conjunction +\convolution +\coprod +\copyright +\corner +\corresponds +\Corresponds +\cos +\cosh +\cot +\coth +\counterplay +\cr +\CR +\Cross +\crossb +\CrossBoldOutline +\CrossClowerTips +\crossd +\Crossedbox +\crossh +\CrossMaltese +\crossnilambda +\CrossOpenShadow +\CrossOutline +\crtilde +\crux +\Crux +\csc +\Ctrl +\Cube +\cup +\Cup +\cupdot +\cupplus +\curlyc +\curlyeqprec +\curlyeqsucc +\curlyesh +\curlyvee +\curlyveedot +\curlyveedownarrow +\curlyveeuparrow +\curlywedge +\curlywedgedot +\curlywedgedownarrow +\curlywedgeuparrow +\curlyyogh +\curlyz +\currency +\curvearrowbotleft +\curvearrowbotleftright +\curvearrowbotright +\curvearrowdownup +\curvearrowleft +\curvearrowleftright +\curvearrownesw +\curvearrownwse +\curvearrowright +\curvearrowrightleft +\curvearrowsenw +\curvearrowswne +\curvearrowupdown +\Cutleft +\Cutline +\Cutright +\d +\D +\dag +\dagger +\daleth +\DArrow +\dasheddownarrow +\dashedleftarrow +\dashednearrow +\dashednwarrow +\dashedrightarrow +\dashedsearrow +\dashedswarrow +\dasheduparrow +\dashint +\dashleftarrow +\dashleftrightarrow +\dashrightarrow +\dashv +\Dashv +\DashV +\dashVv +\davidsstar +\DavidStar +\DavidStarSolid +\dbar +\dbend +\dblcolon +\DCa +\DCb +\DCc +\DCd +\DD +\ddag +\ddagger +\ddashint +\ddddot +\dddot +\dddtstile +\DDohne +\ddot +\ddotdot +\ddots +\ddststile +\ddtstile +\ddttstile +\DeclareFontFamily +\DeclareFontShape +\DeclareMathOperator +\DeclareMathOperator* +\declareslashed +\deg +\degree +\Del +\DEL +\delta +\Delta +\deltaup +\Denarius +\dental +\descnode +\det +\devadvantage +\dfourier +\Dfourier +\dft +\DFT +\dh +\DH +\diaeresis +\diagdown +\diagonal +\diagup +\diameter +\diamond +\Diamond +\diamondbackslash +\Diamondblack +\diamonddiamond +\diamonddot +\Diamonddot +\Diamonddotleft +\DiamonddotLeft +\Diamonddotright +\DiamonddotRight +\diamonddots +\Diamondleft +\DiamondLeft +\diamondminus +\diamondplus +\Diamondright +\DiamondRight +\DiamondShadowA +\DiamondShadowB +\DiamondShadowC +\Diamondshape +\diamondslash +\DiamondSolid +\diamondsuit +\diamondtimes +\diamondvert +\diatop +\diaunder +\digamma +\dim +\ding +dingautolist +\diple +\diple* +\Diple +\Diple* +\displaystyle +\div +\divdot +\divideontimes +\divides +\dj +\DJ +\dlbari +\DLE +\dlsh +\dndtstile +\dnststile +\dntstile +\dnttstile +\Dohne +\Dontwash +\dot +\dotcup +\dotdiv +\doteq +\Doteq +\doteqdot +\dotmedvert +\dotminus +\dotplus +\dots +\dotsb +\dotsc +\dotseq +\dotsi +\dotsint +\dotsm +\dotso +\dottedtilde +\dottimes +\double +\doublebarwedge +\doublecap +\doublecup +\doublecurlyvee +\doublecurlywedge +\doublefrown +\doublefrowneq +\doublepawns +\doublesmile +\doublesmileeq +\doublesqcap +\doublesqcup +\doubletilde +\doublevee +\doublewedge +\downarrow +\Downarrow +\DOWNarrow +\downarrowtail +\downbracketfill +\downdownarrows +\downdownharpoons +\downfilledspoon +\downfootline +\downfree +\downharpoonccw +\downharpooncw +\downharpoonleft +\downharpoonright +\downlsquigarrow +\downmapsto +\downmodels +\downModels +\downp +\downparenthfill +\downpitchfork +\downpropto +\downrsquigarrow +\downslice +\downspoon +\downt +\downtherefore +\downtouparrow +\downuparrows +\downupharpoons +\downvdash +\downVdash +\downY +\drsh +\Ds +\DS +\dsaeronautical +\dsagricultural +\dsarchitectural +\dsbiological +\dschemical +\dscommercial +\dsdtstile +\dsheraldical +\dsjuridical +\dsliterary +\dsmathematical +\dsmedical +\dsmilitary +\dsrailways +\dsststile +\dstechnical +\dststile +\dsttstile +\dtdtstile +\dtimes +\dtststile +\dttstile +\dtttstile +\dz +\e +\earth +\Earth +\Ecommerce +\EightAsterisk +\EightFlowerPetal +\EightFlowerPetalRemoved +\eighthnote +\EightStar +\EightStarBold +\EightStarConvex +\EightStarTaper +\ejective +\ell +\Ellipse +\EllipseShadow +\EllipseSolid +\EM +\Email +\Emailct +\emgma +\emptyset +\End +\ending +\eng +\engma +\ENQ +\Enter +\Envelope +\enya +\EOT +\epsdice +\epsi +\epsilon +\epsilonup +\eqbump +\eqbumped +\eqcirc +\eqcolon +\Eqcolon +\eqdot +\eqfrown +\eqqcolon +\Eqqcolon +\eqsim +\eqslantgtr +\eqslantless +\eqsmile +\equal +\equalclosed +\equalsfill +\equiv +\equivclosed +\er +\Esc +\ESC +\esh +\Estatically +\eta +\etaup +\ETB +\etc +\eth +\ETX +\EUR +\EURcr +\EURdig +\EURhv +\euro +\EURtm +\exists +\exp +\Explosionsafe +\eye +\EyesDollar +\fallingdotseq +\FallingEdge +\fatbslash +\fatsemi +\fatslash +\fax +\FAX +\Faxmachine +\female +\Female +\FEMALE +\FemaleFemale +\FemaleMale +\Ferli +\Fermi +\feyn{a} +\feyn{c} +\feyn{f} +\feyn{fd} +\feyn{fl} +\feyn{fs} +\feyn{fu} +\feyn{fv} +\feyn{g} +\feyn{gl} +\feyn{glu} +\feyn{gu} +\feyn{gv} +\feyn{gvs} +\feyn{h} +\feyn{hd} +\feyn{hs} +\feyn{hu} +\feyn{m} +\feyn{ms} +\feyn{p} +\feyn{x} +\FF +\fgeA +\fgebackslash +\fgebaracute +\fgebarcap +\fgec +\fgecap +\fgecapbar +\fgecup +\fgecupacute +\fgecupbar +\fged +\fgee +\fgeeszett +\fgeeta +\fgef +\fgeF +\fgeinfty +\fgelangle +\fgelb +\fgeleftB +\fgeleftC +\fgeN +\fgeoverU +\fgerightarrow +\fgerightB +\fges +\fgestruckone +\fgestruckzero +\fgeU +\fgeuparrow +\fgeupbracket +\FHBOlogo +\FHBOLOGO +\file +\FilledBigCircle +\FilledBigDiamondshape +\FilledBigSquare +\FilledBigTriangleDown +\FilledBigTriangleLeft +\FilledBigTriangleRight +\FilledBigTriangleUp +\FilledCircle +\FilledCloud +\filleddiamond +\FilledDiamondShadowA +\FilledDiamondShadowC +\FilledDiamondshape +\FilledHut +\filledlargestar +\filledlozenge +\filledmedlozenge +\filledmedsquare +\filledmedtriangledown +\filledmedtriangleleft +\filledmedtriangleright +\filledmedtriangleup +\FilledRainCloud +\FilledSectioningDiamond +\FilledSmallCircle +\FilledSmallDiamondshape +\FilledSmallSquare +\FilledSmallTriangleDown +\FilledSmallTriangleLeft +\FilledSmallTriangleRight +\FilledSmallTriangleUp +\FilledSnowCloud +\filledsquare +\FilledSquare +\FilledSquareShadowA +\FilledSquareShadowC +\filledsquarewithdots +\filledstar +\FilledSunCloud +\filledtriangledown +\FilledTriangleDown +\filledtriangleleft +\FilledTriangleLeft +\filledtriangleright +\FilledTriangleRight +\filledtriangleup +\FilledTriangleUp +\FilledWeakRainCloud +\finpartvoice +\finpartvoiceless +\fint +\Finv +\Fire +\fivedots +\FiveFlowerOpen +\FiveFlowerPetal +\FiveStar +\FiveStarCenterOpen +\FiveStarConvex +\FiveStarLines +\FiveStarOpen +\FiveStarOpenCircled +\FiveStarOpenDotted +\FiveStarOutline +\FiveStarOutlineHeavy +\FiveStarShadow +\Fixedbearing +\fixedddots +\fixedvdots +\fj +\Flag +\flap +\flapr +\flat +\Flatsteel +\Fog +\fontencoding +\fontsize +\Football +\forall +\Force +\Forward +\ForwardToEnd +\ForwardToIndex +\FourAsterisk +\FourClowerOpen +\FourClowerSolid +\fourier +\Fourier +\FourStar +\FourStarOpen +\fourth +\frown +\frowneq +\frowneqsmile +\frownie +\frownsmile +\frownsmileeq +\Frowny +\FS +\FullFHBO +\fullmoon +\fullnote +\G +\Game +\gamma +\Gamma +\gammaup +\Ganz +\GaPa +\gcd +\gemini +\Gemini +\geneuro +\geneuronarrow +\geneurowide +\Gentsroom +\geq +\geqclosed +\geqdot +\geqq +\geqslant +\geqslantdot +\gg +\ggcurly +\ggg +\gggtr +\gimel +\girl +\glotstop +\glottal +\gluon +\gnapprox +\gneq +\gneqq +\gnsim +\Goofy +\grave +\gravis +\GS +\gtr +\gtrapprox +\gtrclosed +\gtrdot +\gtreqless +\gtreqlessslant +\gtreqqless +\gtrless +\gtrneqqless +\gtrsim +\guillemotleft +\guillemotright +\guilsinglleft +\guilsinglright +\gvertneqq +\h +\H +\Ha +\HA +\Hail +\Halb +\HalfCircleLeft +\HalfCircleRight +\HalfFilledHut +\halflength +\halfnote +\HalfSun +\HandCuffLeft +\HandCuffLeftUp +\HandCuffRight +\HandCuffRightUp +\HandLeft +\HandLeftUp +\HandPencilLeft +\HandRight +\HandRightUp +\Handwash +\HaPa +\hash +\hat +\hateq +\hausab +\hausaB +\hausad +\hausaD +\hausak +\hausaK +\Hb +\HB +\hbar +\HBar +\hbipropto +\Hc +\HC +\hcrossing +\HCthousand +\Hd +\HD +\hdotdot +\hdots +\Hdual +\He +\HE +\Heart +\heartsuit +\Hermaphrodite +\HERMAPHRODITE +\hexagon +\Hexasteel +\hexstar +\Hf +\HF +\hfil +\Hg +\HG +\Hh +\HH +\Hhundred +\Hi +\HI +\Hibl +\Hibp +\Hibs +\Hibw +\hill +\Hj +\HJ +\Hk +\HK +\hksqrt +\Hl +\HL +\Hm +\HM +\Hman +\Hmillion +\Hms +\Hn +\HN +\Ho +\HO +\holter +\hom +\Home +\Homer +\Hone +\hookb +\hookd +\hookdownminus +\hookg +\hookh +\hookheng +\hookleftarrow +\hookrevepsilon +\hookrightarrow +\hookupminus +\Hp +\HP +\Hplural +\Hplus +\Hq +\HQ +\Hquery +\Hr +\HR +\Hs +\HS +\Hscribe +\hslash +\Hslash +\Hsv +\Ht +\HT +\Hten +\Hthousand +\Htongue +\Hu +\HU +\Hut +\hv +\Hv +\HV +\Hvbar +\Hw +\HW +\Hx +\HX +\HXthousand +\Hy +\HY +\Hz +\HZ +\i +\ialign +\ibar +\IceMountain +\iddots +\idotsint +\igocircle +\igocross +\igonone +\igosquare +\igotriangle +\iiiint +\iiint +\iint +\im +\Im +\imath +\in +\incoh +\independent +\Industry +\inf +\Info +\infty +\inipartvoice +\inipartvoiceless +\injlim +\inplus +\Ins +\int +\intclockwise +\intercal +\interleave +\Interval +\inva +\invamp +\invbackneg +\invdiameter +\inve +\InversTransformHoriz +\InversTransformVert +\invf +\invglotstop +\invh +\invlegr +\invm +\invneg +\invr +\invscr +\invscripta +\invv +\invw +\invy +\iota +\iotaup +\ipagamma +\IroningI +\IroningII +\IroningIII +\Irritant +\ismodeledby +\j +\JackStar +\JackStarBold +\jmath +\Joch +\Join +\joinrel +\jupiter +\Jupiter +\k +\kappa +\kappaup +\ker +\Keyboard +\keystroke +\Kr +\kreuz +\kside +\Kutline +\l +\L +\labdentalnas +\labvel +\Ladiesroom +\lambda +\Lambda +\lambdabar +\lambdaslash +\lambdaup +\landdownint +\landupint +\langle +\lAngle +\Langle +\langlebar +\laplace +\Laplace +\largecircle +\largediamond +\largelozenge +\largepencil +\largepentagram +\largesquare +\largestar +\largestarofdavid +\largetriangledown +\largetriangleleft +\largetriangleright +\largetriangleup +\LArrow +\larrowfill +\Laserbeam +\latfric +\lbag +\Lbag +\lbrace +\lBrack +\Lbrack +\lceil +\lCeil +\lcirclearrowdown +\lcirclearrowleft +\lcirclearrowright +\lcirclearrowup +\lcircleleftint +\lcirclerightint +\lcm +\lcorners +\lcurvearrowdown +\lcurvearrowleft +\lcurvearrowne +\lcurvearrownw +\lcurvearrowright +\lcurvearrowse +\lcurvearrowsw +\lcurvearrowup +\ldbrack +\ldotp +\ldots +\leadsto +\left +\Left +\leftarrow +\Leftarrow +\LEFTarrow +\leftarrowtail +\leftarrowtriangle +\leftbarharpoon +\Leftcircle +\LEFTcircle +\LEFTCIRCLE +\leftevaw +\leftfilledspoon +\leftfootline +\leftfree +\lefthalfcap +\lefthalfcup +\leftharpoonccw +\leftharpooncw +\leftharpoondown +\leftharpoonup +\leftleftarrows +\leftleftharpoons +\leftlsquigarrow +\leftmapsto +\leftmodels +\leftModels +\leftmoon +\leftp +\leftpitchfork +\leftpointright +\leftpropto +\leftrightarrow +\Leftrightarrow +\leftrightarroweq +\leftrightarrows +\leftrightarrowtriangle +\leftrightharpoon +\leftrightharpoondownup +\leftrightharpoons +\leftrightharpoonsfill +\leftrightharpoonupdown +\leftrightline +\Leftrightline +\leftrightsquigarrow +\leftrsquigarrow +\Leftscissors +\leftslice +\leftspoon +\leftsquigarrow +\leftt +\lefttherefore +\leftthreetimes +\leftthumbsdown +\leftthumbsup +\lefttorightarrow +\Lefttorque +\leftturn +\leftvdash +\leftVdash +\leftwave +\leftY +\legm +\legr +\length +\leo +\Leo +\leq +\leqclosed +\leqdot +\leqq +\leqslant +\leqslantdot +\less +\lessapprox +\lessclosed +\lessdot +\lesseqgtr +\lesseqgtrslant +\lesseqqgtr +\lessgtr +\lessneqqgtr +\lesssim +\Letter +\levaw +\LF +\lfilet +\lfloor +\lFloor +\lg +\lgroup +\lhd +\LHD +\lhdbend +\lhookdownarrow +\lhookleftarrow +\lhooknearrow +\lhooknwarrow +\lhookrightarrow +\lhooksearrow +\lhookswarrow +\lhookuparrow +\libra +\Libra +\lightbulb +\lightning +\Lightning +\lim +\liminf +\limsup +\Lineload +\Lisa +\lJoin +\ll +\llangle +\llap +\llbracket +\llceil +\llcorner +\llcurly +\Lleftarrow +\llfloor +\lll +\llless +\llparenthesis +\lmoustache +\ln +\lnapprox +\lneq +\lneqq +\lnot +\lnsim +\log +\logof +\longleftarrow +\Longleftarrow +\longleftrightarrow +\Longleftrightarrow +\longmapsfrom +\Longmapsfrom +\longmapsto +\Longmapsto +\LongPulseHigh +\LongPulseLow +\longrightarrow +\Longrightarrow +\looparrowdownleft +\looparrowdownright +\looparrowleft +\looparrowright +\Loosebearing +\LowerDiamond +\lozenge +\Lparen +\lrcorner +\lrtimes +\lsem +\Lsh +\Lsteel +\ltimes +\ltriple +\lvert +\lVert +\lvertneqq +\lwave +\lwavy +\lWavy +\lz +\m +\M +\ma +\macron +\Maggie +\makeatletter +\makeatother +\male +\Male +\MALE +\MaleMale +\maltese +\manboldkidney +\manconcentriccircles +\manconcentricdiamond +\mancone +\mancube +\manerrarrow +\manfilledquartercircle +\manhpennib +\manimpossiblecube +\mankidney +\manlhpenkidney +\manpenkidney +\manquadrifolium +\manquartercircle +\manrotatedquadrifolium +\manrotatedquartercircle +\manstar +\mantiltpennib +\mantriangledown +\mantriangleright +\mantriangleup +\manvpennib +\mappedfromchar +\Mappedfromchar +\mapsfrom +\Mapsfrom +\mapsfromchar +\Mapsfromchar +\mapsto +\Mapsto +\mapstochar +\Mapstochar +\Marge +\markera +\markerb +\mars +\Mars +\MartinVogel +\mate +\mathaccent +\mathbb +\mathbbm +\mathbbmss +\mathbbmtt +\mathbf +\mathbin +\mathbold +\mathcal +\mathcent +\mathchoice +\mathclose +\mathdollar +\mathds +\mathellipsis +\mathfrak +\mathit +\mathnormal +\mathop +\mathopen +\mathord +\mathpalette +\mathparagraph +\mathpunct +\mathpzc +\mathrel +\mathring +\mathrm +\mathscr +\mathsection +\mathsterling +\mathunderscore +\max +\maya +\mb +\Mb +\mbb +\mbB +\mBb +\Mbb +\mbbx +\mbox +\measuredangle +\medbackslash +\medbullet +\medcirc +\medcircle +\meddiamond +\medlozenge +\medslash +\medsquare +\medstar +\medstarofdavid +\medtriangledown +\medtriangleleft +\medtriangleright +\medtriangleup +\medvert +\medvertdot +\mercury +\Mercury +\merge +metre +\mho +\micro +\mid +\middle +\midtilde +\min +\minus +\minusdot +\minushookdown +\minushookup +\minuso +\mmappedfromchar +\Mmappedfromchar +\mmapstochar +\Mmapstochar +\Mobilefone +\mod +\models +\moo +\Moon +\morepawns +\moreroom +\Mountain +\MoveDown +\moverlay +\MoveUp +\mp +\mu +\multimap +\multimapboth +\multimapbothvert +\multimapdot +\multimapdotboth +\multimapdotbothA +\multimapdotbothAvert +\multimapdotbothB +\multimapdotbothBvert +\multimapdotbothvert +\multimapdotinv +\multimapinv +\Mundus +\muup +\MVAt +\MVEight +\MVFive +\MVFour +\MVNine +\MVOne +\MVRightarrow +\MVSeven +\MVSix +\MVThree +\MVTwo +\MVZero +\nabla +\NAK +\napprox +\napproxeq +\nasymp +\natural +\nbackapprox +\nbackapproxeq +\nbackcong +\nbackeqsim +\nbacksim +\nbacksimeq +\nbacktriplesim +\NBSP +\nbumpeq +\nBumpeq +\ncirceq +\ncirclearrowleft +\ncirclearrowright +\nclosedequal +\ncong +\ncurlyeqprec +\ncurlyeqsucc +\ncurvearrowdownup +\ncurvearrowleft +\ncurvearrowleftright +\ncurvearrownesw +\ncurvearrownwse +\ncurvearrowright +\ncurvearrowrightleft +\ncurvearrowsenw +\ncurvearrowswne +\ncurvearrowupdown +\ndasharrow +\ndasheddownarrow +\ndashedleftarrow +\ndashednearrow +\ndashednwarrow +\ndashedrightarrow +\ndashedsearrow +\ndashedswarrow +\ndasheduparrow +\ndashleftarrow +\ndashrightarrow +\ndashv +\ndashV +\nDashv +\nDashV +\ndashVv +\nddtstile +\ndiagdown +\ndiagup +\ndivides +\ndoteq +\nDoteq +\ndoublefrown +\ndoublefrowneq +\ndoublesmile +\ndoublesmileeq +\ndownarrow +\nDownarrow +\ndownarrowtail +\ndowndownarrows +\ndownfilledspoon +\ndownfootline +\ndownfree +\ndownharpoonccw +\ndownharpooncw +\ndownlsquigarrow +\ndownmapsto +\ndownmodels +\ndownModels +\ndownpitchfork +\ndownrsquigarrow +\ndownspoon +\ndownuparrows +\ndownupharpoons +\ndownvdash +\ndownVdash +\ndststile +\ndtstile +\ndttstile +\ne +\nearrow +\Nearrow +\nearrowtail +\nefilledspoon +\nefootline +\nefree +\neg +\neharpoonccw +\neharpooncw +\nelsquigarrow +\nemapsto +\nemodels +\neModels +\nenearrows +\nepitchfork +\neptune +\Neptune +\neq +\neqbump +\neqcirc +\neqdot +\neqfrown +\neqsim +\neqslantgtr +\neqslantless +\neqsmile +\nequal +\nequalclosed +\nequiv +\nequivclosed +\nersquigarrow +\nespoon +\neswarrow +\Neswarrow +\neswarrows +\neswbipropto +\neswcrossing +\neswharpoonnwse +\neswharpoons +\neswharpoonsenw +\neswline +\Neswline +\Neutral +\nevdash +\neVdash +\newextarrow +\newmoon +\newtie +\nexists +\nfallingdotseq +\nfrown +\nfrowneq +\nfrowneqsmile +\nfrownsmile +\nfrownsmileeq +\ng +\NG +\ngeq +\ngeqclosed +\ngeqdot +\ngeqq +\ngeqslant +\ngeqslantdot +\ngets +\ngg +\nggg +\ngtr +\ngtrapprox +\ngtrclosed +\ngtrdot +\ngtreqless +\ngtreqlessslant +\ngtreqqless +\ngtrless +\ngtrsim +\nhateq +\nhookleftarrow +\nhookrightarrow +\ni +\nialpha +\nibeta +\NibLeft +\NibRight +\NibSolidLeft +\NibSolidRight +\nichi +\niepsilon +\nigamma +\niiota +\nilambda +\nin +\niomega +\niphi +\niplus +\nisigma +\nitheta +\niupsilon +\niv +\nj +\nlcirclearrowdown +\nlcirclearrowleft +\nlcirclearrowright +\nlcirclearrowup +\nlcurvearrowdown +\nlcurvearrowleft +\nlcurvearrowne +\nlcurvearrownw +\nlcurvearrowright +\nlcurvearrowse +\nlcurvearrowsw +\nlcurvearrowup +\nleadsto +\nleftarrow +\nLeftarrow +\nleftarrowtail +\nleftfilledspoon +\nleftfootline +\nleftfree +\nleftharpoonccw +\nleftharpooncw +\nleftleftarrows +\nleftlsquigarrow +\nleftmapsto +\nleftmodels +\nleftModels +\nleftpitchfork +\nleftrightarrow +\nLeftrightarrow +\nleftrightarrows +\nleftrightharpoondownup +\nleftrightharpoons +\nleftrightharpoonupdown +\nleftrightline +\nLeftrightline +\nleftrightsquigarrow +\nleftrsquigarrow +\nleftspoon +\nleftvdash +\nleftVdash +\nleq +\nleqclosed +\nleqdot +\nleqq +\nleqslant +\nleqslantdot +\nless +\nlessapprox +\nlessclosed +\nlessdot +\nlesseqgtr +\nlesseqgtrslant +\nlesseqqgtr +\nlessgtr +\nlesssim +\nlhookdownarrow +\nlhookleftarrow +\nlhooknearrow +\nlhooknwarrow +\nlhookrightarrow +\nlhooksearrow +\nlhookswarrow +\nlhookuparrow +\nll +\nLleftarrow +\nlll +\nmapsto +\nmid +\nmodels +\nmultimap +\nndtstile +\nnearrow +\nNearrow +\nnearrowtail +\nnefilledspoon +\nnefootline +\nnefree +\nneharpoonccw +\nneharpooncw +\nnelsquigarrow +\nnemapsto +\nnemodels +\nneModels +\nnenearrows +\nnepitchfork +\nnersquigarrow +\nnespoon +\nneswarrow +\nNeswarrow +\nneswarrows +\nneswharpoonnwse +\nneswharpoons +\nneswharpoonsenw +\nneswline +\nNeswline +\nnevdash +\nneVdash +\nnststile +\nntstile +\nnttstile +\nnwarrow +\nNwarrow +\nnwarrowtail +\nnwfilledspoon +\nnwfootline +\nnwfree +\nnwharpoonccw +\nnwharpooncw +\nnwlsquigarrow +\nnwmapsto +\nnwmodels +\nnwModels +\nnwnwarrows +\nnwpitchfork +\nnwrsquigarrow +\nnwsearrow +\nNwsearrow +\nnwsearrows +\nnwseharpoonnesw +\nnwseharpoons +\nnwseharpoonswne +\nnwseline +\nNwseline +\nnwspoon +\nnwvdash +\nnwVdash +\NoBleech +\NoChemicalCleaning +\NoIroning +\NoSun +\not +\notasymp +\notbackslash +\notbot +\notdivides +\notequiv +\notin +\notni +\notowner +\notperp +\notslash +\notsmallin +\notsmallowns +\nottop +\NoTumbler +\novelty +\nowns +\nparallel +\nperp +\npitchfork +\nplus +\nprec +\nprecapprox +\npreccurlyeq +\npreceq +\npreceqq +\nprecsim +\nrcirclearrowdown +\nrcirclearrowleft +\nrcirclearrowright +\nrcirclearrowup +\nrcurvearrowdown +\nrcurvearrowleft +\nrcurvearrowne +\nrcurvearrownw +\nrcurvearrowright +\nrcurvearrowse +\nrcurvearrowsw +\nrcurvearrowup +\nrelbar +\nRelbar +\nrestriction +\nrhookdownarrow +\nrhookleftarrow +\nrhooknearrow +\nrhooknwarrow +\nrhookrightarrow +\nrhooksearrow +\nrhookswarrow +\nrhookuparrow +\nrightarrow +\nRightarrow +\nrightarrowtail +\nrightfilledspoon +\nrightfootline +\nrightfree +\nrightharpoonccw +\nrightharpooncw +\nrightleftarrows +\nrightleftharpoons +\nrightlsquigarrow +\nrightmapsto +\nrightmodels +\nrightModels +\nrightpitchfork +\nrightrightarrows +\nrightrsquigarrow +\nrightspoon +\nrightsquigarrow +\nrightvdash +\nrightVdash +\nrisingdotseq +\nRrightarrow +\nsdtstile +\nsearrow +\nSearrow +\nsearrowtail +\nsefilledspoon +\nsefootline +\nsefree +\nseharpoonccw +\nseharpooncw +\nselsquigarrow +\nsemapsto +\nsemodels +\nseModels +\nsenwarrows +\nsenwharpoons +\nsepitchfork +\nsersquigarrow +\nsesearrows +\nsespoon +\nsevdash +\nseVdash +\nshortmid +\nshortparallel +\nsim +\nsimeq +\nsmile +\nsmileeq +\nsmileeqfrown +\nsmilefrown +\nsmilefrowneq +\nsqdoublefrown +\nsqdoublefrowneq +\nsqdoublesmile +\nsqdoublesmileeq +\nsqeqfrown +\nsqeqsmile +\nsqfrown +\nsqfrowneq +\nsqfrowneqsmile +\nsqfrownsmile +\nsqsmile +\nsqsmileeq +\nsqsmileeqfrown +\nsqsmilefrown +\nsqsubset +\nsqSubset +\nSqsubset +\nsqsubseteq +\nsqsubseteqq +\nsqsupset +\nsqSupset +\nSqsupset +\nsqsupseteq +\nsqsupseteqq +\nsqtriplefrown +\nsqtriplesmile +\nsquigarrowdownup +\nsquigarrowleftright +\nsquigarrownesw +\nsquigarrownwse +\nsquigarrowrightleft +\nsquigarrowsenw +\nsquigarrowswne +\nsquigarrowupdown +\nsststile +\nststile +\nsttstile +\nsubset +\nSubset +\nsubseteq +\nsubseteqq +\nsucc +\nsuccapprox +\nsucccurlyeq +\nsucceq +\nsucceqq +\nsuccsim +\nsupset +\nSupset +\nsupseteq +\nsupseteqq +\nswarrow +\nSwarrow +\nswarrowtail +\nswfilledspoon +\nswfootline +\nswfree +\nswharpoonccw +\nswharpooncw +\nswlsquigarrow +\nswmapsto +\nswmodels +\nswModels +\nswnearrows +\nswneharpoons +\nswpitchfork +\nswrsquigarrow +\nswspoon +\nswswarrows +\nswvdash +\nswVdash +\ntdtstile +\nthickapprox +\nto +\ntriangleeq +\ntriangleleft +\ntrianglelefteq +\ntrianglelefteqslant +\ntriangleright +\ntrianglerighteq +\ntrianglerighteqslant +\ntriplefrown +\ntriplesim +\ntriplesmile +\ntststile +\nttstile +\ntttstile +\ntwoheaddownarrow +\ntwoheadleftarrow +\ntwoheadnearrow +\ntwoheadnwarrow +\ntwoheadrightarrow +\ntwoheadsearrow +\ntwoheadswarrow +\ntwoheaduparrow +\nu +\NUL +\NumLock +\nuparrow +\nUparrow +\nuparrowtail +\nupdownarrow +\nUpdownarrow +\nupdownarrows +\nupdownharpoonleftright +\nupdownharpoonrightleft +\nupdownharpoons +\nupdownline +\nUpdownline +\nupfilledspoon +\nupfootline +\nupfree +\nupharpoonccw +\nupharpooncw +\nuplsquigarrow +\nupmapsto +\nupmodels +\nupModels +\nuppitchfork +\nuprsquigarrow +\nupspoon +\nupuparrows +\nupvdash +\nupVdash +\nuup +\nvargeq +\nvarleq +\nvarparallel +\nvarparallelinv +\nvdash +\nvDash +\nVdash +\nVDash +\nVvash +\nwarrow +\Nwarrow +\nwarrowtail +\nwfilledspoon +\nwfootline +\nwfree +\nwharpoonccw +\nwharpooncw +\nwlsquigarrow +\nwmapsto +\nwmodels +\nwModels +\nwnwarrows +\nwpitchfork +\nwrsquigarrow +\nwsearrow +\Nwsearrow +\nwsearrows +\nwsebipropto +\nwsecrossing +\nwseharpoonnesw +\nwseharpoons +\nwseharpoonswne +\nwseline +\Nwseline +\nwspoon +\nwvdash +\nwVdash +o +\o +\O +\oast +\oasterisk +\obackslash +\obar +\obelus +\obelus* +\Obelus +\Obelus* +\oblong +\obot +\obslash +\oc +\ocirc +\ocircle +\ocoasterisk +\octagon +\Octosteel +\od +\odiv +\odot +\odplus +\oe +\OE +\officialeuro +\offinterlineskip +\ogreaterthan +\ohill +\ohm +\Ohne +\ohorn +\OHORN +\oiiint +\oiiintclockwise +\oiiintctrclockwise +\oiint +\oiintclockwise +\oiintctrclockwise +\oint +\ointclockwise +\ointctrclockwise +\oldstylenums +\oleft +\olessthan +\omega +\Omega +\omegaup +\ominus +\onlymove +\oo +\ooalign +\open +\openJoin +\openo +\opentimes +\oplus +\opposbishops +\opposition +\oright +\OrnamentDiamondSolid +\oslash +\ostar +\otimes +\otop +\otriangle +\otriangleup +\ovee +\overarc +\overbrace +\overbracket +\overbridge +\overgroup +\overleftarrow +\overleftharpoon +\overleftrightarrow +\overline +\overlinesegment +\overparenthesis +\overrightarrow +\Overrightarrow +\overrightharpoon +\overring +\overset +\overt +\ovoid +\owedge +\owns +\ownsbar +\p +\p@ +\P +\PaperLandscape +\PaperPortrait +\parallel +\ParallelPort +\parr +\partial +\partialslash +\partialvardint +\partialvardlanddownint +\partialvardlandupint +\partialvardlcircleleftint +\partialvardlcirclerightint +\partialvardoiint +\partialvardoint +\partialvardrcircleleftint +\partialvardrcirclerightint +\partialvardstrokedint +\partialvardsumint +\partialvartint +\partialvartlanddownint +\partialvartlandupint +\partialvartlcircleleftint +\partialvartlcirclerightint +\partialvartoiint +\partialvartoint +\partialvartrcircleleftint +\partialvartrcirclerightint +\partialvartstrokedint +\partialvartsumint +\partvoice +\partvoiceless +\passedpawn +\Peace +\PencilLeft +\PencilLeftDown +\PencilLeftUp +\PencilRight +\PencilRightDown +\PencilRightUp +\pentagon +\pentagram +\permil +\perp +\Perp +\perthousand +\Pfund +\PgDown +\PgUp +\PHarrow +\PHbee +\PHbeehive +\PHboomerang +\PHbow +\PHbullLeg +\PHcaptive +\PHcarpentryPlane +\PHcat +\PHchild +\PHclub +\PHcolumn +\PHcomb +\PHdolium +\PHdove +\PHeagle +\PHflute +\PHgaunlet +\PHgrater +\PHhelmet +\PHhide +\PHhorn +\phi +\Phi +\phiup +\PHlid +\PHlily +\PHmanacles +\PHmattock +\phone +\Phone +\PhoneHandset +\photon +\PHoxBack +\PHpapyrus +\PHpedestrian +\PHplaneTree +\PHplumedHead +\PHram +\PHrosette +\PHsaw +\PHshield +\PHship +\PHsling +\PHsmallAxe +\PHstrainer +\PHtattooedHead +\PHtiara +\PHtunny +\PHvine +\PHwavyBand +\PHwoman +\pi +\Pi +\Pickup +\pisces +\Pisces +\Pisymbol +\pitchfork +\piup +\planck +\Plane +\plus +\Plus +\PlusCenterOpen +\pluscirc +\PlusOutline +\PlusThinCenterOpen +\pluto +\Pluto +\pm +\pmb +\pmod +\pod +\pointer +\Pointinghand +\polishhook +\polter +\pounds +\powerset +\pp +\Pp +\ppm +\ppp +\Ppp +\pppp +\Pppp +\ppppp +\Ppppp +\Pr +\prec +\precapprox +\preccurlyeq +\precdot +\preceq +\preceqq +\precnapprox +\precneq +\precneqq +\precnsim +\precsim +\prime +\Printer +\prod +\projlim +\propto +\ProvidesPackage +\PrtSc +\ps +\psi +\Psi +\psiup +\Pu +\PulseHigh +\PulseLow +\pwedge +\pxp +\Pxp +\qside +\quadrad +\Quadrad +\quadras +\Quadras +\quarternote +\quotedblbase +\quotesinglbase +\r +\R +\Radiation +\Radioactivity +\Rain +\RainCloud +\RaisingEdge +\rangle +\rAngle +\Rangle +\ranglebar +\RArrow +\rarrowfill +\rbag +\Rbag +\rbrace +\rBrack +\Rbrack +\rc +\rceil +\rCeil +\rcirclearrowdown +\rcirclearrowleft +\rcirclearrowright +\rcirclearrowup +\rcircleleftint +\rcirclerightint +\rcorners +\rcurvearrowdown +\rcurvearrowleft +\rcurvearrowne +\rcurvearrownw +\rcurvearrowright +\rcurvearrowse +\rcurvearrowsw +\rcurvearrowup +\rdbrack +\Re +\recorder +\Rectangle +\RectangleBold +\RectangleThin +\Rectpipe +\Rectsteel +\reflectbox +\relbar +\Relbar +\resizebox +\respondens +\Respondens +\restoresymbol +\restriction +\Return +\revaw +\revD +\revddots +\reve +\reveject +\revepsilon +\reversedvideodbend +\revglotstop +\Rewind +\RewindToIndex +\RewindToStart +\rfilet +\rfloor +\rFloor +\rgroup +\rhd +\RHD +\rho +\rhookdownarrow +\rhookleftarrow +\rhooknearrow +\rhooknwarrow +\rhookrightarrow +\rhooksearrow +\rhookswarrow +\rhookuparrow +\rhoup +\right +\rightangle +\rightarrow +\Rightarrow +\RIGHTarrow +\rightarrowtail +\rightarrowtriangle +\rightbarharpoon +\Rightcircle +\RIGHTcircle +\RIGHTCIRCLE +\RightDiamond +\rightevaw +\rightfilledspoon +\rightfootline +\rightfree +\righthalfcap +\righthalfcup +\rightharpoonccw +\rightharpooncw +\rightharpoondown +\rightharpoonup +\rightleftarrows +\rightleftharpoon +\rightleftharpoons +\rightleftharpoonsfill +\rightlsquigarrow +\rightmapsto +\rightmodels +\rightModels +\rightmoon +\rightp +\rightpitchfork +\rightpointleft +\rightpointright +\rightpropto +\rightrightarrows +\rightrightharpoons +\rightrsquigarrow +\Rightscissors +\rightslice +\rightspoon +\rightsquigarrow +\rightt +\righttherefore +\rightthreetimes +\rightthumbsdown +\rightthumbsup +\righttoleftarrow +\Righttorque +\rightturn +\rightvdash +\rightVdash +\rightwave +\rightY +\ring +\riota +\rip +\risingdotseq +\rJoin +\rlap +\rmoustache +\rotatebox +\rotm +\rotOmega +\rotr +\rotvara +\rotw +\roty +\RoundedLsteel +\RoundedTsteel +\RoundedTTsteel +\Rparen +\rqm +\rrangle +\rrbracket +\rrceil +\rrfloor +\Rrightarrow +\rrparenthesis +\RS +\rsem +\Rsh +\rtimes +\rtriple +\rvert +\rVert +\rwave +\rwavy +\rWavy +\S +\sagittarius +\Sagittarius +\samebishops +\satellitedish +\saturn +\Saturn +\savesymbol +\Sborder +\scalebox +\scd +\scg +\schwa +\sci +\ScissorHollowLeft +\ScissorHollowRight +\ScissorLeft +\ScissorLeftBrokenBottom +\ScissorLeftBrokenTop +\ScissorRight +\ScissorRightBrokenBottom +\ScissorRightBrokenTop +\scn +\scoh +\scorpio +\Scorpio +\scr +\scripta +\scriptg +\scriptscriptstyle +\scriptstyle +\scriptv +\Scroll +\scu +\scy +\sddtstile +\sdststile +\sdtstile +\sdttstile +\searrow +\Searrow +\searrowtail +\sec +\Sech +\SechBl +\SechBL +\SechBr +\SechBR +\second +\secstress +\SectioningDiamond +\see +\sefilledspoon +\sefootline +\sefree +\seharpoonccw +\seharpooncw +\selectfont +\selsquigarrow +\semapsto +\semodels +\seModels +\senwarrows +\senwharpoons +\SePa +\separated +\sepitchfork +\seppawns +\SerialInterface +\SerialPort +\sersquigarrow +\sesearrows +\sespoon +\setminus +\sevdash +\seVdash +\sharp +\shift +\Shift +\Shilling +\shneg +\shortdownarrow +\ShortFifty +\ShortForty +\shortleftarrow +\shortmid +\ShortNinetyFive +\shortparallel +\ShortPulseHigh +\ShortPulseLow +\shortrightarrow +\ShortSixty +\ShortThirty +\shortuparrow +\showclock +\shpos +\SI +\sigma +\Sigma +\sigmaup +\sim +\simeq +\sin +\sincoh +\sinh +\SixFlowerAlternate +\SixFlowerAltPetal +\SixFlowerOpenCenter +\SixFlowerPetalDotted +\SixFlowerPetalRemoved +\SixFlowerRemovedOpenPetal +\SixStar +\SixteenStarLight +\sixteenthnote +\skull +\slash +\slashb +\slashc +\slashd +\slashdiv +\slashed +\slashu +\Sleet +\sliding +\smallbosonloop +\SmallCircle +\SmallCross +\smalldiamond +\SmallDiamondshape +\smallfrown +\SmallHBar +\smallin +\smallint +\SmallLowerDiamond +\smalllozenge +\smallowns +\smallpencil +\smallprod +\SmallRightDiamond +\smallsetminus +\smallsmile +\smallsquare +\SmallSquare +\smallstar +\smalltriangledown +\SmallTriangleDown +\smalltriangleleft +\SmallTriangleLeft +\smalltriangleright +\SmallTriangleRight +\smalltriangleup +\SmallTriangleUp +\SmallVBar +\smile +\smileeq +\smileeqfrown +\smilefrown +\smilefrowneq +\smiley +\Smiley +\sndtstile +\Snow +\SnowCloud +\Snowflake +\SnowflakeChevron +\SnowflakeChevronBold +\SNPP +\snststile +\sntstile +\snttstile +\SO +\SOH +\Spacebar +\spadesuit +\Sparkle +\SparkleBold +\SpecialForty +\sphericalangle +\SpinDown +\SpinUp +\spirituslenis +\splitvert +\spreadlips +\sqbullet +\sqcap +\sqcapdot +\sqcapplus +\sqcup +\sqcupdot +\sqcupplus +\sqdoublecap +\sqdoublecup +\sqdoublefrown +\sqdoublefrowneq +\sqdoublesmile +\sqdoublesmileeq +\sqeqfrown +\sqeqsmile +\sqfrown +\sqfrowneq +\sqfrowneqsmile +\sqfrownsmile +\sqiiint +\sqiint +\sqint +\sqrt +\sqsmile +\sqsmileeq +\sqsmileeqfrown +\sqsmilefrown +\sqsubset +\sqSubset +\Sqsubset +\sqsubseteq +\sqsubseteqq +\sqsubsetneq +\sqsubsetneqq +\sqsupset +\sqSupset +\Sqsupset +\sqsupseteq +\sqsupseteqq +\sqsupsetneq +\sqsupsetneqq +\sqtriplefrown +\sqtriplesmile +\square +\Square +\SquareCastShadowBottomRight +\SquareCastShadowTopLeft +\SquareCastShadowTopRight +\Squaredot +\squaredots +\Squarepipe +\SquareShadowA +\SquareShadowB +\SquareShadowBottomRight +\SquareShadowC +\SquareShadowTopLeft +\SquareShadowTopRight +\SquareSolid +\Squaresteel +\squarewithdots +\squigarrowdownup +\squigarrowleftright +\squigarrownesw +\squigarrownwse +\squigarrowrightleft +\squigarrowsenw +\squigarrowswne +\squigarrowupdown +\squplus +\ss +\SS +\ssdtstile +\ssearrow +\sslash +\ssststile +\sststile +\ssttstile +\sswarrow +\stackrel +\star +\staveI +\staveII +\staveIII +\staveIV +\staveIX +\staveL +\staveLI +\staveLII +\staveLIII +\staveLIV +\staveLIX +\staveLV +\staveLVI +\staveLVII +\staveLVIII +\staveLX +\staveLXI +\staveLXII +\staveLXIII +\staveLXIV +\staveLXV +\staveLXVI +\staveLXVII +\staveLXVIII +\staveV +\staveVI +\staveVII +\staveVIII +\staveX +\staveXI +\staveXII +\staveXIII +\staveXIV +\staveXIX +\staveXL +\staveXLI +\staveXLII +\staveXLIII +\staveXLIV +\staveXLIX +\staveXLV +\staveXLVI +\staveXLVII +\staveXLVIII +\staveXV +\staveXVI +\staveXVII +\staveXVIII +\staveXX +\staveXXI +\staveXXII +\staveXXIII +\staveXXIV +\staveXXIX +\staveXXV +\staveXXVI +\staveXXVII +\staveXXVIII +\staveXXX +\staveXXXI +\staveXXXII +\staveXXXIII +\staveXXXIV +\staveXXXIX +\staveXXXV +\staveXXXVI +\staveXXXVII +\staveXXXVIII +\stdtstile +\steaming +\StoneMan +\Stopsign +\StopWatchEnd +\StopWatchStart +\stress +\strictfi +\strictif +\strictiff +\strokedint +\StrokeFive +\StrokeFour +\StrokeOne +\StrokeThree +\StrokeTwo +\stst +\stststile +\sttstile +\stttstile +\STX +\SUB +\subcorner +\subdoublebar +\subdoublevert +\sublptr +\subrptr +\subset +\Subset +\subseteq +\subseteqq +\subsetneq +\subsetneqq +\subsetplus +\subsetpluseq +\succ +\succapprox +\succcurlyeq +\succdot +\succeq +\succeqq +\succnapprox +\succneq +\succneqq +\succnsim +\succsim +\suchthat +\sum +\sumint +\Summit +\SummitSign +\sun +\Sun +\SunCloud +\SunshineOpenCircled +\sup +\supset +\Supset +\supseteq +\supseteqq +\supsetneq +\supsetneqq +\supsetplus +\supsetpluseq +\surd +\SurveySign +\swarrow +\Swarrow +\swarrowtail +\swfilledspoon +\swfootline +\swfree +\swharpoonccw +\swharpooncw +\swlsquigarrow +\swmapsto +\swmodels +\swModels +\swnearrows +\swneharpoons +\swpitchfork +\swrsquigarrow +\swspoon +\swswarrows +\swvdash +\swVdash +\syl +\syllabic +\SYN +\t +\T +\Tab +\tabcolsep +\taild +\tailinvr +\taill +\tailn +\tailr +\tails +\tailt +\tailz +\Takt +\talloblong +\tan +\tanh +\Tape +\Taschenuhr +\tau +\taurus +\Taurus +\tauup +\tccentigrade +\tcmu +\tcohm +\tcpertenthousand +\tcperthousand +\td +\tddtstile +\tdststile +\tdtstile +\tdttstile +\Telefon +\Telephone +\Tent +\terminus +\terminus* +\Terminus +\Terminus* +\tesh +\text +\textacutedbl +\textacutemacron +\textacutewedge +\textadvancing +\textaolig +\textasciiacute +\textasciibreve +\textasciicaron +\textasciicircum +\textasciidieresis +\textasciigrave +\textasciimacron +\textasciitilde +\textasteriskcentered +\textbabygamma +\textbackslash +\textbaht +\textbar +\textbarb +\textbarc +\textbard +\textbardbl +\textbardotlessj +\textbarg +\textbarglotstop +\textbari +\textbarl +\textbaro +\textbarrevglotstop +\textbaru +\textbeltl +\textbenttailyogh +\textbeta +\textbigcircle +\textbktailgamma +\textblank +\textborn +\textbottomtiebar +\textbraceleft +\textbraceright +\textbrevemacron +\textbrokenbar +\textbullet +\textbullseye +\textcelsius +\textceltpal +\textcent +\textcentoldstyle +\textchi +\textcircled +\textcircledP +\textcircumacute +\textcircumdot +\textcloseepsilon +\textcloseomega +\textcloserevepsilon +\textcolonmonetary +\textcommatailz +\textcopyleft +\textcopyright +\textcorner +\textcrb +\textcrd +\textcrg +\textcrh +\textcrinvglotstop +\textcrlambda +\textcrtwo +\textctc +\textctd +\textctdctzlig +\textctesh +\textctinvglotstop +\textctj +\textctjvar +\textctn +\textctstretchc +\textctstretchcvar +\textctt +\textcttctclig +\textctturnt +\textctyogh +\textctz +\textcurrency +\textdagger +\textdaggerdbl +\textdbend +\textdblhyphen +\textdblhyphenchar +\textdblig +\textdctzlig +\textdegree +\textdied +\textdiscount +\textdiv +\textdivorced +\textdollar +\textdollaroldstyle +\textdong +\textdotacute +\textdotbreve +\textdoublebaresh +\textdoublebarpipe +\textdoublebarpipevar +\textdoublebarslash +\textdoublegrave +\textdoublepipe +\textdoublepipevar +\textdoublevbaraccent +\textdoublevertline +\textdownarrow +\textdownfullarrow +\textdownstep +\textdyoghlig +\textdzlig +\texteightoldstyle +\textellipsis +\textemdash +\textendash +\textepsilon +\textesh +\textestimated +\texteuro +\textexclamdown +\textfemale +\textfishhookr +\textfiveoldstyle +\textfjlig +\textflorin +\textfouroldstyle +\textfractionsolidus +\textfrak +\textfrbarn +\textfrhookd +\textfrhookdvar +\textfrhookt +\textfrtailgamma +\textg +\textgamma +\textglobfall +\textglobrise +\textglotstop +\textglotstopvari +\textglotstopvarii +\textglotstopvariii +\textgoth +\textgravecircum +\textgravedbl +\textgravedot +\textgravemacron +\textgravemid +\textgreater +\textgrgamma +\textguarani +\texthalflength +\texthardsign +\textheng +\texthmlig +\texthooktop +\texthtb +\texthtbardotlessj +\texthtbardotlessjvar +\texthtc +\texthtd +\texthtg +\texthth +\texththeng +\texthtk +\texthtp +\texthtq +\texthtrtaild +\texthtscg +\texthtt +\texthvlig +\textifsym +\textinterrobang +\textinterrobangdown +\textinvglotstop +\textinvomega +\textinvsca +\textinvscr +\textinvscripta +\textinvsubbridge +\textiota +\textlambda +\textlangle +\textlbrackdbl +\textleaf +\textleftarrow +\textlengthmark +\textless +\textlfishhookrlig +\textlhdbend +\textlhookfour +\textlhookp +\textlhookt +\textlhti +\textlhtlongi +\textlhtlongy +\textlira +\textlnot +\textlonglegr +\textlooptoprevesh +\textlowering +\textlptr +\textlquill +\textltailm +\textltailn +\textltilde +\textlyoghlig +\textmarried +\textmho +\textmidacute +\textminus +\textmu +\textmusicalnote +\textnaira +\textnineoldstyle +\textnrleg +\textnumero +\textObardotlessj +\textObullseye +\textohm +\textOlyoghlig +\textomega +\textonehalf +\textoneoldstyle +\textonequarter +\textonesuperior +\textopenbullet +\textopencorner +\textopeno +\textordfeminine +\textordmasculine +\textovercross +\textoverw +\textpalhook +\textpalhooklong +\textpalhookvar +\textparagraph +\textperiodcentered +\textpertenthousand +\textperthousand +\textpeso +\textphi +\textpilcrow +\textpipe +\textpipevar +\textpm +\textpmhg +\textpolhook +\textprimstress +\textproto +\textqplig +\textquestiondown +\textquotedbl +\textquotedblleft +\textquotedblright +\textquoteleft +\textquoteright +\textquotesingle +\textquotestraightbase +\textquotestraightdblbase +\textraiseglotstop +\textraisevibyi +\textraising +\textramshorns +\textrangle +\textrbrackdbl +\textrecipe +\textrectangle +\textreferencemark +\textregistered +\textretracting +\textretractingvar +\textrevapostrophe +\textreve +\textrevepsilon +\textreversedvideodbend +\textrevglotstop +\textrevscl +\textrevscr +\textrevyogh +\textrhooka +\textrhooke +\textrhookepsilon +\textrhookopeno +\textrhookrevepsilon +\textrhookschwa +\textrhoticity +\textrightarrow +\textringmacron +\textroundcap +\textrptr +\textrquill +\textrtaild +\textrtailhth +\textrtaill +\textrtailn +\textrtailr +\textrtails +\textrtailt +\textrtailz +\textrthook +\textrthooklong +\textsca +\textscaolig +\textscb +\textscdelta +\textsce +\textscf +\textscg +\textsch +\textschwa +\textsci +\textscj +\textsck +\textscl +\textscm +\textscn +\textscoelig +\textscomega +\textscp +\textscq +\textscr +\textscripta +\textscriptg +\textscriptv +\textscu +\textscy +\textseagull +\textsecstress +\textsection +\textservicemark +\textsevenoldstyle +\textsixoldstyle +\textsoftsign +\textspleftarrow +\textsterling +\textstretchc +\textstretchcvar +\textstyle +\textsubacute +\textsubarch +\textsubbar +\textsubbridge +\textsubcircum +\textsubdot +\textsubdoublearrow +\textsubgrave +\textsublhalfring +\textsubplus +\textsubrhalfring +\textsubrightarrow +\textsubring +\textsubsquare +\textsubtilde +\textsubumlaut +\textsubw +\textsubwedge +\textsuperimposetilde +\textsuperscript +\textsurd +\textswab +\textsyllabic +\texttctclig +\textteshlig +\texttheta +\textthorn +\textthornvari +\textthornvarii +\textthornvariii +\textthornvariv +\textthreeoldstyle +\textthreequarters +\textthreequartersemdash +\textthreesuperior +\texttildedot +\texttildelow +\texttimes +\texttoneletterstem +\texttoptiebar +\texttrademark +\texttslig +\textturna +\textturncelig +\textturnglotstop +\textturnh +\textturnk +\textturnlonglegr +\textturnm +\textturnmrleg +\textturnr +\textturnrrtail +\textturnsck +\textturnscripta +\textturnscu +\textturnt +\textturnthree +\textturntwo +\textturnv +\textturnw +\textturny +\texttwelveudash +\texttwooldstyle +\texttwosuperior +\textuncrfemale +\textunderscore +\textuparrow +\textupfullarrow +\textupsilon +\textupstep +\textvbaraccent +\textvertline +\textvibyi +\textvibyy +\textvisiblespace +\textwon +\textwynn +\textyen +\textyogh +\textzerooldstyle +\th +\TH +\therefore +\Thermo +\theta +\Theta +\thetaup +\thickapprox +\thicksim +\thickvert +\ThinFog +\thinstar +\third +\thorn +\Thorn +\threesim +\tilde +\tildel +\timelimit +\times +\tndtstile +\tnststile +\tntstile +\tnttstile +\ToBottom +\tone +\top +\topbot +\topdoteq +\ToTop +\TransformHoriz +\TransformVert +\triangle +\triangledown +\TriangleDown +\triangleeq +\triangleleft +\TriangleLeft +\trianglelefteq +\trianglelefteqslant +\triangleq +\triangleright +\TriangleRight +\trianglerighteq +\trianglerighteqslant +\TriangleUp +\triple +\triplefrown +\triplesim +\triplesmile +\tsbm +\tsdtstile +\tsmb +\tsmm +\tsststile +\Tsteel +\tststile +\tsttstile +\ttdtstile +\TTsteel +\ttststile +\tttstile +\ttttstile +\Tumbler +\TwelweStar +\twoheaddownarrow +\twoheadleftarrow +\twoheadnearrow +\twoheadnwarrow +\twoheadrightarrow +\twoheadsearrow +\twoheadswarrow +\twoheaduparrow +\twonotes +\u +\U +\UArrow +\UB +\ubar +\udesc +\udot +\udotdot +\udots +\udtimes +\uhorn +\UHORN +\ulcorner +\ullcorner +\ulrcorner +\Umd +\unclear +\underaccent +\underarc +\underarch +\underbrace +\underbracket +\underdots +\undergroup +\underleftarrow +\underleftrightarrow +\underline +\underlinesegment +\underparenthesis +\underrightarrow +\underring +\underset +\undertilde +\underwedge +\unitedpawns +\unlhd +\unrhd +\upalpha +\uparrow +\Uparrow +\UParrow +\uparrowtail +\upbar +\upbeta +\upbracketfill +\upchi +\updelta +\Updelta +\updownarrow +\Updownarrow +\updownarrows +\updownharpoonleftright +\updownharpoonrightleft +\updownharpoons +\updownline +\Updownline +\upepsilon +\upeta +\upfilledspoon +\upfootline +\upfree +\upgamma +\Upgamma +\upharpoonccw +\upharpooncw +\upharpoonleft +\upharpoonright +\upiota +\upkappa +\uplambda +\Uplambda +\uplett +\uplsquigarrow +\uplus +\upmapsto +\upmodels +\upModels +\upmu +\upnu +\upomega +\Upomega +\upp +\upparenthfill +\upphi +\Upphi +\uppi +\Uppi +\uppitchfork +\uppropto +\uppsi +\Uppsi +\uprho +\uprsquigarrow +\upsigma +\Upsigma +\upsilon +\Upsilon +\upsilonup +\upslice +\upspoon +\upt +\uptau +\uptherefore +\uptheta +\Uptheta +\uptodownarrow +\upuparrows +\upupharpoons +\upupsilon +\Upupsilon +\upvarepsilon +\upvarphi +\upvarpi +\upvarrho +\upvarsigma +\upvartheta +\upvdash +\upVdash +\upxi +\Upxi +\upY +\upzeta +\uranus +\Uranus +\urcorner +\US +\usepackage +\ut +\utilde +\utimes +\v +\vara +\varangle +\varbigcirc +\VarClock +\varclub +\varclubsuit +\varcurlyvee +\varcurlywedge +\vardiamond +\vardiamondsuit +\varEarth +\varepsilon +\varepsilonup +\VarFlag +\varg +\vargeq +\varhash +\varheart +\varheartsuit +\varhexagon +\varhexstar +\vari +\VarIceMountain +\varinjlim +\varint +\various +\varkappa +\varleq +\varliminf +\varlimsup +\varmathbb +\VarMountain +\varnothing +\varnotin +\varnotowner +\varoast +\varobar +\varobslash +\varocircle +\varodot +\varogreaterthan +\varoiiintclockwise +\varoiiintctrclockwise +\varoiint +\varoiintclockwise +\varoiintctrclockwise +\varoint +\varointclockwise +\varointctrclockwise +\varolessthan +\varomega +\varominus +\varopeno +\varoplus +\varoslash +\varotimes +\varovee +\varowedge +\varparallel +\varparallelinv +\varphi +\varphiup +\varpi +\varpiup +\varprod +\varprojlim +\varpropto +\varQ +\varrho +\varrhoup +\varsigma +\varsigmaup +\varspade +\varspadesuit +\varsqsubsetneq +\varsqsubsetneqq +\varsqsupsetneq +\varsqsupsetneqq +\varstar +\varsubsetneq +\varsubsetneqq +\VarSummit +\varsupsetneq +\varsupsetneqq +\VarTaschenuhr +\vartheta +\varthetaup +\vartimes +\vartriangle +\vartriangleleft +\vartriangleright +\varv +\varw +\vary +\VBar +\vbipropto +\vcentcolon +\vcenter +\vcrossing +\vdash +\vDash +\Vdash +\VDash +\vdotdot +\vdots +\vec +\Vectorarrow +\Vectorarrowhigh +\vee +\veebar +\veedot +\veedoublebar +\venus +\Venus +\vernal +\vert +\Vert +\vertbowtie +\vertdiv +\VHF +\Vier +\Village +\vin +\ViPa +\virgo +\Virgo +\VM +\vod +\voicedh +\vppm +\vpppm +\VT +\vv +\Vvdash +\VvDash +\vvvert +\WashCotton +\WashSynthetics +\WashWool +\wasylozenge +\wasypropto +\wasytherefore +\wbetter +\wdecisive +\weakpt +\WeakRain +\WeakRainCloud +\Wecker +\wedge +\wedgedot +\Wheelchair +\whistle +\whitestone +\widearrow +\widebar +\widecheck +\widehat +\wideparen +\widering +\widetilde +\widetriangle +\wind +\with +\withattack +\withidea +\withinit +\without +\wn +\Womanface +\wp +\wr +\wreath +\Writinghand +\wupperhand +\x +\XBox +\xhookleftarrow +\xhookrightarrow +\xi +\Xi +\xiup +\xleftarrow +\xLeftarrow +\xleftharpoondown +\xleftharpoonup +\xleftrightarrow +\xLeftrightarrow +\xleftrightharpoons +\xlongequal +\xlongleftarrow +\xLongleftarrow +\xlongleftrightarrow +\xLongleftrightarrow +\xlongrightarrow +\xLongrightarrow +\xmapsto +\xrightarrow +\xRightarrow +\xrightharpoondown +\xrightharpoonup +\xrightleftharpoons +\XSolid +\XSolidBold +\XSolidBrush +\xtwoheadleftarrow +\xtwoheadrightarrow +\Ydown +\Yinyang +\Yleft +\yogh +\Yright +\Yup +\Zborder +\zeta +\zetaup +\Zodiac +\ztransf +\Ztransf +\zugzwang +\Zwdr +\ZwPa diff --git a/Master/texmf-dist/doc/latex/comprehensive/source/Makefile b/Master/texmf-dist/doc/latex/comprehensive/source/Makefile new file mode 100644 index 00000000000..99c13ae44c9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/comprehensive/source/Makefile @@ -0,0 +1,155 @@ +############################################# +# Build the Comprehensive LaTeX Symbol List # +# By Scott Pakin # +############################################# + +# Define TARGETS as a list of all of the files we intend to generate. +# TARGETS is categorized into TARGETS_SOURCE and TARGETS_DIST. +# TARGETS_DIST comprise the prebuilt distribution of the Comprehensive +# LaTeX Symbol List. TARGETS_SOURCE are needed primarily to build +# TARGETS_DIST, although they are also distributed (in a "source" +# subdirectory). +TARGETS = $(TARGETS_SOURCE) $(TARGETS_DIST) + +TARGETS_DIST = symbols-letter.pdf symbols-a4.pdf SYMLIST README + +TARGETS_SOURCE = lightbulb.eps lightbulb10.pfb lightbulb.map + +# There are a few files that we didn't generate but that need to be +# distributed. +EXTRADIST = symbols.tex lightbulb10.mf lightbulb.mf makefakeMnSymbol \ + epsdice.eps Makefile + +# Define INTERMEDIATES as a list of all of the intermediate files +# generated by both latex and pdflatex while producing TARGETS. +INTERMEDIATES = symbols.aux symbols.idx symbols.ilg \ + symbols.ind symbols.log symbols.toc \ + symbols.pts + +# We need FontForge (or the older PfaEdit) to generate lightbulb10.pfb. +FONTFORGE = fontforge + +# The following should be overwritten in a recursive call to Make. +SIZE = letter +EXT = pdf + +########################################################################### + +# Build all specified formats in all specified paper sizes. +all: $(TARGETS) + +.PHONY: symbols dist + +########################################################################### + +# Define generic rules for building pdf/dvi/ps in letter/a4 size. +symbols $(INTERMEDIATES): symbols.tex lightbulb.eps lightbulb10.pfb lightbulb.map fakeMnSymbol.sty + $(LATEX) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols' + $(LATEX) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols' + makeindex -s gind.ist symbols + $(LATEX) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols' + totalsymbols=`fgrep -c '\item \verb' symbols.ind` ; \ + ( fgrep -v prevtotalsymbols symbols.aux > symbols.pts ; \ + echo "\\gdef\\prevtotalsymbols{$$totalsymbols}" ; \ + echo "\\gdef\\approxcount{}" ) >> symbols.pts ; \ + mv symbols.pts symbols.aux + $(LATEX) '\PassOptionsToClass{$(SIZE)paper}{article}\input symbols' + mv symbols.$(EXT) symbols-$(SIZE).$(EXT) + mv symbols.log symbols-$(SIZE)-$(EXT).log + +########################################################################### + +# Define specific rules for building different formats and sizes. +symbols-a4.pdf symbols-a4-pdf.log: symbols.tex + $(MAKE) $(MAKEFLAGS) SIZE=a4 LATEX=pdflatex EXT=pdf symbols + +symbols-letter.pdf symbols-letter-pdf.log: symbols.tex + $(MAKE) $(MAKEFLAGS) SIZE=letter LATEX=pdflatex EXT=pdf symbols + +symbols-a4.dvi symbols-a4-dvi.log: symbols.tex + $(MAKE) $(MAKEFLAGS) SIZE=a4 LATEX=latex EXT=dvi symbols + +symbols-letter.dvi symbols-letter-dvi.log: symbols.tex + $(MAKE) $(MAKEFLAGS) SIZE=letter LATEX=latex EXT=dvi symbols + +symbols-letter.ps: symbols-letter.dvi + dvips -t letter -Pamz -Pcmz -j0 -o symbols-letter.ps symbols-letter.dvi + +symbols-a4.ps: symbols-a4.dvi + dvips -t a4 -Pamz -Pcmz -j0 -o symbols-a4.ps symbols-a4.dvi + +########################################################################### + +# Define rules to produce a lightbulb proof figure. +mfplain.mem: + mpost -ini '\input mfplain; dump' + +lightbulb.eps: lightbulb10.mf lightbulb.mf mfplain.mem + mpost -mem mfplain '\mode:=proof; prologues:=2; labelfont cmr17; input lightbulb10' + mv lightbulb10.65 lightbulb.eps + +# Generate a FontForge script that makes the LightBulb10 PostScript +# names mixed case. +lightbulb10.pe: + echo 'Open($$1);' > $@ + echo 'LB = "LightBulb";' >> $@ + echo 'SetFontNames(LB+"10", LB, LB+"10");' >> $@ + echo 'Generate("lightbulb10.pfb");' >> $@ + +# Define a rule to produce a Type 1 version of the LightBulb10 font. +lightbulb10.pfb: lightbulb10.mf lightbulb10.pe + mftrace -V -fpfb --simplify lightbulb10 + $(FONTFORGE) -script lightbulb10.pe lightbulb10.pfb + +# Define a rule to produce a LightBulb font-mapping file. +lightbulb.map: + echo "lightbulb10 LightBulb10 lightbulb.map + +########################################################################### + +# If we have MnSymbol.sty, generate a faked version which does not +# declare any new math alphabets. +fakeMnSymbol.sty: makefakeMnSymbol + if [ "`kpsewhich MnSymbol.sty`" ] ; then \ + makefakeMnSymbol `kpsewhich MnSymbol.sty` > $@ ; \ + else \ + makefakeMnSymbol /dev/null > $@ ; \ + fi + +########################################################################### + +# Create a list of all symbols. +SYMLIST: symbols.ind + cat symbols.ind | perl -ne 's/.*\\verb\+([^+]+)\+.*/$$1/g && print' | sort -u > SYMLIST + +# Create a README file. +README: makeREADME symbols-letter-pdf.log symbols.ind + makeREADME symbols-letter-pdf.log symbols.ind > README + +# Create a .tar.gz file. +comprehensive.tar.gz: $(TARGETS) $(EXTRADIST) + $(RM) -r comprehensive + mkdir comprehensive + mkdir comprehensive/source + install -m 664 $(TARGETS_DIST) comprehensive + install -m 664 $(TARGETS_SOURCE) $(EXTRADIST) comprehensive/source + cat symbols.tex | checksum > comprehensive/source/symbols.tex + chmod 664 comprehensive/source/symbols.tex + tar -czf comprehensive.tar.gz comprehensive + $(RM) -r comprehensive + +dist: comprehensive.tar.gz + +# Clean up our mess. +clean: mostlyclean + $(RM) comprehensive.tar.gz + $(RM) $(TARGETS) + $(RM) fakeMnSymbol.sty + $(RM) mfplain.{log,mem} + $(RM) lightbulb10*pk lightbulb10.{tfm,log,pe} + +mostlyclean: + $(RM) -r comprehensive + $(RM) $(INTERMEDIATES) $(TARGETS_DIST) + $(RM) symbols-letter.dvi symbols-a4.dvi + $(RM) symbols-*-*.log diff --git a/Master/texmf-dist/doc/latex/comprehensive/source/epsdice.eps b/Master/texmf-dist/doc/latex/comprehensive/source/epsdice.eps new file mode 100644 index 00000000000..ccea31e4a7e --- /dev/null +++ b/Master/texmf-dist/doc/latex/comprehensive/source/epsdice.eps @@ -0,0 +1,216 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 258 43 +%%Creator: MetaPost 0.993 +%%CreationDate: 2007.08.10:1307 +%%Pages: 1 +%%BeginProlog +%%EndProlog +%%Page: 1 1 + 0 setgray 0 2 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 0 setlinejoin 10 setmiterlimit +newpath 32 5 moveto +32 5 lineto +34.7578 5 37 7.24219 37 10 curveto +37 32 lineto +37 32 lineto +37 34.7578 34.7578 37 32 37 curveto +10 37 lineto +10 37 lineto +7.24219 37 5 34.7578 5 32 curveto +5 10 lineto +5 10 lineto +5 7.24219 7.24219 5 10 5 curveto + closepath stroke +newpath 75 5 moveto +75 5 lineto +77.7578 5 80 7.24219 80 10 curveto +80 32 lineto +80 32 lineto +80 34.7578 77.7578 37 75 37 curveto +53 37 lineto +53 37 lineto +50.2422 37 48 34.7578 48 32 curveto +48 10 lineto +48 10 lineto +48 7.24219 50.2422 5 53 5 curveto + closepath stroke +newpath 118 5 moveto +118 5 lineto +120.758 5 123 7.24219 123 10 curveto +123 32 lineto +123 32 lineto +123 34.7578 120.758 37 118 37 curveto +96 37 lineto +96 37 lineto +93.2422 37 91 34.7578 91 32 curveto +91 10 lineto +91 10 lineto +91 7.24219 93.2422 5 96 5 curveto + closepath stroke +newpath 161 5 moveto +161 5 lineto +163.758 5 166 7.24219 166 10 curveto +166 32 lineto +166 32 lineto +166 34.7578 163.758 37 161 37 curveto +139 37 lineto +139 37 lineto +136.242 37 134 34.7578 134 32 curveto +134 10 lineto +134 10 lineto +134 7.24219 136.242 5 139 5 curveto + closepath stroke +newpath 204 5 moveto +204 5 lineto +206.758 5 209 7.24219 209 10 curveto +209 32 lineto +209 32 lineto +209 34.7578 206.758 37 204 37 curveto +182 37 lineto +182 37 lineto +179.242 37 177 34.7578 177 32 curveto +177 10 lineto +177 10 lineto +177 7.24219 179.242 5 182 5 curveto + closepath stroke +newpath 247 5 moveto +247 5 lineto +249.758 5 252 7.24219 252 10 curveto +252 32 lineto +252 32 lineto +252 34.7578 249.758 37 247 37 curveto +225 37 lineto +225 37 lineto +222.242 37 220 34.7578 220 32 curveto +220 10 lineto +220 10 lineto +220 7.24219 222.242 5 225 5 curveto + closepath stroke +newpath 59.5 13 moveto +59.5 14.9297 57.9297 16.5 56 16.5 curveto +54.0703 16.5 52.5 14.9297 52.5 13 curveto +52.5 11.0703 54.0703 9.5 56 9.5 curveto +57.9297 9.5 59.5 11.0703 59.5 13 curveto + closepath fill +newpath 75.5 29 moveto +75.5 30.9297 73.9297 32.5 72 32.5 curveto +70.0703 32.5 68.5 30.9297 68.5 29 curveto +68.5 27.0703 70.0703 25.5 72 25.5 curveto +73.9297 25.5 75.5 27.0703 75.5 29 curveto + closepath fill +newpath 102.5 13 moveto +102.5 14.9297 100.93 16.5 99 16.5 curveto +97.0703 16.5 95.5 14.9297 95.5 13 curveto +95.5 11.0703 97.0703 9.5 99 9.5 curveto +100.93 9.5 102.5 11.0703 102.5 13 curveto + closepath fill +newpath 118.5 29 moveto +118.5 30.9297 116.93 32.5 115 32.5 curveto +113.07 32.5 111.5 30.9297 111.5 29 curveto +111.5 27.0703 113.07 25.5 115 25.5 curveto +116.93 25.5 118.5 27.0703 118.5 29 curveto + closepath fill +newpath 145.5 13 moveto +145.5 14.9297 143.93 16.5 142 16.5 curveto +140.07 16.5 138.5 14.9297 138.5 13 curveto +138.5 11.0703 140.07 9.5 142 9.5 curveto +143.93 9.5 145.5 11.0703 145.5 13 curveto + closepath fill +newpath 161.5 29 moveto +161.5 30.9297 159.93 32.5 158 32.5 curveto +156.07 32.5 154.5 30.9297 154.5 29 curveto +154.5 27.0703 156.07 25.5 158 25.5 curveto +159.93 25.5 161.5 27.0703 161.5 29 curveto + closepath fill +newpath 188.5 13 moveto +188.5 14.9297 186.93 16.5 185 16.5 curveto +183.07 16.5 181.5 14.9297 181.5 13 curveto +181.5 11.0703 183.07 9.5 185 9.5 curveto +186.93 9.5 188.5 11.0703 188.5 13 curveto + closepath fill +newpath 204.5 29 moveto +204.5 30.9297 202.93 32.5 201 32.5 curveto +199.07 32.5 197.5 30.9297 197.5 29 curveto +197.5 27.0703 199.07 25.5 201 25.5 curveto +202.93 25.5 204.5 27.0703 204.5 29 curveto + closepath fill +newpath 231.5 13 moveto +231.5 14.9297 229.93 16.5 228 16.5 curveto +226.07 16.5 224.5 14.9297 224.5 13 curveto +224.5 11.0703 226.07 9.5 228 9.5 curveto +229.93 9.5 231.5 11.0703 231.5 13 curveto + closepath fill +newpath 247.5 29 moveto +247.5 30.9297 245.93 32.5 244 32.5 curveto +242.07 32.5 240.5 30.9297 240.5 29 curveto +240.5 27.0703 242.07 25.5 244 25.5 curveto +245.93 25.5 247.5 27.0703 247.5 29 curveto + closepath fill +newpath 24.5 21 moveto +24.5 22.9297 22.9297 24.5 21 24.5 curveto +19.0703 24.5 17.5 22.9297 17.5 21 curveto +17.5 19.0703 19.0703 17.5 21 17.5 curveto +22.9297 17.5 24.5 19.0703 24.5 21 curveto + closepath fill +newpath 110.5 21 moveto +110.5 22.9297 108.93 24.5 107 24.5 curveto +105.07 24.5 103.5 22.9297 103.5 21 curveto +103.5 19.0703 105.07 17.5 107 17.5 curveto +108.93 17.5 110.5 19.0703 110.5 21 curveto + closepath fill +newpath 196.5 21 moveto +196.5 22.9297 194.93 24.5 193 24.5 curveto +191.07 24.5 189.5 22.9297 189.5 21 curveto +189.5 19.0703 191.07 17.5 193 17.5 curveto +194.93 17.5 196.5 19.0703 196.5 21 curveto + closepath fill +newpath 145.5 29 moveto +145.5 30.9297 143.93 32.5 142 32.5 curveto +140.07 32.5 138.5 30.9297 138.5 29 curveto +138.5 27.0703 140.07 25.5 142 25.5 curveto +143.93 25.5 145.5 27.0703 145.5 29 curveto + closepath fill +newpath 161.5 13 moveto +161.5 14.9297 159.93 16.5 158 16.5 curveto +156.07 16.5 154.5 14.9297 154.5 13 curveto +154.5 11.0703 156.07 9.5 158 9.5 curveto +159.93 9.5 161.5 11.0703 161.5 13 curveto + closepath fill +newpath 188.5 29 moveto +188.5 30.9297 186.93 32.5 185 32.5 curveto +183.07 32.5 181.5 30.9297 181.5 29 curveto +181.5 27.0703 183.07 25.5 185 25.5 curveto +186.93 25.5 188.5 27.0703 188.5 29 curveto + closepath fill +newpath 204.5 13 moveto +204.5 14.9297 202.93 16.5 201 16.5 curveto +199.07 16.5 197.5 14.9297 197.5 13 curveto +197.5 11.0703 199.07 9.5 201 9.5 curveto +202.93 9.5 204.5 11.0703 204.5 13 curveto + closepath fill +newpath 231.5 29 moveto +231.5 30.9297 229.93 32.5 228 32.5 curveto +226.07 32.5 224.5 30.9297 224.5 29 curveto +224.5 27.0703 226.07 25.5 228 25.5 curveto +229.93 25.5 231.5 27.0703 231.5 29 curveto + closepath fill +newpath 247.5 13 moveto +247.5 14.9297 245.93 16.5 244 16.5 curveto +242.07 16.5 240.5 14.9297 240.5 13 curveto +240.5 11.0703 242.07 9.5 244 9.5 curveto +245.93 9.5 247.5 11.0703 247.5 13 curveto + closepath fill +newpath 231.5 21 moveto +231.5 22.9297 229.93 24.5 228 24.5 curveto +226.07 24.5 224.5 22.9297 224.5 21 curveto +224.5 19.0703 226.07 17.5 228 17.5 curveto +229.93 17.5 231.5 19.0703 231.5 21 curveto + closepath fill +newpath 247.5 21 moveto +247.5 22.9297 245.93 24.5 244 24.5 curveto +242.07 24.5 240.5 22.9297 240.5 21 curveto +240.5 19.0703 242.07 17.5 244 17.5 curveto +245.93 17.5 247.5 19.0703 247.5 21 curveto + closepath fill +showpage +%%EOF diff --git a/Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.eps b/Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.eps new file mode 100644 index 00000000000..f44e7791fdd --- /dev/null +++ b/Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.eps @@ -0,0 +1,101 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -1 -37 180 259 +%%HiResBoundingBox: -0.2 -36.06541 179.5271 258.43044 +%%Creator: MetaPost 0.993 +%%CreationDate: 2007.12.20:1115 +%%Pages: 1 +%%DocumentResources: procset mpost-minimal +%%+ font CMR17 +%%DocumentSuppliedResources: procset mpost-minimal +%%DocumentNeededResources: font CMR17 +%%IncludeResource: font CMR17 +%%EndComments +%%BeginProlog +%%BeginResource: procset mpost-minimal +/bd{bind def}bind def/fshow {exch findfont exch scalefont setfont show}bd +/fcp{findfont dup length dict begin{1 index/FID ne{def}{pop pop}ifelse}forall}bd +/fmc{FontMatrix dup length array copy dup dup}bd/fmd{/FontMatrix exch def}bd +/Amul{4 -1 roll exch mul 1000 div}bd/ExtendFont{fmc 0 get Amul 0 exch put fmd}bd +/SlantFont{fmc 2 get dup 0 eq{pop 1}if Amul FontMatrix 0 get mul 2 exch put fmd}bd +%%EndResource +%%EndProlog +%%BeginSetup + /cmr17 /CMR17 def +%%EndSetup +%%Page: 1 1 + 0.7 0.7 0.7 setrgbcolor 0 17.93271 + dtransform truncate idtransform setlinewidth pop [] 0 setdash 1 setlinejoin + 10 setmiterlimit +newpath 89.66356 244.33316 moveto +132.3908 244.94174 165.87755 208.3536 165.87755 164.75676 curveto +165.87755 121.15993 132.3908 84.5718 89.66356 85.18037 curveto +47.76907 85.7771 15.69113 122.03224 15.69113 164.75676 curveto +15.69113 207.48131 47.76907 243.73645 89.66356 244.33316 curveto closepath + stroke + 1 setlinecap +newpath 128.41212 95.85231 moveto +128.41212 0 lineto +116.14232 -4.44911 103.19072 -6.72478 90.13918 -6.72478 curveto +77.08765 -6.72478 64.13605 -4.44911 51.86626 0 curveto +51.86626 96.58183 lineto stroke + 0 0 0 setrgbcolor 0.4 + 0 dtransform exch truncate exch idtransform pop setlinewidth 2 setlinecap +newpath 0 -35.86542 moveto +0 251.05794 lineto stroke +newpath 8.96635 -35.86542 moveto +8.96635 251.05794 lineto stroke +newpath 89.66356 -35.86542 moveto +89.66356 251.05794 lineto stroke +newpath 170.36075 -35.86542 moveto +170.36075 251.05794 lineto stroke + 0 0.4 dtransform truncate idtransform setlinewidth pop +newpath 0 0 moveto +170.36075 0 lineto stroke +newpath 0 -35.86542 moveto +170.36075 -35.86542 lineto stroke +newpath 0 164.75676 moveto +170.36075 164.75676 lineto stroke +newpath 0 251.05794 moveto +170.36075 251.05794 lineto stroke +85.71588 247.33316 moveto +(1) cmr17 17.21544 fshow + 0 3 dtransform truncate idtransform setlinewidth pop 1 setlinecap +newpath 89.66356 244.33316 moveto 0 0 rlineto stroke +161.92989 167.75676 moveto +(2) cmr17 17.21544 fshow +newpath 165.87755 164.75676 moveto 0 0 rlineto stroke +85.71588 88.18037 moveto +(3) cmr17 17.21544 fshow +newpath 89.66356 85.18037 moveto 0 0 rlineto stroke +11.74345 167.75676 moveto +(4) cmr17 17.21544 fshow +newpath 15.69113 164.75676 moveto 0 0 rlineto stroke +124.46445 98.85231 moveto +(5) cmr17 17.21544 fshow +newpath 128.41212 95.85231 moveto 0 0 rlineto stroke +124.46445 3 moveto +(6) cmr17 17.21544 fshow +newpath 128.41212 0 moveto 0 0 rlineto stroke +82.24385 -3.72478 moveto +(67) cmr17 17.21544 fshow +newpath 90.13918 -6.72478 moveto 0 0 rlineto stroke +47.91858 3 moveto +(7) cmr17 17.21544 fshow +newpath 51.86626 0 moveto 0 0 rlineto stroke +47.91858 99.58183 moveto +(8) cmr17 17.21544 fshow +newpath 51.86626 96.58183 moveto 0 0 rlineto stroke + 0 0.4 dtransform truncate idtransform setlinewidth pop 2 setlinecap +newpath 0 0 moveto +179.3271 0 lineto stroke +newpath 0 251.05794 moveto +179.3271 251.05794 lineto stroke +newpath 0 -35.86542 moveto +179.3271 -35.86542 lineto stroke + 0.4 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 0 -35.86542 moveto +0 251.05794 lineto stroke +newpath 179.3271 -35.86542 moveto +179.3271 251.05794 lineto stroke +showpage +%%EOF diff --git a/Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.map b/Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.map new file mode 100644 index 00000000000..4687118a70c --- /dev/null +++ b/Master/texmf-dist/doc/latex/comprehensive/source/lightbulb.map @@ -0,0 +1 @@ +lightbulb10 LightBulb10 + +use POSIX; +use warnings; +use strict; + +# Output some header boilerplate. +print "\%" x 43, "\n"; +print "\% This is a generated file. DO NOT EDIT. \%\n"; +print "\%" x 43, "\n"; +print "\n"; +print strftime("\\ProvidesPackage{fakeMnSymbol}[\%Y/\%m/\%d v1.0 faked version of MnSymbol.sty]\n", localtime()); +print <<'MACRODEFS'; + +% Construct a text-sized delimiter from its constituent characters. +\DeclareRobustCommand{\MNSfaketdelim}[3]{% + \begingroup + \def\char@in@box##1{% + \setbox0=\hbox{\char##1}% + \hbox{% + \vrule width \wd0 height 0pt depth 0pt + \vrule width 0pt height \ht0 depth \dp0 + \smash{\box0}% + }% + \vspace*{-1pt}% Why is this necessary? + }% + \offinterlineskip + \vbox{% + \halign{##\cr + \char@in@box{#1}\cr % top + \char@in@box{#2}\cr % mid + \char@in@box{#3}\cr % bot + }% + }% + \endgroup +} + +% Construct a display-sized delimiter from its constituent characters. +\DeclareRobustCommand{\MNSfakeddelim}[4]{% + \begingroup + \def\char@in@box##1{% + \setbox0=\hbox{\char##1}% + \hbox{% + \vrule width \wd0 height 0pt depth 0pt + \vrule width 0pt height \ht0 depth \dp0 + \smash{\box0}% + }% + \vspace*{-1pt}% Why is this necessary? + }% + \offinterlineskip + \vbox to 4ex{% + \halign{##\cr + \char@in@box{#1}\cr % top + \char@in@box{#4}\cr % rep + \char@in@box{#4}\cr % rep + \char@in@box{#2}\cr % mid + \char@in@box{#4}\cr % rep + \char@in@box{#4}\cr % rep + \char@in@box{#3}\cr % bot + }% + \vss + }% + \endgroup +} + +% Given a math expression, a small accent character, and a large +% accent character, typeset the expression with the appropriate-sized +% accent above it. +\DeclareRobustCommand{\MNSfakewidetopaccent}[5]{% + \setbox0=\hbox{\ensuremath{#1}}% + \setbox1=\hbox{\ensuremath{abc}}% + \ifdim\wd0<\wd1 + \rlap{\raisebox{#2}{\makebox[\wd0]{\usefont{U}{MnSymbolE}{m}{n}\char#3}}}% + \else + \rlap{\raisebox{#4}{\makebox[\wd0]{\usefont{U}{MnSymbolE}{m}{n}\char#5}}}% + \fi + \box0\relax +} +MACRODEFS + ; + +# Read the font metrics for the largesymbol font in preparation for +# faking the variable-sized delimiters. +my $tfmfile = `kpsewhich MnSymbolE10.tfm`; +my @nextlarger; # Map from a character number to the next larger character +my @varchar; # Map from a character number to a varchar hash +if ($tfmfile ne "") { + chomp $tfmfile; + open (LARGESYMBOLS, "tftopl $tfmfile|") || die "tftopl $tfmfile: $!\n"; + my $charnum = -1; # Character number of the current character + while (my $oneline = ) { + chomp $oneline; + if ($oneline =~ /^\(CHARACTER ([CO]) (\w+)/) { + $charnum = $1 eq "O" ? oct($2) : ord($2); + } + elsif ($oneline =~ /\(NEXTLARGER ([CO]) (\w+)/) { + $nextlarger[$charnum] = $1 eq "O" ? oct($2) : ord($2); + } + elsif ($oneline =~ /\((TOP|MID|BOT|REP) ([CO]) (\w+)/) { + $varchar[$charnum]->{$1} = $2 eq "O" ? oct($3) : ord($3); + } + } + close LARGESYMBOLS; +} + +# Process each symbol declaration in turn. +my $slot = 0; +my %families; +while (<>) { + # Process all symbols defined with \Decl@Mn@Char. + /\\Set\@Mn\@Sym\{(\d+)\}/ && do {$slot=0+$1; next}; + /^\\Decl\@Mn\@Char\\@?(\w+)\s*\{(\w+)\}/ && do { + my $symname = $1; + my $family = $2; + if ($family =~ /^MnSy(\w)$/) { + $family = "MnSymbol" . $1; + } + elsif ($family eq "symbols") { + $family = "MnSymbolF"; + } + else { + die "${0}: unrecognized symbol family \"$family\"\n"; + } + if (!defined $families{$family}) { + $families{$family}++; + print "\n"; + print "\\DeclareFontFamily{U}{$family}{}\n"; + print "\\DeclareFontShape{U}{$family}{m}{n}{<-> ${family}10}{}\n"; + } + print "\\DeclareRobustCommand{\\MNS$symname}"; + print "{\\mbox{\\usefont{U}{$family}{m}{n}\\char$slot}}\n"; + $slot++; + }; + + # Process variable-sized symbols specially. + /^\\Decl\@Mn\@(Open|Close|Delim)\s*\{([^\}]+)\}.*\{\'(\d+)\}\s*$/ && do { + my $charnum = oct $3; + my %sym2name = ("[" => "lbracket", + "]" => "rbracket", + "|" => "pipe", + "<" => "less", + ">" => "greater", + "/" => "slash", + "(" => "lparen", + ")" => "rparen"); + my $symname = substr($2, 0, 1) eq "\\" ? substr($2, 1) : $sym2name{$2}; + my $family = "MnSymbolE"; + if (!defined $families{$family}) { + $families{$family}++; + print "\n"; + print "\\DeclareFontFamily{U}{$family}{}\n"; + print "\\DeclareFontShape{U}{$family}{m}{n}{<-> ${family}10}{}\n"; + } + my $tcharnum; # Character number of the \big symbol size + my $dcharnum; # Character number of the variable-sized symbol + $tcharnum = defined $nextlarger[$charnum] ? $nextlarger[$charnum] : $charnum; + for ($dcharnum=$tcharnum; defined $nextlarger[$dcharnum]; $dcharnum=$nextlarger[$dcharnum]) { + } + + # Define the text-sized version of the delimiter. + print "\\DeclareRobustCommand{\\MNSt$symname}"; + print "{\\mbox{\\usefont{U}{$family}{m}{n}"; + if (defined $varchar[$tcharnum]) { + # Even the \big size is variable-sized. + my $rep = $varchar[$tcharnum]->{REP}; + my $top = $varchar[$tcharnum]->{TOP} || $rep; + my $bot = $varchar[$tcharnum]->{BOT} || $rep; + my $mid = $varchar[$tcharnum]->{MID} || $rep; + print "\\MNSfaketdelim{$top}{$mid}{$bot}"; + } + else { + print "\\char$tcharnum"; + } + print "}}\n"; + + # Define the display-sized version of the delimiter. + print "\\DeclareRobustCommand{\\MNSd$symname}"; + print "{\\mbox{\\usefont{U}{$family}{m}{n}"; + my $rep = $varchar[$dcharnum]->{REP}; + if (defined $rep) { + my $top = $varchar[$dcharnum]->{TOP} || $rep; + my $bot = $varchar[$dcharnum]->{BOT} || $rep; + my $mid = $varchar[$dcharnum]->{MID} || $rep; + print "\\MNSfakeddelim{$top}{$mid}{$bot}{$rep}"; + } + else { + print "\\char$dcharnum"; + } + print "}}\n"; + }; +} + +# Output some trailer boilerplate. +print <<'TRAILER'; + +% Redefine some problematic symbols. +\DeclareRobustCommand{\MNSdlparen}{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char140}} +\DeclareRobustCommand{\MNSdrparen}{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char145}} + +% The following symbols were renamed and adapted from MnSymbol.sty. +\let\MNSrelbar=\MNSleftrightline +\DeclareRobustCommand\MNSjoinrel{\mathrel{\mkern-12.4mu}} +\DeclareRobustCommand\MNSlongrightarrow{\DOTSB\MNSleftrightline\MNSjoinrel\MNSrightarrow} +\DeclareRobustCommand\MNSlongleftarrow{\DOTSB\MNSleftarrow\MNSjoinrel\MNSleftrightline} +\DeclareRobustCommand\MNSlongleftrightarrow{\DOTSB\MNSleftarrow\MNSjoinrel\MNSrightarrow} +\DeclareRobustCommand\MNSLongrightarrow{\DOTSB\MNSLeftrightline\MNSjoinrel\MNSRightarrow} +\DeclareRobustCommand\MNSLongleftarrow{\DOTSB\MNSLeftarrow\MNSjoinrel\MNSLeftrightline} +\DeclareRobustCommand\MNSLongleftrightarrow{\DOTSB\MNSLeftarrow\MNSjoinrel\MNSRightarrow} +\DeclareRobustCommand\MNSlongmapsto{\DOTSB\MNSleftfootline\MNSjoinrel\MNSrightarrow} +\DeclareRobustCommand\MNSemptyfilledspoon{\DOTSB\MNSleftspoon\mkern-13mu\MNSrightfilledspoon} +\DeclareRobustCommand\MNSfilledemptyspoon{\DOTSB\MNSleftfilledspoon\mkern-13mu\MNSrightspoon} +\DeclareRobustCommand\MNSlargeemptyfilledspoon{\DOTSB\mathrel{\MNScirc\mkern-3mu\MNSrelbar\mkern-3mu\MNSbullet}} +\DeclareRobustCommand\MNSlargefilledemptyspoon{\DOTSB\mathrel{\MNSbullet\mkern-3mu\MNSrelbar\mkern-3mu\MNScirc}} + +% The following accents were renamed and adapted from MnSymbol.sty. +\DeclareRobustCommand{\MNSoverbrace}[1]{\MNSfakewidetopaccent{#1}{1.5ex}{'251}{2.1ex}{'253}} +\DeclareRobustCommand{\MNSunderbrace}[1]{\MNSfakewidetopaccent{#1}{-1.7ex}{'256}{-1.7ex}{'260}} +\DeclareRobustCommand{\MNSwidehat}[1]{\MNSfakewidetopaccent{#1}{0ex}{'302}{0.6ex}{'303}} +\DeclareRobustCommand{\MNSwidetilde}[1]{\MNSfakewidetopaccent{#1}{0ex}{'307}{0.6ex}{'310}} +\DeclareRobustCommand{\MNSwideparen}[1]{\MNSfakewidetopaccent{#1}{0ex}{'314}{0.6ex}{'315}} +\DeclareRobustCommand{\MNSvec}[1]{\MNSfakewidetopaccent{#1}{0ex}{'321}{0ex}{'321}} +\def\MNSlinesegmentfill@{\arrowfill@\MNSleftfootline\MNSrelbar\MNSrightfootline} +\def\MNSleftharpoonfill@{\arrowfill@\MNSleftharpooncw\MNSrelbar\MNSrelbar} +\def\MNSrightharpoonfill@{\arrowfill@\MNSrelbar\MNSrelbar\MNSrightharpoonccw} +\DeclareRobustCommand{\MNSoverlinesegment}{\mathpalette{\overarrow@\MNSlinesegmentfill@}} +\DeclareRobustCommand{\MNSoverleftharpoon}{\mathpalette{\overarrow@\MNSleftharpoonfill@}} +\DeclareRobustCommand{\MNSoverrightharpoon}{\mathpalette{\overarrow@\MNSrightharpoonfill@}} +\DeclareRobustCommand{\MNSunderlinesegment}{\mathpalette{\underarrow@\MNSlinesegmentfill@}} +\def\MNSbracefill@#1#2#3#4#5{$\m@th#5#1\leaders\hbox{$#4$}\hfill#2\leaders\hbox{$#4$}\hfill#3$} +\def\MNSdowngroupfill@{\MNSbracefill@\MNSbraceld{}\MNSbracerd\MNSbracemid} +\def\MNSupgroupfill@{\MNSbracefill@\MNSbracelu{}\MNSbraceru\MNSbracemid} +\def\MNSoverbrace@#1#2#3{\vbox{\m@th\ialign{##\crcr + #1#2\crcr\noalign{\kern2\p@\nointerlineskip}% + $\m@th\hfil#2#3\hfil$\crcr}}} +\def\MNSunderbrace@#1#2#3{\vtop{\m@th\ialign{##\crcr + $\m@th\hfil#2#3\hfil$\crcr + \noalign{\kern2\p@\nointerlineskip}% + #1#2\crcr}}} +\def\MNSbraceld{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'263}} +\def\MNSbracelu{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'264}} +\def\MNSbracerd{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'265}} +\def\MNSbraceru{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'266}} +\def\MNSbracemid{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'271}} +\DeclareRobustCommand{\MNSovergroup}{\mathpalette{\MNSoverbrace@\MNSdowngroupfill@}} +\DeclareRobustCommand{\MNSundergroup}{\mathpalette{\MNSunderbrace@\MNSupgroupfill@}} + +\endinput +TRAILER +; diff --git a/Master/texmf-dist/doc/latex/comprehensive/source/symbols.tex b/Master/texmf-dist/doc/latex/comprehensive/source/symbols.tex new file mode 100644 index 00000000000..98f8cf64c58 --- /dev/null +++ b/Master/texmf-dist/doc/latex/comprehensive/source/symbols.tex @@ -0,0 +1,11464 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% author = "Scott Pakin", +%%% version = "10.1", +%%% date = "03 January 2008", +%%% time = "11:05:50 MST", +%%% filename = "symbols.tex", +%%% checksum = "11065 11464 36072 469668", +%%% email = "scott+clsl@pakin.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "symbols, LaTeX2e, typesetting, accents, +%%% mathematics, scientific, dingbats, fonts", +%%% supported = "yes", +%%% abstract = "This document lists thousands of symbols and +%%% the corresponding LaTeX commands that +%%% produce them. Some of these symbols are +%%% guaranteed to be available in every LaTeX2e +%%% system; others require fonts and packages +%%% that may not accompany a given distribution +%%% and that therefore need to be installed. +%%% All of the fonts and packages used to +%%% prepare this document -- as well as this +%%% document itself -- are freely available +%%% from the Comprehensive TeX Archive Network +%%% (http://www.ctan.org).", +%%% docstring = "This LaTeX document showcases thousands of +%%% symbols that are available to authors. The +%%% original version of this document was +%%% written by David Carlisle on 1994/10/02. +%%% It was subsequently changed and expanded by +%%% Scott Pakin. +%%% +%%% To build this document, run ``latex +%%% symbols'', then ``makeindex -s gind.ist +%%% symbols'', then two more ``latex symbols'' +%%% commands. This ensures the stability of +%%% all generated content (tables, references, +%%% etc.) +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by +%%% the equivalent of the standard UNIX wc +%%% (word count) utility output of lines, +%%% words, and characters. This is produced by +%%% Robert Solovay's checksum utility. This file +%%% header was produced with the help of Nelson +%%% Beebe's filehdr utility. Both checksum and +%%% filehdr are available from CTAN +%%% (http://www.ctan.org)." +%%% } +%%% ==================================================================== + +\NeedsTeXFormat{LaTeX2e} + +\documentclass{article} +\usepackage{array} +\usepackage{longtable} +\usepackage{textcomp} +\usepackage{latexsym} +\usepackage{varioref} +\usepackage{xspace} +\usepackage{makeidx} +\usepackage{verbatim} +\usepackage{graphicx} +\usepackage{tabularx} + +\newcommand{\doctitle}{Comprehensive \LaTeX\ Symbol List} % Reusable +\title{The \doctitle} + +\author{\person{Scott}{Pakin} \texttt{}% + \thanks{The original version of this document was written by + \person{David}{Carlisle}, with several additional tables provided by + \person{Alexander}{Holt}. See Section~\vref{about-doc} for more + information about who did what.}} +\date{3 January 2008} + +\makeindex + +%%% +%%% TO-DO LIST +%%% * Proofread, especially looking for symbols defined by more +%%% than one symbol set or symbols that should be in a table +%%% but aren't. +%%% * Figure out how to make this file play nice with hyperref. +%%% * Add more symbol tables. (Did we miss any common, standard, or +%%% useful ones?) +%%% * Further index symbols by _description_ (e.g., "perpendicular" +%%% for "\perp"). This would be really useful, but extremely +%%% time-consuming to do. Note that Adobe's Web site has a list +%%% of the names of all the Zapf Dingbats characters. Unfortunately, +%%% these names can be rather long, like "notched upper right-shadowed +%%% white rightwards arrow" for \ding{241}. +%%% * Find some way to associate each package with a flag indicating +%%% whether the corresponding fonts are in bitmapped or vector +%%% format. +%%% * Verify that there aren't any missing symbols in the current +%%% packages (especially after font upgrades). +%%% + + +% Index "X Y" and "Y, X". The "begin" and "end" variants are for page ranges. +\newcommand{\idxboth}[2]{\mbox{}\index{#1 #2}\index{#2>#1}} +\newcommand{\idxbothbegin}[2]{\mbox{}\index{#1 #2|(}\index{#2>#1|(}} +\newcommand{\idxbothend}[2]{\mbox{}\index{#1 #2|)}\index{#2>#1|)}} + +% Index logical styles. +\newcommand{\pkgname}[1]{% + \textsf{#1}% + \index{#1=\textsf{#1} (package)}% + \index{packages>#1=\textsf{#1}}} +\newcommand{\optname}[2]{% + \textsf{#2}% + \index{#2=\textsf{#2} (\textsf{#1} package option)}% + \index{package options>#2=\textsf{#2} (\textsf{#1})}} +\newcommand{\filename}[1]{% + \texttt{#1}% + \index{#1=\texttt{#1} (file)}} +\newcommand{\PSfont}[1]{% + #1% + \index{#1 (font)}% + \index{fonts>#1}% +} +\DeclareRobustCommand{\person}[2]{#1\index{#2, #1} #2} + +% Index common words and phrases. +\newcommand{\latex}{\LaTeX\index{LaTeX=\string\LaTeX}\xspace} +\newcommand{\latexE}{\LaTeXe\index{LaTeX2e=\string\LaTeXe}\xspace} +\newcommand{\metafont}{\MF\index{Metafont=\string\MF}\xspace} +\newcommand{\tex}{\TeX\index{TeX=\string\TeX}\xspace} +\newcommand{\xypic}{% + \mbox{\kern-.1em X\kern-.3em\lower.4ex\hbox{Y\kern-.15em}-pic}% + \index{Xy-pic=\mbox{\kern-.1em X\kern-.3em\lower.4ex\hbox{Y\kern-.15em}-pic}}} +\newcommand{\TeXbook}{% + The \TeX{}book\index{TeXbook, The=\TeX{}book, The}~\cite{Knuth:ct-a}\xspace} +\newcommand{\ctt}{% + \texttt{comp.text.tex}% + \index{comp.text.tex=\texttt{comp.text.tex} (newsgroup)}\xspace} +\newcommand{\fntenc}[1][]{% + \def\firstarg{#1}% + font encoding% + \ifx\firstarg\empty% + \index{font encodings}% + \else + \index{font encodings>\firstarg}% + \fi +} +\newcommand{\selftex}{\expandafter\filename\expandafter{\jobname.tex}\xspace} +\newcommand{\fontdefdtx}{\filename{fontdef.dtx}\xspace} +\newcommand{\thanhhanthe}{Th\`anh, H\`an Th\diatop[\'|\^e]} % "|" confuses MakeIndex. +\newcommand{\postscript}{PostScript\index{PostScript}\xspace} + +% Index TeXbook symbols and the CTAN repository. +\newcommand{\idxTBsyms}{% + \index{symbols>TeXbook=\TeX{}book}% + \index{TeXbook, The=\TeX{}book, The>symbols from}% +} +\newcommand{\idxCTAN}{% + \index{Comprehensive TeX Archive Network=Comprehensive \string\TeX{} Archive Network}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% There are a number of symbols (e.g., \Square) that are defined by % +% multiple packages. In order to typeset all the variants in this % +% document, we have to give glyph a unique name. To do that, we define % +% \savesymbol{XXX}, which renames a symbol from \XXX to \origXXX, and % +% \restoresymbols{yyy}{XXX}, which renames \origXXX back to \XXX and % +% defines a new command, \yyyXXX, which corresponds to the most recently % +% loaded version of \XXX. % +% % + +% Save a symbol that we know is going to get redefined. +\def\savesymbol#1{% + \expandafter\let\expandafter\origsym\expandafter=\csname#1\endcsname + \expandafter\let\csname orig#1\endcsname=\origsym + \expandafter\let\csname#1\endcsname=\relax +} + +% Restore a previously saved symbol, and rename the current one. +\def\restoresymbol#1#2{% + \expandafter\let\expandafter\newsym\expandafter=\csname#2\endcsname + \expandafter\global\expandafter\let\csname#1#2\endcsname=\newsym + \expandafter\let\expandafter\origsym\expandafter=\csname orig#2\endcsname + \expandafter\global\expandafter\let\csname#2\endcsname=\origsym +} + +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Each of the packages used by this document is loaded conditionally. +% However, it might be nice to know if we have a complete set. So we +% define \ifcomplete which starts true, but gets set to false if any +% package is missing. +\newif\ifcomplete +\completetrue + +% For debugging purposes we define a switch that enables us to toggle +% on and off the loading of packages. +\newif\ifloadpackages +\loadpackagestrue + +% \IfStyFileExists* is just like \IfFileExists, except that it appends +% ".sty" to its first argument. \IfStyFileExists is the same as +% \IfStyFileExists*, but it additionally adds its first argument to a list +% (\missingpkgs) and marks the document as incomplete (with +% \completefalse) if the .sty file doesn't exist. +\makeatletter +\newcommand{\missingpkgs}{} +\newcommand{\foundpkgs}{} +\newcommand{\if@sty@file@exists@star}[3]{% + \ifloadpackages + \IfFileExists{#1.sty}{#2}{#3}% + \else + #3% + \fi +} +\newcommand{\if@sty@file@exists}[3]{% + \ifloadpackages + \IfFileExists{#1.sty}% + {#2\@cons\foundpkgs{{#1}}}% + {#3\completefalse\@cons\missingpkgs{{#1}}}% + \else + #3\completefalse\@cons\missingpkgs{{#1}}% + \fi +} +\newcommand{\IfStyFileExists}{% + \@ifstar{\if@sty@file@exists@star}{\if@sty@file@exists}% +} +\makeatother + +% We get a few packages for free. +\makeatletter +\@cons\foundpkgs{{textcomp}} +\@cons\foundpkgs{{latexsym}} +\makeatother +\newcommand{\TC}{\pkgname{textcomp}} + +% Typeset a string in various encodings. +\newcommand{\encone}[1]{{\fontencoding{T1}\selectfont#1}} +\newcommand{\encfour}[1]{{\fontencoding{T4}\selectfont#1}} +\newcommand{\encfive}[1]{{\fontencoding{T5}\selectfont#1}} + +% Various punctuation marks confuse makeindex when used directly. +\let\magicrbrack=] +\let\magicequal=\= +\newcommand{\magicequalname}{\texttt{\string\=}} +\newcommand{\magicvertname}{\texttt{|}} +\newcommand{\magicVertname}{\texttt{\string\|}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newif\ifAMS +\newcommand\AMS{\AmS\index{AMS=\AmS}} +\makeatletter +\IfStyFileExists{amssymb} + {\AMStrue + \savesymbol{angle} \savesymbol{rightleftharpoons} + \savesymbol{lefthapoondown} \savesymbol{rightharpoonup} + \savesymbol{iint} \savesymbol{iiint} + \savesymbol{iiiint} \savesymbol{idotsint} + \let\orig@ifstar=\@ifstar + \usepackage{amsmath} + \usepackage{amssymb} + \let\@ifstar=\orig@ifstar + \restoresymbol{AMS}{angle} \restoresymbol{AMS}{rightleftharpoons} + \restoresymbol{AMS}{lefthapoondown} \restoresymbol{AMS}{rightharpoonup} + \restoresymbol{AMS}{iint} \restoresymbol{AMS}{iiint} + \restoresymbol{AMS}{iiiint} \restoresymbol{AMS}{idotsint} + } + { + % The following was modified from amsmath.sty. + \newcommand{\AmSfont}{% + \usefont{OMS}{cmsy}{m}{n}} + \providecommand{\AmS}{{\protect\AmSfont + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} + } +\makeatother + +\newif\ifST +\newcommand\ST{\pkgname{stmaryrd}} +\IfStyFileExists{stmaryrd} + {\STtrue + \savesymbol{lightning} + \savesymbol{bigtriangleup} \savesymbol{bigtriangledown} + \usepackage{stmaryrd} + \restoresymbol{ST}{lightning} + \restoresymbol{ST}{bigtriangleup} \restoresymbol{ST}{bigtriangledown} + } + {} + +\newif\ifEU +\IfStyFileExists{euscript} + {\EUtrue\usepackage[mathcal]{euscript} + \renewcommand{\mathcal}[1]{\mbox{\usefont{U}{eus}{m}{n}##1}} + } + {\let\CMcal\mathcal} + +\newif\ifWASY +\newcommand\WASY{\pkgname{wasysym}} +\IfStyFileExists{wasysym} + {\WASYtrue + \savesymbol{lightning} + \savesymbol{Box} + \savesymbol{Diamond} + \usepackage{wasysym} + \restoresymbol{WASY}{lightning} + \restoresymbol{WASY}{Box} + \restoresymbol{WASY}{Diamond} + } + {} + +\newif\ifPI +\newcommand\PI{\pkgname{pifont}} +\IfStyFileExists{pifont} + {\PItrue\usepackage{pifont}} + {} + +% marvosym underwent a major rewrite for the 2000/05/01 version, adding +% a large number of new symbols. If it looks like we have only the +% older version, pretend we don't have it at all. +\newif\ifMARV +\newcommand\MARV{\pkgname{marvosym}} +\makeatletter +\IfStyFileExists*{marvosym} + {\usepackage{marvosym}[2000/05/01] % Major rewrite at this version. + \global\MARVtrue + \@ifundefined{Denarius} % \Denarius is a newer symbol. + {\global\MARVfalse} + {} + \@ifundefined{MVRightarrow} % \Mvrightarrow is an even newer symbol. + {\global\MARVfalse} + {} + } + {} +\makeatother + +\newif\ifMAN +\newcommand\MAN{\pkgname{manfnt}} +\IfStyFileExists{manfnt} + {\MANtrue\usepackage{manfnt}} + {} + +\newif\ifDING +\newcommand\DING{\pkgname{bbding}} +\IfStyFileExists{bbding} + {\DINGtrue + \savesymbol{Cross} \savesymbol{Square} + \usepackage{bbding} + \restoresymbol{ding}{Cross} \restoresymbol{ding}{Square} + } + {} + +\newif\ifUTILD +\newcommand\UTILD{\pkgname{undertilde}} +\IfStyFileExists{undertilde} + {\UTILDtrue\usepackage{undertilde}} + {} + +\newif\ifIFS +\newcommand\IFS{\pkgname{ifsym}} +\IfStyFileExists{ifsym} + {\IFStrue + \savesymbol{Letter} \savesymbol{Square} \savesymbol{Cross} \savesymbol{Sun} + \savesymbol{TriangleUp} \savesymbol{TriangleDown} \savesymbol{Circle} + \savesymbol{Lightning} + \usepackage[alpine,clock,electronic,geometry,misc,weather]{ifsym}[2000/04/18] + \restoresymbol{ifs}{Letter} \restoresymbol{ifs}{Square} + \restoresymbol{ifs}{Cross} \restoresymbol{ifs}{Sun} + \restoresymbol{ifs}{TriangleUp} \restoresymbol{ifs}{TriangleDown} + \restoresymbol{ifs}{Circle} \restoresymbol{ifs}{Lightning} + } + {} + +\newif\ifTIPA +\newcommand\TIPA{\pkgname{tipa}} +\IfStyFileExists{tipa} + {\TIPAtrue\usepackage[safe]{tipa}} + {} + +\newif\ifTIPX +\newcommand\TIPX{\pkgname{tipx}} +\IfStyFileExists{tipx} + {\TIPXtrue\usepackage{tipx}} + {} + +\newif\ifXIPA +\newcommand\XIPA{\pkgname{extraipa}} +\IfStyFileExists{extraipa} + {\XIPAtrue\usepackage{extraipa}} + {} + +% We use the *-form of \IfStyFileExists, because the package is named +% "wsuipa", while the .sty file is named "ipa.sty". +\makeatletter +\newif\ifWIPA +\newcommand\WIPA{\pkgname{wsuipa}} +\IfStyFileExists*{ipa} + {\@cons\foundpkgs{{wsuipa}} + \WIPAtrue + \savesymbol{baro} \savesymbol{eth} \savesymbol{openo} \savesymbol{thorn} + \usepackage{ipa} + \expandafter\xdef\csname ver@wsuipa.sty\endcsname{% + \csname ver@ipa.sty\endcsname} + \restoresymbol{WSU}{baro} \restoresymbol{WSU}{eth} + \restoresymbol{WSU}{openo} \restoresymbol{WSU}{thorn} + } + {\completefalse\@cons\missingpkgs{{wsuipa}}} +\makeatother + +\newif\ifPHON +\newcommand\PHON{\pkgname{phonetic}} +\IfStyFileExists{phonetic} + {\PHONtrue + \savesymbol{esh} \savesymbol{eth} \savesymbol{hookb} + \savesymbol{hookd} \savesymbol{hookh} \savesymbol{openo} + \savesymbol{schwa} \savesymbol{taild} \savesymbol{thorn} + \savesymbol{varg} \savesymbol{yogh} + \usepackage{phonetic} + \restoresymbol{PHON}{esh} \restoresymbol{PHON}{eth} + \restoresymbol{PHON}{hookb} \restoresymbol{PHON}{hookd} + \restoresymbol{PHON}{hookh} \restoresymbol{PHON}{openo} + \restoresymbol{PHON}{schwa} \restoresymbol{PHON}{taild} + \restoresymbol{PHON}{thorn} \restoresymbol{PHON}{varg} + \restoresymbol{PHON}{yogh} + + % A few phonetic macros are fragile but need to be made robust. + \DeclareRobustCommand{\PHONibar}{\ibar} + \DeclareRobustCommand{\PHONrbar}{\rbar} + \DeclareRobustCommand{\PHONvod}{\vod} + } + {} + +\newif\ifULSY +\newcommand\ULSY{\pkgname{ulsy}} +\IfStyFileExists{ulsy} + {\ULSYtrue\usepackage{ulsy}} + {} + +\newif\ifASP +\newcommand\ASP{\pkgname{ar}} +\IfStyFileExists{ar} + {\ASPtrue\usepackage{ar}} + {} + +\newif\ifMETRE +\newcommand\METRE{\pkgname{metre}} +\IfStyFileExists{metre} + {\METREtrue + \savesymbol{breve} + \newcommand{\breve}{PLACEHOLDER FOR RENEWCOMMAND} + \usepackage{metre} + \restoresymbol{METRE}{breve} + % + \DeclareRobustCommand{\METREantidiplestar}{\antidiple*} + \DeclareRobustCommand{\METREantidiple}{\antidiple} + \DeclareRobustCommand{\METREdiplestar}{\diple*} + \DeclareRobustCommand{\METREdiple}{\diple} + \DeclareRobustCommand{\METREobelusstar}{\obelus*} + \DeclareRobustCommand{\METREobelus}{\obelus} + \DeclareRobustCommand{\METRErespondens}{\respondens} + \DeclareRobustCommand{\METREterminusstar}{\terminus*} + \DeclareRobustCommand{\METREterminus}{\terminus} + % + \DeclareRobustCommand{\METREAntidiplestar}{\Antidiple*} + \DeclareRobustCommand{\METREAntidiple}{\Antidiple} + \DeclareRobustCommand{\METREDiplestar}{\Diple*} + \DeclareRobustCommand{\METREDiple}{\Diple} + \DeclareRobustCommand{\METREObelusstar}{\Obelus*} + \DeclareRobustCommand{\METREObelus}{\Obelus} + \DeclareRobustCommand{\METRERespondens}{\Respondens} + \DeclareRobustCommand{\METRETerminusstar}{\Terminus*} + \DeclareRobustCommand{\METRETerminus}{\Terminus} + } + {} + +% pxfonts relies on txfonts (I think), so either package can be loaded. +% Note that txfonts/pxfonts redefine every LaTeX and AMS character, +% which is not what we want. As a result, we have to rely on some +% serious trickery to prevent our old characters from getting redefined. +\newif\ifTX +\newcommand\TX{\pkgname{txfonts}} +\newcommand\PX{\pkgname{pxfonts}} +\newcommand\TXPX{\pkgname{txfonts}/\pkgname{pxfonts}} +\makeatletter +\IfStyFileExists{txfonts} + {\TXtrue + % Manually declare the new txfonts fonts. + \DeclareSymbolFont{lettersA}{U}{txmia}{m}{it} + \SetSymbolFont{lettersA}{bold}{U}{txmia}{bx}{it} + \DeclareFontSubstitution{U}{txmia}{m}{it} + \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} + \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} + \DeclareFontSubstitution{U}{txsyc}{m}{n} + \DeclareSymbolFont{largesymbolsA}{U}{txexa}{m}{n} + \SetSymbolFont{largesymbolsA}{bold}{U}{txexa}{bx}{n} + \DeclareFontSubstitution{U}{txexa}{m}{n} + % Prevent txfonts from redeclaring any old fonts. + \let\origDeclareMathAlphabet=\DeclareMathAlphabet + \renewcommand{\DeclareMathAlphabet}[5]{} + \let\origDeclareSymbolFont=\DeclareSymbolFont + \renewcommand{\DeclareSymbolFont}[5]{} + \let\origSetSymbolFont=\SetSymbolFont + \renewcommand{\SetSymbolFont}[6]{} + \let\origDeclareFontSubstitution=\DeclareFontSubstitution + \renewcommand{\DeclareFontSubstitution}[4]{} + % Load txfonts. + \savesymbol{angle} \savesymbol{rightleftharpoons} + \usepackage{txfonts} + \restoresymbol{TX}{angle} \restoresymbol{TX}{rightleftharpoons} + % Restore the old font commands. + \global\let\DeclareSymbolFont=\origDeclareSymbolFont + \global\let\SetSymbolFont=\origSetSymbolFont + \global\let\DeclareFontSubstitution=\origDeclareFontSubstitution + \global\let\DeclareMathAlphabet=\origDeclareMathAlphabet + % Restore the default fonts. + \renewcommand\rmdefault{cmr} + \renewcommand\sfdefault{cmss} + \renewcommand\ttdefault{cmtt} + \ifAMS + \DeclareMathAlphabet\mathfrak{U}{euf}{m}{n} + \fi + % Are \textcent, \textsterling, \mathcent, \mathsterling, \L, \l, + % and \r the only symbols that get screwed up? + \let\origtextcent=\textcent + \gdef\textcent{{\fontencoding{TS1}\selectfont\origtextcent}} + \let\origtextsterling=\textsterling + \gdef\textsterling{{\fontencoding{TS1}\selectfont\origtextsterling}} + \DeclareTextCommand{\L}{OT1} + {\leavevmode\setbox\z@\hbox{L}\hb@xt@\wd\z@{\hss\@xxxii L}} + \DeclareTextCommand{\l}{OT1} + {{\@xxxii l}} + \DeclareTextAccent{\r}{OT1}{23} + \renewcommand{\mathcent}{\mbox{\usefont{OT1}{txr}{m}{n}\char"A2}} + \renewcommand{\mathsterling}{\mbox{\usefont{OT1}{txr}{m}{n}\char"A3}} + } + {} +\makeatother + +% Here's a real problem child: mathabx, which also redefines virtually +% every symbol provided by LaTeX2e and AMS. We have to resort to our +% most devious trickery to get mathabx to load properly. +\newif\ifABX +\newcommand\ABX{\pkgname{mathabx}} +\let\origDeclareMathSymbol=\DeclareMathSymbol +\let\origDeclareMathDelimiter=\DeclareMathDelimiter +\let\origDeclareMathRadical=\DeclareMathRadical +\let\origDeclareMathAccent=\DeclareMathAccent +\makeatletter + % Redefine \DeclareMathSymbol to stick "ABX" in front of each symbol name. + \renewcommand{\DeclareMathSymbol}[4]{% + \let\mathabx@undefine=\@gobble % Undefining symbols causes all sorts of problems for us. + \edef\newname{\expandafter\@gobble\string#1} + \ifx\newname\@empty + \else + \edef\newname{ABX\newname} + \expandafter\origDeclareMathSymbol\expandafter{% + \csname\newname\endcsname}{#2}{#3}{#4}% + \fi + } + % Do the same for \DeclareMathDelimiter. + \def\DeclareMathDelimiter#1{% + \edef\newname{\expandafter\@gobble\string#1} + \def\eatfour##1##2##3##4{}% + \def\eatfive##1##2##3##4##5{}% + \ifx\newname\@empty + \if\relax\noexpand#1% + \def\next{\eatfive} + \else + \def\next{\eatfour} + \fi + \else + \edef\newname{ABX\newname} + \def\next{% + \expandafter\origDeclareMathDelimiter\expandafter{% + \csname\newname\endcsname}} + \fi + \next + } + % Do the same for \DeclareMathAccent. + \renewcommand{\DeclareMathAccent}[4]{% + \edef\newname{\expandafter\@gobble\string#1} + \ifx\newname\@empty + \else + \edef\newname{ABX\newname} + \expandafter\origDeclareMathAccent\expandafter{% + \csname\newname\endcsname}{#2}{#3}{#4}% + \fi + } + % Redefine \DeclareMathRadical to do nothing. + \renewcommand{\DeclareMathRadical}[5]{} +\makeatother +\let\proofmode=1 +\IfStyFileExists{mathabx} + {\ABXtrue + \savesymbol{not} \savesymbol{widering}\savesymbol{Moon} + \savesymbol{notowner} \savesymbol{iint} \savesymbol{iiint} + \savesymbol{oint} \savesymbol{oiint} \savesymbol{bigboxperp} + \savesymbol{bigoperp} \savesymbol{boxedcirc} \savesymbol{boxeddash} + \savesymbol{boxeedast} \savesymbol{boxperp} \savesymbol{boy} + \savesymbol{Cap} \savesymbol{centerdot} \savesymbol{circledast} + \savesymbol{circledcirc} \savesymbol{circleddash} \savesymbol{Cup} + \savesymbol{curvearrowtopleft} \savesymbol{curvearrowtopleftright} + \savesymbol{curvearrowtopright} \savesymbol{doteqdot} + \savesymbol{geqslant} \savesymbol{gets} \savesymbol{girl} + \savesymbol{Join} \savesymbol{land} \savesymbol{leqslant} + \savesymbol{looparrowupleft} \savesymbol{looparrowupright} + \savesymbol{lor} \savesymbol{lsemantic} + \savesymbol{mayaleftdelimiter} \savesymbol{mayarightdelimiter} + \savesymbol{ndivides} \savesymbol{nequiv} \savesymbol{ngeqslant} + \savesymbol{ni} \savesymbol{nleqslant} \savesymbol{notni} + \savesymbol{notowns} \savesymbol{notsign} \savesymbol{operp} + \savesymbol{rsemantic} \savesymbol{sqCap} \savesymbol{sqCup} + \savesymbol{to} \savesymbol{ulsh} \savesymbol{ursh} + \savesymbol{overbrace} \savesymbol{underbrace} + \savesymbol{overgroup} \savesymbol{undergroup} + \savesymbol{dddot} \savesymbol{ddddot} + + \usepackage{mathabx} + + \restoresymbol{ABX}{not} \restoresymbol{ABX}{widering} + \restoresymbol{ABX}{Moon} \restoresymbol{ABX}{notowner} + \restoresymbol{ABX}{iint} \restoresymbol{ABX}{iiint} + \restoresymbol{ABX}{oint} \restoresymbol{ABX}{oiint} + \restoresymbol{ABX}{bigboxperp} \restoresymbol{ABX}{bigoperp} + \restoresymbol{ABX}{boxedcirc} \restoresymbol{ABX}{boxeddash} + \restoresymbol{ABX}{boxeedast} \restoresymbol{ABX}{boxperp} + \restoresymbol{ABX}{boy} \restoresymbol{ABX}{Cap} + \restoresymbol{ABX}{centerdot} \restoresymbol{ABX}{circledast} + \restoresymbol{ABX}{circledcirc} \restoresymbol{ABX}{circleddash} + \restoresymbol{ABX}{Cup} \restoresymbol{ABX}{curvearrowtopleft} + \restoresymbol{ABX}{curvearrowtopleftright} + \restoresymbol{ABX}{curvearrowtopright} + \restoresymbol{ABX}{doteqdot} \restoresymbol{ABX}{geqslant} + \restoresymbol{ABX}{gets} \restoresymbol{ABX}{girl} + \restoresymbol{ABX}{Join} \restoresymbol{ABX}{land} + \restoresymbol{ABX}{leqslant} \restoresymbol{ABX}{looparrowupleft} + \restoresymbol{ABX}{looparrowupright} \restoresymbol{ABX}{lor} + \restoresymbol{ABX}{lsemantic} + \restoresymbol{ABX}{mayaleftdelimiter} + \restoresymbol{ABX}{mayarightdelimiter} + \restoresymbol{ABX}{ndivides} \restoresymbol{ABX}{nequiv} + \restoresymbol{ABX}{ngeqslant} \restoresymbol{ABX}{ni} + \restoresymbol{ABX}{nleqslant} \restoresymbol{ABX}{notni} + \restoresymbol{ABX}{notowns} \restoresymbol{ABX}{notsign} + \restoresymbol{ABX}{operp} \restoresymbol{ABX}{rsemantic} + \restoresymbol{ABX}{sqCap} \restoresymbol{ABX}{sqCup} + \restoresymbol{ABX}{to} \restoresymbol{ABX}{ulsh} + \restoresymbol{ABX}{ursh} \restoresymbol{ABX}{overbrace} + \restoresymbol{ABX}{underbrace} \restoresymbol{ABX}{overgroup} + \restoresymbol{ABX}{undergroup} + \restoresymbol{ABX}{dddot} \restoresymbol{ABX}{ddddot} + } + {} +\let\DeclareMathAccent=\origDeclareMathAccent +\let\DeclareMathRadical=\origDeclareMathRadical +\let\DeclareMathDelimiter=\origDeclareMathDelimiter +\let\DeclareMathSymbol=\origDeclareMathSymbol +\ifABX + % Define only those accents that are not defined elsewhere. + \DeclareMathAccent{\widecheck} {0}{mathx}{"71} + \DeclareMathAccent{\widebar} {0}{mathx}{"73} + \DeclareMathAccent{\widearrow} {0}{mathx}{"74} + % Redefine all let-bound symbols. + \let\ABXcenterdot=\ABXsqbullet + \let\ABXcircledast=\ABXoasterisk + \let\ABXcircledcirc=\ABXocirc + % Redefine commands that are used by other commands. + \DeclareMathSymbol{\ABXnotsign} {3}{matha}{"7F} + \DeclareMathSymbol{\ABXvarnotsign} {3}{mathb}{"7F} + \DeclareMathSymbol{\ABXnotowner} {3}{matha}{"53} + \makeatletter + \def\ABXoverbrace{\overbrace@{\bracefill\ABXbraceld\ABXbracemd\ABXbracerd\ABXbracexd}} + \def\ABXunderbrace{\underbrace@{\bracefill\ABXbracelu\ABXbracemu\ABXbraceru\ABXbracexu}} + \def\ABXovergroup{\overbrace@{\bracefill\ABXbraceld{}\ABXbracerd\ABXbracexd}} + \def\ABXundergroup{\underbrace@{\bracefill\ABXbracelu{}\ABXbraceru\ABXbracexu}} + \makeatother + % Define a command to select the mathb font. + \newcommand{\mathbfont}{\usefont{U}{mathb}{m}{n}} +\fi % ABX test + +\newif\ifFC +\newcommand\FC{\pkgname{fc}} +\IfStyFileExists{fclfont} + {\FCtrue + \let\origlbrace=\{ + \let\origrbrace=\} + \let\origbar=\| + \let\origdollar=\$ + \let\origspace=\_ + \let\origS=\S + \let\origpounds=\pounds + \input{t4enc.def} + \DeclareTextAccent{\FCbar}{T4}{'277}% single universal accent + \global\let\{=\origlbrace + \global\let\}=\origrbrace + \global\let\|=\origbar + \global\let\$=\origdollar + \global\let\_=\origspace + \global\let\S=\origS + \global\let\pounds=\origpounds + \let\origtextsterling=\textsterling + \gdef\textsterling{{\fontencoding{TS1}\selectfont\origtextsterling}} + } + {} + +% skak should be loaded before ascii because their \FF macros conflict. +% (skak's \FF is not a symbol so it can simply be set to \relax.) +\newif\ifSKAK +\newcommand\SKAK{\pkgname{skak}} +\IfStyFileExists{skak} + {\SKAKtrue + \savesymbol{etc} + \savesymbol{see} + \usepackage{skak} + \restoresymbol{SKAK}{etc} + \restoresymbol{SKAK}{see} + \let\FF=\relax + } + {} + +\newif\ifASCII +\newcommand\ASCII{\pkgname{ascii}} +\IfStyFileExists{ascii} + {\ASCIItrue + \savesymbol{HT} + \usepackage{ascii} + \restoresymbol{ascii}{HT} + } + {} + +\newif\ifARK % ark10 and dingbat fonts +\newcommand\ARK{\pkgname{dingbat}} +\IfStyFileExists{dingbat} + {\ARKtrue + \savesymbol{checkmark} + \usepackage{dingbat} + \restoresymbol{ARK}{checkmark} + \DeclareRobustCommand{\ARKlargepencil}{\largepencil\rule{0pt}{7ex}} + } + {} + +\newif\ifSKULL +\newcommand\SKULL{\pkgname{skull}} +\IfStyFileExists{skull} + {\SKULLtrue + \let\origDeclareSymbolFont=\DeclareSymbolFont + \let\origDeclareMathSymbol=\DeclareMathSymbol + \def\DeclareSymbolFont##1##2##3##4##5{} + \def\DeclareMathSymbol##1##2##3##4{} + \usepackage{skull} + \let\DeclareSymbolFont=\origDeclareSymbolFont + \let\DeclareMathSymbol=\origDeclareMathSymbol + \newcommand{\skull}{{\usefont{U}{skulls}{m}{n}\char'101}} + } + {} + +\newif\ifEUSYM +\newcommand\EUSYM{\pkgname{eurosym}} +\IfStyFileExists{eurosym} + {\EUSYMtrue\usepackage{eurosym}} + {} + +\newif\ifESV +\newcommand\ESV{\pkgname{esvect}} +\IfStyFileExists{esvect} + {\ESVtrue + \usepackage{esvect} + \DeclareMathSymbol{\fldra}{\mathrel}{esvector}{'021} + \DeclareMathSymbol{\fldrb}{\mathrel}{esvector}{'022} + \DeclareMathSymbol{\fldrc}{\mathrel}{esvector}{'023} + \DeclareMathSymbol{\fldrd}{\mathrel}{esvector}{'024} + \DeclareMathSymbol{\fldre}{\mathrel}{esvector}{'025} + \DeclareMathSymbol{\fldrf}{\mathrel}{esvector}{'026} + \DeclareMathSymbol{\fldrg}{\mathrel}{esvector}{'027} + \DeclareMathSymbol{\fldrh}{\mathrel}{esvector}{'030} + } + {} + +% yfonts re-encodes \aa and \AA as LY, so we have to re-re-encode them +% as OT1. +\IfStyFileExists{yfonts} + {\usepackage{yfonts} + \DeclareTextCommand{\aa}{OT1}{{\accent23a}} + \DeclareTextCommand{\AA}{OT1}{{\accent23A}}} + {} + +\newif\ifYH +\newcommand\YH{\pkgname{yhmath}} +\IfStyFileExists{yhmath} + {\YHtrue + \let\origRequirePackage=\RequirePackage % We don't want amsmath loaded. + \def\RequirePackage##1{} + \usepackage{yhmath} + \let\RequirePackage=\origRequirePackage + } + {} + +% At the time of this writing we're completely out of math alphabets. +% (Knuth shortsightedly assumed that 16 would be plenty for anyone.) +% Hence, instead of loading the esint package we manually define all of +% its characters as text characters. Yuck. +\newif\ifES +\newcommand\ES{\pkgname{esint}} +\IfStyFileExists{esint} + {\EStrue + % Center an esint character against an ordinary integral. + \newsavebox{\esbox} + \newlength{\intcenterdelta} + \newcommand{\esintchar}[1]{% + \ifodd##1 + \sbox{\esbox}{$\int$}% + \else + \sbox{\esbox}{$\displaystyle\int$}% + \fi + \setlength {\intcenterdelta}{0.5\ht\esbox}% + \addtolength{\intcenterdelta}{-0.5\dp\esbox}% + \sbox{\esbox}{\usefont{U}{esint}{m}{n}\char##1\relax}% + \addtolength{\intcenterdelta}{-0.5\ht\esbox}% + \addtolength{\intcenterdelta}{0.5\dp\esbox}% + \raisebox{\intcenterdelta}{\usebox{\esbox}}% + } + % Manually define all of the characters we care about. + \newcommand{\ESintT}{\esintchar{'001}} + \newcommand{\ESintD}{\esintchar{'002}} + \newcommand{\ESiintT}{\esintchar{'003}} + \newcommand{\ESiintD}{\esintchar{'004}} + \newcommand{\ESiiintT}{\esintchar{'005}} + \newcommand{\ESiiintD}{\esintchar{'006}} + \newcommand{\ESiiiintT}{\esintchar{'007}} + \newcommand{\ESiiiintD}{\esintchar{'010}} + \newcommand{\ESdotsintT}{\esintchar{'011}} + \newcommand{\ESdotsintD}{\esintchar{'012}} + \newcommand{\ESointT}{\esintchar{'013}} + \newcommand{\ESointD}{\esintchar{'014}} + \newcommand{\ESoiintT}{\esintchar{'015}} + \newcommand{\ESoiintD}{\esintchar{'016}} + \newcommand{\ESsqintT}{\esintchar{'017}} + \newcommand{\ESsqintD}{\esintchar{'020}} + \newcommand{\ESsqiintT}{\esintchar{'021}} + \newcommand{\ESsqiintD}{\esintchar{'022}} + \newcommand{\ESointctrclockwiseT}{\esintchar{'027}} + \newcommand{\ESointctrclockwiseD}{\esintchar{'030}} + \newcommand{\ESointclockwiseT}{\esintchar{'031}} + \newcommand{\ESointclockwiseD}{\esintchar{'032}} + \newcommand{\ESvarointclockwiseT}{\esintchar{'033}} + \newcommand{\ESvarointclockwiseD}{\esintchar{'034}} + \newcommand{\ESvarointctrclockwiseT}{\esintchar{'035}} + \newcommand{\ESvarointctrclockwiseD}{\esintchar{'036}} + \newcommand{\ESfintT}{\esintchar{'037}} + \newcommand{\ESfintD}{\esintchar{'040}} + \newcommand{\ESvaroiintT}{\esintchar{'041}} + \newcommand{\ESvaroiintD}{\esintchar{'042}} + \newcommand{\ESlandupintT}{\esintchar{'043}} + \newcommand{\ESlandupintD}{\esintchar{'044}} + \newcommand{\ESlanddownintT}{\esintchar{'045}} + \newcommand{\ESlanddownintD}{\esintchar{'046}} + } + {} + +\newif\ifMDOTS +\newcommand\MDOTS{\pkgname{mathdots}} +\IfStyFileExists{mathdots} + {\MDOTStrue + \savesymbol{ddots} + \savesymbol{vdots} + \savesymbol{iddots} + \savesymbol{dddot} + \savesymbol{ddddot} + \usepackage{mathdots} + \restoresymbol{MDOTS}{ddots} + \restoresymbol{MDOTS}{vdots} + \restoresymbol{MDOTS}{iddots} + \restoresymbol{MDOTS}{dddot} + \restoresymbol{MDOTS}{ddddot} + } + {} + +\newif\ifTRSYM +\newcommand\TRSYM{\pkgname{trsym}} +\IfStyFileExists{trsym} + {% We're painfully low on math alphabets so we define trsym's symbols in + % text mode. + \TRSYMtrue + \newcommand{\transfsymbol}[1]{{\usefont{U}{trsy}{m}{n}##1}} + \let\origDeclareSymbolFont=\DeclareSymbolFont + \let\origDeclareMathSymbol=\DeclareMathSymbol + \renewcommand{\DeclareSymbolFont}[5]{} + \renewcommand{\DeclareMathSymbol}[4]{\gdef##1{\transfsymbol{\char##4}}} + \usepackage{trsym} + \let\DeclareSymbolFont=\origDeclareSymbolFont + \let\DeclareMathSymbol=\origDeclareMathSymbol + } + {} + +% We use the *-form of \IfStyFileExists, because the package is named +% "universa", while the .sty file is named "uni.sty". +\makeatletter +\newif\ifUNI +\newcommand\UNI{\pkgname{universa}} +\IfStyFileExists*{uni} + {\@cons\foundpkgs{{universa}} + \UNItrue + \usepackage{uni} + \expandafter\xdef\csname ver@universa.sty\endcsname{% + \csname ver@uni.sty\endcsname} + % Redefine all of uni's non-textual symbols to use the Universal font. + \renewcommand{\bausquare}{{\usefont{OT1}{uni}{m}{n}\char"00}} + \renewcommand{\baucircle}{{\usefont{OT1}{uni}{m}{n}\char"01}} + \renewcommand{\bautriangle}{{\usefont{OT1}{uni}{m}{n}\char"02}} + \renewcommand{\bauhead}{{\usefont{OT1}{uni}{m}{n}\char"03}} + \renewcommand{\bauforms}{{\usefont{OT1}{uni}{m}{n}\char"04}} + } + {\completefalse\@cons\missingpkgs{{universa}}} +\makeatother + +\newif\ifUPGR +\newcommand\UPGR{\pkgname{upgreek}} +\IfStyFileExists{upgreek} + {% We're painfully low on math alphabets so we define upgreek's symbols + % in text mode. + \UPGRtrue + \let\origDeclareSymbolFont=\DeclareSymbolFont + \let\origDeclareMathSymbol=\DeclareMathSymbol + \let\origSetSymbolFont=\SetSymbolFont + \renewcommand{\DeclareSymbolFont}[5]{} + \renewcommand{\DeclareMathSymbol}[4]{% + \newcommand{##1}{{\usefont{U}{psy}{m}{n}\char##4}}% + } + \renewcommand{\SetSymbolFont}[6]{} + \usepackage[Symbol]{upgreek} + \DeclareFontFamily{U}{eur}{\skewchar\font'177} + \DeclareFontShape{U}{eur}{m}{n}{% + <-6> eurm5 <6-8> eurm7 <8-> eurm10}{} + \let\DeclareSymbolFont=\origDeclareSymbolFont + \let\DeclareMathSymbol=\origDeclareMathSymbol + \let\SetSymbolFont=\origSetSymbolFont + } + {} + +% overrightarrow depends upon various macros that are defined by AMS. +\newif\ifORA +\newcommand\ORA{\pkgname{overrightarrow}} +\makeatletter +\ifAMS + \IfStyFileExists{overrightarrow} + {\ORAtrue + \savesymbol{Rightarrowfill@} + \usepackage{overrightarrow} + \restoresymbol{ORA}{Rightarrowfill@} + \renewcommand{\Overrightarrow}{\mathpalette{\overarrow@\ORARightarrowfill@}} + } + {} +\fi % AMS test +\makeatother + +\newif\ifCHEMA +\newcommand\CHEMA{\pkgname{chemarr}} +\IfStyFileExists{chemarr} + {\CHEMAtrue + \let\origRequirePackage=\RequirePackage + \renewcommand{\RequirePackage}[1]{} + \usepackage{chemarr} + \let\RequirePackage=\origRequirePackage + } + {} + +\newif\ifCHEMB +\newcommand\CHEMB{\pkgname{chemarrow}} +\IfStyFileExists{chemarrow} + {\CHEMBtrue\usepackage{chemarrow}} + {} + +% nath is another of those "problem packages" that redefine just about +% everything. To make nath work in this document we need to explicitly +% define only those symbols that we actually need. +\newif\ifNATH +\newcommand\NATH{\pkgname{nath}} +\makeatletter +\IfStyFileExists{nath} + {\NATHtrue + \def\vin{\mathrel{\hbox{\hglue .1ex + \vrule \@height .06ex \@width 1ex + \vrule \@height 1.33ex \@width .06ex + \hglue .4ex}}} + + \def\niv{\mathrel{\hbox{\hglue .2ex + \vrule \@height 1.33ex \@width .06ex + \vrule \@height .06ex \@width 1ex + \hglue .5ex}}} + + % The following was derived from nath's \extend@delim macro. + \newcommand*{\nathrep}[2]{% + \setbox0\hbox{$\displaystyle##2$}% + \count@=0 + \loop\ifnum\count@<##1 + ##2% + \hskip -.75\wd0 \hskip .25ex% + \advance\count@ by 1% + \repeat + } + \newcommand*{\nathdouble}[1]{\nathrep{2}{##1}} + \newcommand*{\nathtriple}[1]{\nathrep{3}{##1}} + } + {} +\makeatother + +\newif\ifTRF +\newcommand\TRF{\pkgname{trfsigns}} +\IfStyFileExists{trfsigns} + {\TRFtrue\usepackage{trfsigns}} + {} + +\newif\ifMTOOLS +\newcommand\MTOOLS{\pkgname{mathtools}} +\IfStyFileExists{mathtools} + {\MTOOLStrue + \savesymbol{xleftrightarrow} \savesymbol{xLeftarrow} + \savesymbol{xRightarrow} \savesymbol{xLeftrightarrow} + \savesymbol{xrightharpoondown} \savesymbol{xrightharpoonup} + \savesymbol{xleftharpoondown} \savesymbol{xleftharpoonup} + \savesymbol{xleftrightharpoons} \savesymbol{xrightleftharpoons} + \savesymbol{xhookleftarrow} \savesymbol{xhookrightarrow} + \savesymbol{xmapsto} \savesymbol{underbracket} + \savesymbol{overbracket} \savesymbol{lparen} \savesymbol{rparen} + \savesymbol{dblcolon} \savesymbol{coloneqq} \savesymbol{Coloneqq} + \savesymbol{coloneq} \savesymbol{Coloneq} \savesymbol{eqqcolon} + \savesymbol{Eqqcolon} \savesymbol{eqcolon} \savesymbol{Eqcolon} + \savesymbol{colonapprox} \savesymbol{Colonapprox} + \savesymbol{colonsim} \savesymbol{Colonsim} \savesymbol{overbrace} + \savesymbol{underbrace} + + % The mathtools package delays the definitions of some of its symbols + % to the \begin{document}. We redefine \AtBeginDocument to force + % mathtools to define everything immediately. + \let\origAtBeginDocument=\AtBeginDocument + \def\AtBeginDocument##1{##1} + \usepackage[donotfixamsmathbugs]{mathtools} + \let\AtBeginDocument=\origAtBeginDocument + + \restoresymbol{MTOOLS}{xleftrightarrow} + \restoresymbol{MTOOLS}{xLeftarrow} + \restoresymbol{MTOOLS}{xRightarrow} + \restoresymbol{MTOOLS}{xLeftrightarrow} + \restoresymbol{MTOOLS}{xrightharpoondown} + \restoresymbol{MTOOLS}{xrightharpoonup} + \restoresymbol{MTOOLS}{xleftharpoondown} + \restoresymbol{MTOOLS}{xleftharpoonup} + \restoresymbol{MTOOLS}{xleftrightharpoons} + \restoresymbol{MTOOLS}{xrightleftharpoons} + \restoresymbol{MTOOLS}{xhookleftarrow} + \restoresymbol{MTOOLS}{xhookrightarrow} + \restoresymbol{MTOOLS}{xmapsto} + \restoresymbol{MTOOLS}{underbracket} + \restoresymbol{MTOOLS}{overbracket} \restoresymbol{MTOOLS}{lparen} + \restoresymbol{MTOOLS}{rparen} \restoresymbol{MTOOLS}{dblcolon} + \restoresymbol{MTOOLS}{coloneqq} \restoresymbol{MTOOLS}{Coloneqq} + \restoresymbol{MTOOLS}{coloneq} \restoresymbol{MTOOLS}{Coloneq} + \restoresymbol{MTOOLS}{eqqcolon} \restoresymbol{MTOOLS}{Eqqcolon} + \restoresymbol{MTOOLS}{eqcolon} \restoresymbol{MTOOLS}{Eqcolon} + \restoresymbol{MTOOLS}{colonapprox} + \restoresymbol{MTOOLS}{Colonapprox} + \restoresymbol{MTOOLS}{colonsim} \restoresymbol{MTOOLS}{Colonsim} + \restoresymbol{MTOOLS}{overbrace} \restoresymbol{MTOOLS}{underbrace} + + % Some of the above are defined in terms of \dblcolon. At the time + % of this writing it doesn't seem like any other package uses the + % name \dblcolon so it should be safe to retain its mathtools + % definition. + \let\dblcolon=\MTOOLSdblcolon + } + {} + +% We don't actually load the following as their symbols are all +% implemented in terms of existing symbols and we need to save math +% alphabets. +\newcommand\MC{\pkgname{mathcomp}} +\newcommand\GSYMB{\pkgname{gensymb}} + +\newif\ifPHAI +\newcommand\PHAI{\pkgname{phaistos}} +\IfStyFileExists{phaistos} + {\PHAItrue\usepackage{phaistos}} + {} + +\newif\ifARCS +\newcommand\ARCS{\pkgname{arcs}} +\IfStyFileExists{arcs} + {\ARCStrue + \usepackage{arcs} + \def\RSpercentTolerance{5} % Prevent \overarc and \underarc from hanging. + } + {} + +% If we have t5enc.def, use it and its prerequisite definitions directly +% instead of loading vietnam.sty or dblaccent.sty, as these affect other +% things in the document. +\newif\ifVIET +\newcommand\VIET{\pkgname{vntex}} +\makeatletter +\IfStyFileExists{vietnam} + {\VIETtrue\input{t5enc.def}} + {} +\makeatother + +\newif\ifPHONFC +\newcommand\PHONFC{\pkgname{t4phonet}} +\makeatletter +\IfStyFileExists{t4phonet} + {\PHONFCtrue + \let\origDeclareTextSymbol=\DeclareTextSymbol + \let\origDeclareTextAccent=\DeclareTextAccent + \renewcommand{\DeclareTextSymbol}[3]{% + \edef\PHONFCsym{\expandafter\@gobble\string##1}% + \expandafter\origDeclareTextSymbol\expandafter{% + \csname PHONFC\PHONFCsym\endcsname}{##2}{##3}% + } + \renewcommand{\DeclareTextAccent}[3]{% + \edef\PHONFCsym{\expandafter\@gobble\string##1}% + \expandafter\origDeclareTextAccent\expandafter{% + \csname PHONFC\PHONFCsym\endcsname}{##2}{##3}% + } + \usepackage{t4phonet} + \let\DeclareTextSymbol=\origDeclareTextSymbol + \let\DeclareTextAccent=\origDeclareTextAccent + } + {} +\makeatother + +\newif\ifHOPO +\newcommand\HOPO{\pkgname{holtpolt}} +\IfStyFileExists{holtpolt} + {\HOPOtrue\usepackage{holtpolt}} + {} + +\newif\ifSMTR +\newcommand\SMTR{\pkgname{semtrans}} +\IfStyFileExists{semtrans} + {\SMTRtrue + % semtrans's use of DeclareMathSymbol screws up \lhook and \rhook. + \let\origDeclareMathSymbol=\DeclareMathSymbol + \renewcommand{\DeclareMathSymbol}[4]{} + \savesymbol{U} + \savesymbol{D} + \savesymbol{T} + \usepackage{semtrans} + \restoresymbol{smtr}{U} + \restoresymbol{smtr}{D} + \restoresymbol{smtr}{T} + \let\DeclareMathSymbol=\origDeclareMathSymbol + } + {} + +\newif\ifDICT +\newcommand\DICT{\pkgname{dictsym}} +\IfStyFileExists{dictsym} + {\DICTtrue\usepackage{dictsym}} + {} + +\newif\ifEXTAR +\newcommand\EXTAR{\pkgname{extarrows}} +\IfStyFileExists{extarrows} + {\EXTARtrue + \savesymbol{xLeftrightarrow} + \savesymbol{xleftrightarrow} + \usepackage{extarrows} + \restoresymbol{EXTAR}{xLeftrightarrow} + \restoresymbol{EXTAR}{xleftrightarrow} + } + {} + +\newif\ifPROTO +\newcommand\PROTO{\pkgname{protosem}} +\IfStyFileExists{protosem} + {\PROTOtrue\usepackage{protosem}} + {} + +\newif\ifHARM +\newcommand\HARM{\pkgname{harmony}} +\IfStyFileExists{harmony} + {\HARMtrue + \let\orignewcommand=\newcommand + \let\newcommand=\DeclareRobustCommand + \savesymbol{HH} + \usepackage{harmony} + \restoresymbol{harm}{HH} + \let\newcommand=\orignewcommand + } + {} + +\newif\ifHIER +\newcommand\HIER{\pkgname{hieroglf}} +\IfStyFileExists{hieroglf} + {\HIERtrue\usepackage{hieroglf}} + {} + +\newif\ifCCLIC +\newcommand\CCLIC{\pkgname{cclicenses}} +\IfStyFileExists{cclicenses} + {\CCLICtrue + \usepackage{cclicenses} + % cclicenses doesn't get along with textcomp's remapping of + % \textcircled to the TS1 font encoding. Mapping it back doesn't + % _seem_ to cause any problems. + \DeclareTextAccentDefault{\textcircled}{OMS} + } + {} + +% The mathdesign package primarily redefines all of the existing +% mathematical symbols and is therefore a pain to load. Hence, we just +% check if it exists and then manually define all of the symbols we care +% about (i.e., those offered only by mathdesign). +\newif\ifMDES +\newcommand\MDES{\pkgname{mathdesign}} +\IfStyFileExists{mathdesign} + {\MDEStrue + % Symbols from mdputrma + \DeclareFontEncoding{MDA}{}{} + \DeclareFontFamily{MDA}{mdput}{} + \DeclareFontShape{MDA}{mdput}{m}{n}{<-> mdputrma}{} + \newcommand*{\textMDESa}[1]{{\usefont{MDA}{mdput}{m}{n}##1}} + \DeclareRobustCommand{\MDESudtimes}{\textMDESa{\char"5D}} + \DeclareRobustCommand{\MDESutimes}{\textMDESa{\char"5E}} + \DeclareRobustCommand{\MDESdtimes}{\textMDESa{\char"5F}} + % Symbols from mdputrmb + \DeclareFontEncoding{MDB}{}{} + \DeclareFontFamily{MDB}{mdput}{} + \DeclareFontShape{MDB}{mdput}{m}{n}{<-> mdputrmb}{} + \newcommand*{\textMDESb}[1]{{\usefont{MDB}{mdput}{m}{n}##1}} + \DeclareRobustCommand{\MDESsmallin}{\textMDESb{\char"0}} + \DeclareRobustCommand{\MDESsmallowns}{\textMDESb{\char"1}} + \DeclareRobustCommand{\MDESnotsmallin}{\textMDESb{\char"2}} + \DeclareRobustCommand{\MDESnotsmallowns}{\textMDESb{\char"3}} + \DeclareRobustCommand{\MDESrightangle}{\textMDESb{\char"4}} + \newcommand*{\MDESintsm}[1]{\raisebox{2ex}{\textMDESb{\char##1}}} + \newcommand*{\MDESint}[1]{\raisebox{3ex}{\textMDESb{\char##1}}} + \DeclareRobustCommand{\MDESintclockwisesm}{\MDESintsm{"80}} + \DeclareRobustCommand{\MDESintclockwise}{\MDESint{"81}} + \DeclareRobustCommand{\MDESointctrclockwisesm}{\MDESintsm{"82}} + \DeclareRobustCommand{\MDESointctrclockwise}{\MDESint{"83}} + \DeclareRobustCommand{\MDESointclockwisesm}{\MDESintsm{"84}} + \DeclareRobustCommand{\MDESointclockwise}{\MDESint{"85}} + \DeclareRobustCommand{\MDESoiintsm}{\MDESintsm{"86}} + \DeclareRobustCommand{\MDESoiint}{\MDESint{"87}} + \DeclareRobustCommand{\MDESoiiintsm}{\MDESintsm{"88}} + \DeclareRobustCommand{\MDESoiiint}{\MDESint{"89}} + % Symbols from mdputr7y + \DeclareFontFamily{OMS}{mdput}{} + \DeclareFontShape{OMS}{mdput}{m}{n}{<-> mdputr7y}{} + \newcommand*{\textMDESy}[1]{{\usefont{OMS}{mdput}{m}{n}##1}} + \DeclareRobustCommand{\MDESin}{\textMDESy{\char"32}} + \DeclareRobustCommand{\MDESowns}{\textMDESy{\char"33}} + \DeclareRobustCommand{\MDESnotin}{\textMDESy{\char"36}\textMDESy{\char"32}} + % Symbols from mdputr7v + \DeclareFontFamily{OMX}{mdput}{} + \DeclareFontShape{OMX}{mdput}{m}{n}{<-> mdputr7v}{} + \DeclareFontFamily{OMX}{mdbch}{} + \DeclareFontShape{OMX}{mdbch}{m}{n}{<-> mdbchr7v}{} + \DeclareFontFamily{OMX}{mdugm}{} + \DeclareFontShape{OMX}{mdugm}{m}{n}{<-> mdugmr7v}{} + \newcommand*{\textMDESv}[1]{{\usefont{OMX}{mdput}{m}{n}##1}} + \newbox\MDESwavebox + \DeclareRobustCommand{\MDESleftwavelet}{\textMDESv{\char"D0}} + \DeclareRobustCommand{\MDESleftwave}{% + \setbox\MDESwavebox=\hbox{\textMDESv{\char"D0}} + \raisebox{-1.5\dp\MDESwavebox}{\vbox to 4\dp\MDESwavebox{\cleaders\copy\MDESwavebox\vfill}}} + \DeclareRobustCommand{\MDESleftevawlet}{\textMDESv{\char"D1}} + \DeclareRobustCommand{\MDESleftevaw}{% + \setbox\MDESwavebox=\hbox{\textMDESv{\char"D1}} + \raisebox{-1.5\dp\MDESwavebox}{\vbox to 4\dp\MDESwavebox{\cleaders\copy\MDESwavebox\vfill}}} + % Symbols from mdputr8c + \DeclareRobustCommand{\MDEStexteuro}{{\usefont{TS1}{mdput}{m}{n}\char"BF}} + } + {} + +\newif\ifAREV +\newcommand\AREV{\pkgname{arev}} +\ifMDES % AREV requires MDES to function properly. +\makeatletter +\IfStyFileExists{arev} + {\AREVtrue + % Store the package date but otherwise do nothing. + \let\origRequirePackage=\RequirePackage + \let\RequirePackage=\@gobble + \usepackage{arev} + \let\RequirePackage=\origRequirePackage + % Define the characters we actually plan to display without actually + % changing the font to Arev Sans. + \DeclareFontFamily{U}{zavm}{} + \DeclareFontShape{U}{zavm}{m}{n}{<-> favmr7y}{} + \newcommand*{\textAREV}[1]{{\usefont{U}{zavm}{m}{n}##1}} + \DeclareRobustCommand{\varspade}{\textAREV{\char"55}} + \DeclareRobustCommand{\varheart}{\textAREV{\char"56}} + \DeclareRobustCommand{\vardiamond}{\textAREV{\char"57}} + \DeclareRobustCommand{\varclub}{\textAREV{\char"58}} + \DeclareRobustCommand{\steaming}{\textAREV{\char"59}} + \DeclareRobustCommand{\AREVquarternote}{\textAREV{\char"5A}} + \DeclareRobustCommand{\AREVeighthnote}{\textAREV{\char"5B}} + \DeclareRobustCommand{\AREVsixteenthnote}{\textAREV{\char"5C}} + } + {} +\makeatother +\fi + +% Aaarrrggghhh! MnSymbol conflicts with pretty much every mathematical +% symbol and, furthermore, defines most math alphabets than we can +% handle. The situation has gotten so bad that we replace MnSymbol.sty +% with a generated, "faked" version that uses exclusively text fonts +% and renames all symbols to avoid conflicts. +\newif\ifMNS +\newcommand\MNS{\pkgname{MnSymbol}} +\IfStyFileExists{MnSymbol} + {\MNStrue + \let\origProvidesPackage=\ProvidesPackage + \def\ProvidesPackage##1[##2]{\origProvidesPackage{##1}[##2]\endinput} + \usepackage{MnSymbol}[2007/01/21] + \let\ProvidesPackage=\origProvidesPackage + \usepackage{fakeMnSymbol} + } + {} + +% Manually define every symbol in cmll so we don't have to use any more +% math alphabets. +\newif\ifCMLL +\newcommand\CMLL{\pkgname{cmll}} +\IfStyFileExists{cmll} + {\CMLLtrue + \newcommand*{\textCMLL}[1]{{\usefont{U}{cmllr}{m}{n}##1}} + \DeclareRobustCommand{\CMLLparr}{\textCMLL{\char0}} + \DeclareRobustCommand{\CMLLshpos}{\textCMLL{\char1}} + \DeclareRobustCommand{\CMLLshneg}{\textCMLL{\char2}} + \DeclareRobustCommand{\CMLLshift}{\textCMLL{\char3}} + \DeclareRobustCommand{\CMLLcoh}{\textCMLL{\char4}} + \DeclareRobustCommand{\CMLLscoh}{\textCMLL{\char5}} + \DeclareRobustCommand{\CMLLincoh}{\textCMLL{\char6}} + \DeclareRobustCommand{\CMLLsincoh}{\textCMLL{\char7}} + \DeclareRobustCommand{\CMLLbigwith}{\raisebox{2ex}{\textCMLL{\char8}}} + \DeclareRobustCommand{\CMLLbigparr}{\raisebox{2ex}{\textCMLL{\char10}}} + } + {} + +\newif\ifXPFEIL +\newcommand\XPFEIL{\pkgname{extpfeil}} +\IfStyFileExists{extpfeil} + {\XPFEILtrue + % extpfeil tries to do a \RequirePackage of stmaryrd with + % conflicting options from what we used to load stmaryd. We + % therefore temporarily make \RequirePackage a no-op to prevent LaTeX + % from complaining. + \let\origRequirePackage=\RequirePackage + \renewcommand*{\RequirePackage}[2][]{} + \savesymbol{xlongequal} + \savesymbol{xmapsto} + \usepackage{extpfeil} + \restoresymbol{XPFEIL}{xlongequal} + \restoresymbol{XPFEIL}{xmapsto} + \let\RequirePackage=\origRequirePackage + } + {} + +\newif\ifKEYS +\newcommand\KEYS{\pkgname{keystroke}} +\IfStyFileExists{keystroke} + {\KEYStrue + \usepackage{keystroke} + % \Tab and \BSpace's use of \reflectbox confuses our indexing code. + \DeclareRobustCommand{\keysTab}{\Tab} + \DeclareRobustCommand{\keysBSpace}{\BSpace} + } + {} + +% We have no math alphabets left so we trick fge.sty into defining all of +% its characters in text mode. +\newif\ifFGE +\newcommand\FGE{\pkgname{fge}} +\makeatletter +\IfStyFileExists{fge} + {\FGEtrue + \let\origDeclareSymbolFont=\DeclareSymbolFont + \let\origDeclareMathSymbol=\DeclareMathSymbol + \renewcommand{\DeclareSymbolFont}[5]{} + \renewcommand{\DeclareMathSymbol}[4]{% + \newcommand{##1}{{\usefont{U}{##3}{m}{n}\char##4}}% + } + \usepackage{fge} + \newcommand*{\spirituslenisAB}[2]{% + \leavevmode + \setbox0=\hbox{##2}% + \@tempdima=\ht0 + \@tempdimb=\wd0 + \box0\llap{% + \raisebox{\@tempdima}{% + \makebox[\@tempdimb]{\usefont{U}{fgerm}{m}{n}\char##1}% + }% + }% + } + \DeclareRobustCommand{\spirituslenisA}[1]{\spirituslenisAB{"15}{##1}} + \DeclareRobustCommand{\spirituslenisB}[1]{\spirituslenisAB{"16}{##1}} + \let\spirituslenis=\spirituslenisA + \let\DeclareSymbolFont=\origDeclareSymbolFont + \let\DeclareMathSymbol=\origDeclareMathSymbol + } + {} +\makeatother + +\newif\ifTURN +\newcommand\TURN{\pkgname{turnstile}} +\IfStyFileExists{turnstile} + {\TURNtrue\usepackage{turnstile}} + {} + +\newif\ifSIMP +\newcommand\SIMP{\pkgname{simpsons}} +\IfStyFileExists{simpsons} + {\SIMPtrue + \usepackage{simpsons} + \let\origSimpson=\Simpson + \DeclareRobustCommand{\Simpson}{\origSimpson} + } + {} + +\newif\ifEDICE +\newcommand\EDICE{\pkgname{epsdice}} +\IfStyFileExists{epsdice} + {\EDICEtrue + \usepackage{epsdice} + \let\origepsdice=\epsdice + \DeclareRobustCommand{\epsdice}[1]{\origepsdice{##1}} + \DeclareRobustCommand{\allepsdice}{% + \epsdice{1}% + \epsdice{2}% + \epsdice{3}% + \epsdice{4}% + \epsdice{5}% + \epsdice{6}% + } + } + {} + +% feyn provides yet another math font for which we have no room. +% Fortunately, it's relatively easy to define all of its symbols in +% terms of a text font. +\newif\ifFEYN +\newcommand\FEYN{\pkgname{feyn}} +\IfStyFileExists{feyn} + {\FEYNtrue + \let\origProvidesPackage=\ProvidesPackage + \def\ProvidesPackage##1[##2]{\origProvidesPackage{##1}[##2]\endinput} + \savesymbol{filename} + \usepackage{feyn} + \restoresymbol{FEYN}{filename} + \let\ProvidesPackage=\origProvidesPackage + \DeclareFontFamily{OMS}{textfeyn}{\skewchar\font'000} + \DeclareFontShape{OMS}{textfeyn}{m}{n}{% + <-10.5>feyntext10% + <10.5-11.5>feyntext11% + <11.5->feyntext12% + }{} + \DeclareRobustCommand{\feyn}[1]{{\usefont{OMS}{textfeyn}{m}{n}##1}} + \DeclareRobustCommand{\smallbosonloop}{\feyn{\char"20}} + \DeclareRobustCommand{\bigbosonloop}{\feyn{\char"21}} + } + {} + +% The universal package defines characters only locally within +% \textbayer or in a group containing \bayer. Therefore, we need only +% to make \chardef temporarily export its symbols globally. +\newif\ifBAYER +\newcommand\BAYER{\pkgname{universal}} +\IfStyFileExists{universal} + {\BAYERtrue + \let\origlcurly=\{ + \let\origrcurly=\} + \let\origbar=\| + \let\origS=\S + \savesymbol{baucircle} \savesymbol{bausquare} \savesymbol{bautriangle} + \savesymbol{bauforms} \savesymbol{bauhead} + \usepackage{universal} + \begingroup + \def\chardef##1="##2##3{% + \gdef##1{{\usefont{OT1}{universal}{m}{n}\char"##2##3}}% + }% + \bayer + \endgroup + \let\{=\origlcurly + \let\}=\origrcurly + \let\|=\origbar + \let\S=\origS + \restoresymbol{BAYER}{baucircle} \restoresymbol{BAYER}{bausquare} + \restoresymbol{BAYER}{bautriangle} + \restoresymbol{BAYER}{bauforms} \restoresymbol{BAYER}{bauhead} + } + {} + +\newif\ifSTAVE +\newcommand\STAVE{\pkgname{staves}} +\IfStyFileExists{staves} + {\STAVEtrue\usepackage{staves}} + {} + +\newif\ifIGO +\newcommand\IGO{\pkgname{igo}} +\IfStyFileExists{igo} + {\savesymbol{black} + \savesymbol{white} + \savesymbol{repeat} + \IGOtrue\usepackage{igo} + \restoresymbol{IGO}{black} + \restoresymbol{IGO}{white} + \restoresymbol{IGO}{repeat} + % Define a version of \whitestone and \blackstone that avoid + % bracketed arguments. + \DeclareRobustCommand{\igowhitestone}[1]{\whitestone[##1]} + \DeclareRobustCommand{\igoblackstone}[1]{\blackstone[##1]} + } + {} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% If we have mflogo.sty, use it. Otherwise, define \MF the "boring" way. +\IfStyFileExists*{mflogo} + {\usepackage{mflogo}} + {\newcommand{\MF}{Metafont}} + +% If we have booktabs.sty, use it. Otherwise, define all its line types +% in terms of \hline and \cline. +\IfStyFileExists*{booktabs} + {\usepackage{booktabs}} + {\newcommand{\toprule}{\hline} + \newcommand{\midrule}{\hline} + \newcommand{\bottomrule}{\hline} + \def\cmidrule(##1)##2{\cline{##2}} + } + +% If we have url.sty, use it. Otherwise, define \url as \texttt. +\IfStyFileExists*{url} + {\usepackage{url} + \def\UrlBreaks{} + \def\UrlBigBreaks{\do/}} + {\newcommand{\url}[1]{\texttt{##1}}} + +% If we have geometry.sty, use it. Otherwise, a lot of tables are going +% to stick out into the margin. +\makeatletter +\IfStyFileExists*{geometry} + {\usepackage{geometry} + \@ifpackagelater{geometry}{2000/01/01}{\geometry{compat2}} + } + {} +\makeatother + +% If we have multicol.sty, use it. +\newif\ifhavemulticol +\IfStyFileExists*{multicol} + {\havemulticoltrue\usepackage{multicol}} + {} + +% If we have rotating.sty, use it. +\newif\ifhaverotating +\IfStyFileExists*{rotating} + {\haverotatingtrue\usepackage{rotating}} + {} + +% If we have cancel.sty, use it. +\newif\ifhavecancel +\IfStyFileExists*{cancel} + {\havecanceltrue\usepackage{cancel}} + {} + +% If we have slashed.sty, use it. +\newif\ifhaveslashed +\IfStyFileExists*{slashed} + {\haveslashedtrue\usepackage{slashed}} + {} + +% If we have centernot.sty, use it. +\newif\ifhavecenternot +\IfStyFileExists*{centernot} + {\havecenternottrue\usepackage{centernot}} + {} + +% If we have the accents package, use it (for an example in the section +% on constructing new symbols). +\newif\ifACCENTS +\IfStyFileExists{accents} + {\ACCENTStrue + \savesymbol{undertilde} + \savesymbol{dddot} + \savesymbol{ddddot} + \usepackage{accents} + \restoresymbol{ACCENTS}{undertilde} + \restoresymbol{ACCENTS}{dddot} + \restoresymbol{ACCENTS}{ddddot} + } + {} + +% If we have the nicefrac package, use it (to show how to typeset fractions). +\newif\ifFRAC +\IfStyFileExists{nicefrac} + {\FRACtrue + \usepackage[nice]{nicefrac} + } + {} + +% If we have the bm package, use it (to show how to typeset bold math). +\newif\ifBM +\IfStyFileExists{bm} + {\BMtrue + \usepackage{bm} + } + {} + +% If we have ot2enc.def, use it (to show how to produce a Cyrillic "sha"). +\newif\ifOTII +\IfFileExists{ot2enc.def} + {\OTIItrue\input{ot2enc.def}} + {} + +% If we have needspace.sty, use it. Otherwise, define \needspace as a no-op. +\IfStyFileExists*{needspace} + {\usepackage{needspace}} + {\newcommand{\needspace}[1]{}} + +% If we have type1cm.sty, use it. +\IfStyFileExists*{type1cm} + {\usepackage{type1cm}} + {} + +% If we have multirow.sty, use it. +\newif\ifhavemultirow +\IfStyFileExists*{multirow} + {\havemultirowtrue\usepackage{multirow}} + {} + +% If we have simplewick.sty, use it. +\newif\ifhavesimplewick +\IfStyFileExists*{simplewick} + {\havesimplewicktrue\usepackage{simplewick}} + {} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Because most (La)TeX builds are limited to 16 math alphabets, we % +% define our own _text_ commands below instead of doing a \usepackage, % +% because the latter would invoke a \DeclareMathAlphabet. % +% % + +\IfStyFileExists{mathrsfs} + {\newcommand{\mathscr}[1]{\mbox{\usefont{U}{rsfs}{m}{n} ##1}}} + {} + +\IfStyFileExists{chancery} + {\newcommand{\mathpzc}[1]{\mbox{\usefont{OT1}{pzc}{m}{it} ##1}}} + {} + +\IfStyFileExists{calligra} + {\savesymbol{filename} + \usepackage{calligra} + \restoresymbol{CAL}{filename} + \newcommand{\mathcalligra}[1]{\mbox{\usefont{T1}{calligra}{m}{n} ##1}} + } + {} + +\IfStyFileExists{bbold} + {\newcommand{\BBmathbb}[1]{\mbox{\usefont{U}{bbold}{m}{n} ##1}} + % We have to manually define all of the symbols we care about. + \newcommand{\BBsym}[1]{\ensuremath{\BBmathbb{\char##1}}} + \newcommand{\Langle}{\BBsym{`<}} + \newcommand{\Lbrack}{\BBsym{`[}} + \newcommand{\Lparen}{\BBsym{`(}} + \newcommand{\bbalpha}{\BBsym{"0B}} + \newcommand{\bbbeta}{\BBsym{"0C}} + \newcommand{\bbgamma}{\BBsym{"0D}} + \newcommand{\Rparen}{\BBsym{`)}} + \newcommand{\Rbrack}{\BBsym{`]}} + \newcommand{\Rangle}{\BBsym{"3E}} + } + {} + +\IfStyFileExists{mbboard} + {\newcommand{\MBBmathbb}[1]{\mbox{\usefont{OT1}{mbb}{m}{n} ##1}}} + {} +\ifx\MBBmathbb\undefined +\else + % Define only the symbols we actually use. + \newcommand{\bbnabla}{\MBBmathbb{\char"9A}} + \newcommand{\bbdollar}{\MBBmathbb{\char"24}} + \newcommand{\bbeuro}{\MBBmathbb{\char"FB}} + \newcommand{\bbpe}{\MBBmathbb{\char"D4}} + \newcommand{\bbqof}{\MBBmathbb{\char"D7}} + \newcommand{\bbyod}{\MBBmathbb{\char"C9}} + \newcommand{\bbfinalnun}{\MBBmathbb{\char"CF}} + + % The following was copied from mbboard.sty. + \DeclareFontFamily{OT1}{mbb}{\hyphenchar\font45} + \DeclareFontShape{OT1}{mbb}{m}{n}{ + <5> <6> <7> <8> <9> <10> gen * mbb + <10.95> mbb10 <12> <14.4> mbb12 <17.28> <20.74> <24.88> mbb17 + }{} +\fi + +\IfStyFileExists{dsfont} + {\newcommand{\mathds}[1]{\mbox{\usefont{U}{dsrom}{m}{n}##1}} + \newcommand{\mathdsss}[1]{\mbox{\usefont{U}{dsss}{m}{n}##1}}} + {} + +\IfStyFileExists{bbm} + {\newcommand{\mathbbm}[1]{\mbox{\usefont{U}{bbm}{m}{n}##1}} + \newcommand{\mathbbmss}[1]{\mbox{\usefont{U}{bbmss}{m}{n}##1}} + \newcommand{\mathbbmtt}[1]{\mbox{\usefont{U}{bbmtt}{m}{n}##1}}} + {} + +% \mathfrak is defined by a number of packages, to check for it by name. +\ifx\mathfrak\undefined +\else + \renewcommand{\mathfrak}[1]{\mbox{\fontencoding{U}\fontfamily{euf}\selectfont#1}} +\fi + +% msym10 doesn't have a corresponding LaTeX package. We establish its +% existence via the msym10.tfm file. However, this file is not normally +% in LaTeX's input path, so be sure to point LaTeX to it (e.g., by +% copying it into the current directory). +\makeatletter +\IfFileExists{msym10.tfm} + {\DeclareFontFamily{OT1}{msym}{} + \DeclareFontShape{OT1}{msym}{m}{n}{ <-> msym10 }{} + \newcommand{\MSYMmathbb}[1]{\mbox{\fontfamily{msym}\selectfont##1}} + } + {\completefalse + \@cons\missingpkgs{{msym10.tfm}} % Not really a package + } +\makeatother + +% % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Resolve the stmaryrd/wasysym \lightning conflict by defining \lightning +% to use stmaryrd in math mode and wasysym in text mode. +\DeclareRobustCommand{\lightning}{\ifmmode\STlightning\else\WASYlightning\fi} + +% Index a symbol, which may or may not begin with a backslash. (Is +% there a better way to do this?) Also, if symbol is given as an +% optional argument is given, typeset that symbol in the index, as well. +% We define a related macro for indexing accents. In a previous version +% of this file, \indexaccent additionally included "see also accents" in +% the index. This became distracting so I made \indexaccent a synonym +% for \indexcommand for the time being. Because punctuation marks can +% be problematic for makeindex, we define an \indexpunct macro that +% sorts its argument under the comparatively innocuous "_". +\begingroup + \catcode`\|=0 + \catcode`\\=12 + |gdef|sanitize#1#2!!!{% + |ifx#1\% + #2% + |else% + #1#2% + |fi% +} +|endgroup +\makeatletter + \newcommand{\indexcommand}[2][]{% + \edef\sanitized{\expandafter\sanitize\string#2!!!}% + \def\first@arg{#1}% + \ifx\first@arg\@empty + \expandafter\index\expandafter{\sanitized=\string\verb+\string#2+}% + \else + \expandafter\index\expandafter{\sanitized=\string\verb+\string#2+ (#1)}% + \fi + } + \let\indexaccent=\indexcommand + \newcommand{\indexpunct}[2][]{% + \def\first@arg{#1}% + \ifx\first@arg\@empty + \expandafter\index\expandafter{_=\string\verb+\string#2+}% + \else + \expandafter\index\expandafter{_=\string\verb+\string#2+ (#1)}% + \fi + } +\makeatother + +% Enable the use of makeindex's nicer-looking gind.ist style. +% I swiped the following from doc.dtx. +\makeatletter +\newif\ifscan@allowed +\def\efill{\hfill\nopagebreak}% +\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus 1fill}% +\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil}% +\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak + \dotfil~\ignorespaces}% +\makeatother + +% If we have the multicol package, typeset the index in three columns instead +% of the usual two. +\ifhavemulticol + \makeatletter + \renewenvironment{theindex}{% + \clearpage + \section*{\indexname} + + If you're having trouble locating a symbol, try looking under + ``T'' for ``\texttt{\string\text}$\ldots$''. Many text-mode + commands begin with that prefix. Also, accents are shown + over/under a gray box, e.g.,~``\,\blackacchack{\'}\,'' + for~``\texttt{\string\'}''. + + Some symbol entries appear to be listed repeatedly. This happens + when multiple packages define identical (or nearly identical) + glyphs with the same symbol name.% +\ifAMS\ifABX + \footnote{This occurs frequently between \pkgname{amssymb} and + \pkgname{mathabx}, for example.} +\fi\fi + \setlength{\columnsep}{1em}% + \begin{multicols}{3}% + \let\item\@idxitem + }{% + \end{multicols}% + } + \makeatother +\fi + +% Define a counter to keep track of how many symbols are listed. +% Output this counter to the log file at the end of each run. +% Define \prevtotalsymbols to be the total number of symbols from +% the previous run. +\newcounter{totalsymbols} +\newcommand{\incsyms}{\addtocounter{totalsymbols}{1}} +\makeatletter +\AtEndDocument{% + \typeout{Number of symbols documented: \thetotalsymbols} + \immediate\write\@auxout{% + \noexpand\gdef\noexpand\prevtotalsymbols{\thetotalsymbols}} +} +\makeatother + +% Define \prevtotalsymbols as "??" if this is our first run. Define +% \approxcount as "~" unless explicitly defined otherwise in the .aux +% file. To get a true count you should count the number of lines in the +% .ind file that contain "\item \verb". Write an empty definition of +% \approxcount and the correct definition of \prevtotalsymbols to the +% .aux file. +\makeatletter + \@ifundefined{prevtotalsymbols}{% + \def\prevtotalsymbols{\fbox{\textbf{??}}}% + }{} + \@ifundefined{approxcount}{% + \def\approxcount{\ensuremath{\sim}}% + }{} +\makeatother + +% If we have color.sty, use it to display accents atop gray boxes in the +% index. (See below.) If we don't have color.sty, use black boxes. +\IfStyFileExists*{color} + {\usepackage{color} + \newcommand*{\graybox}{\textcolor[gray]{0.7}{\rule[-\adp]{\awd}{\aht}}}} + {\newcommand*{\graybox}{\rule[-\adp]{\awd}{\aht}}} + +% Define \blackacc to display an accented box, given an accent command. +% Define \blackacchack to display an accented "a" and then black out +% the "a". +\newlength\awd +\newlength\aht +\newlength\adp +\settowidth{\awd}{a} +\settoheight{\aht}{a} +\settodepth{\adp}{a} +\advance\aht by \adp +\gdef\blackacchack#1{#1a\llap{\graybox}} +\gdef\blackacc#1{#1{\graybox}} +\gdef\blackacctwo#1{#1{\graybox}{\graybox}} + +% Symbol+verbatim for various types of symbols +\def\E#1{% + \begingroup + \lccode`|=`\\ + \def\EStruename{ES#1T} + \lowercase{\incsyms\index{#1=\string\verb+\string|#1+ (\string|\EStruename)}} + \endgroup + \csname ES#1T\endcsname & \csname ES#1D\endcsname & + \ttfamily\expandafter\string\csname#1\endcsname +} +\def\IGOb#1{\incsyms\indexcommand\blackstone + \indexcommand[\string\igoblackstone{#1}]{#1}\igoblackstone{#1} & + \ttfamily\string\blackstone[\string#1]} +\def\IGOw#1{\incsyms\indexcommand\whitestone + \indexcommand[\string\igowhitestone{#1}]{#1}\igowhitestone{#1} & + \ttfamily\string\whitestone[\string#1]} +\def\Jiv#1#2{\incsyms\indexcommand{#1}{\fontencoding{T4}\selectfont#1#2} & + \ttfamily\string#1\string{#2\string}} +\makeatletter + \def\K@opt@arg[#1]#2{\incsyms\indexcommand[#1]{#2}#1 &\ttfamily\string#2} + \def\K@no@opt@arg#1{\incsyms\indexcommand[#1]{#1}#1 &\ttfamily\string#1} + \def\K{\@ifnextchar[{\K@opt@arg}{\K@no@opt@arg}} +\makeatother +\def\KED[#1][#2][#3]#4{\incsyms\indexcommand[#1]{#2}#3 &\ttfamily\string#4} +\def\Kfeyn#1{\incsyms\indexcommand[\string\feyn{#1}]{\feyn{#1}}\feyn{#1} &\ttfamily\string\feyn\string{\string#1\string}} +\def\Kp#1{\incsyms\indexpunct[$#1$]{#1}#1 &\ttfamily\string#1} +\def\Ks#1{\incsyms\indexcommand[\string\encone{\string#1}]{#1}{\encone{#1}} &\ttfamily\string#1$^*$} +\def\Kt#1{\incsyms\indexcommand[\string\encone{\string#1}]{#1}{\encone{#1}} &\ttfamily\string#1} +\def\Kv#1{\incsyms\indexcommand[\string\encfive{\string#1}]{#1}{\encfive{#1}} &\ttfamily\string#1} +\def\KN[#1][#2]#3{\incsyms\indexcommand[\string#1]{#3} #1 & #2 & \ttfamily\string#3} +\def\KNbig[#1][#2]#3{\incsyms\indexcommand[\string#2]{#3} #1 & #2 & \ttfamily\string#3} +\makeatletter + \def\N@opt@arg[#1]#2{\incsyms\indexcommand[$\string#1$]{#2}$#1$ & $\Big#1$ &\ttfamily\string#2} + \def\N@no@opt@arg#1{\incsyms\indexcommand[$\string#1$]{#1}$#1$ & $\Big#1$ &\ttfamily\string#1} + \def\N{\@ifnextchar[{\N@opt@arg}{\N@no@opt@arg}} + \def\Nn[#1]#2{% + \incsyms\indexcommand[$\string\nathdouble\string#1$]{#2}% + $\nathdouble#1$ & $\nathdouble{\Big#1}$ & \ttfamily\string#2} + \def\Nnt#1[#2]#3{% + \incsyms\indexcommand{\triple}% + $\nathtriple#2$ & $\nathtriple{\Big#2}$ & + \ttfamily\expandafter\string\csname#1triple\endcsname\string#3} + \def\Np@opt@args[#1]{\@ifnextchar[{\Np@two@opt@args[#1]}{\Np@one@opt@arg[#1]}} + \def\Np@two@opt@args[#1][#2]#3{\incsyms\index{_=\string#2{} ($\string#1$)}$#1$ & $\Big#1$ &\ttfamily\string#3} + \def\Np@one@opt@arg[#1]#2{\incsyms\indexpunct[$\string#1$]{#2}$#1$ & $\Big#1$ &\ttfamily\string#2} + \def\Np@no@opt@args#1{\incsyms\indexpunct[$\string#1$]{#1}$#1$ & $\Big#1$ &\ttfamily\string#1} + \def\Np{\@ifnextchar[{\Np@opt@args}{\Np@no@opt@args}} + \def\Nbig[#1]#2{\incsyms\indexcommand[$\string\Big\string#1$]{#2}$#1$ & $\Big#1$ &\ttfamily\string#2} +\makeatother +\def\Mt#1{\incsyms\indexcommand[\string\metra\string#1]{#1}\metra#1 &\ttfamily\string#1} +\makeatletter + \def\Q@opt@arg[#1]#2{\incsyms\indexaccent[\string\blackacchack{\string#1}]{#2}#1{A}#1{a} & + \ttfamily\string#2\string{A\string}\string#2\string{a\string}} + \def\Q@no@opt@arg#1{\incsyms\indexaccent[\string\blackacchack{\string#1}]{#1}#1{A}#1{a} & + \ttfamily\string#1\string{A\string}\string#1\string{a\string}} + \def\Q{\@ifnextchar[{\Q@opt@arg}{\Q@no@opt@arg}} +\makeatother +\def\Qc#1{\incsyms\indexaccent[\string\blackacc{\string#1}]{#1}#1{A}#1{a} & + \ttfamily\string#1\string{A\string}\string#1\string{a\string}} +\def\Qe[#1][#2]#3{% + \incsyms\incsyms\index{_=\string#2{} (\string\blackacchack{\string#1})}% + #3{A}#3{a} & + \ttfamily\string#3\string{A\string}\string#3\string{a\string}} +\def\Qt#1{\incsyms\indexaccent[\string\encone{\string\blackacc{\string#1}}]{#1}{\encone{#1{A}#1{a}}} & + \ttfamily\string#1\string{A\string}\string#1\string{a\string}} + +\def\Qpc#1#2{\incsyms\indexcommand{#2}{\raisebox{1pt}{\tiny[#1]}} & + \ttfamily\string#2\string{A\string}\string#2\string{a\string}} +\def\Qpfc[#1]#2{\incsyms\indexaccent[\string\encfour{\string\blackacchack{\string#1}}]{#2}\encfour{#1{A}#1{a}} & + \ttfamily\string#2\string{A\string}\string#2\string{a\string}} +\ifFC + \def\Qiv#1#2{\incsyms\indexaccent[\string\encfour{\string\blackacchack{\string#1}}]{#1}\encfour{#1{A}#1{a}} & + \ttfamily\string#1\string{A\string}\string#1\string{a\string}$^#2$} + \def\QivBAR#1{\incsyms\index{_=\string\magicVertname{} + (\string\encfour{\string\blackacchack{\string\FCbar}})} + \encfour{\FCbar{A}\FCbar{a}} & + \ttfamily\string\|\string{A\string}\string\|\string{a\string}$^#1$} +\else + \def\Qiv#1#2{\Qpc{T4}{#1}$^#2$} + \def\QivBAR#1{\Qpc{T4}{\|}$^#1$} +\fi +\ifVIET + \def\Qv#1#2{\incsyms\indexaccent[\string\encfive{\string\blackacchack{\string#1}}]{#1}{\encfive{#1{A}#1{a}}} & + \ttfamily\string#1\string{A\string}\string#1\string{a\string}$^#2$} +\else + \def\Qv#1#2{\Qpc{T5}{#1}$^#2$} +\fi +\makeatletter + % We use \displaystyle so that variable-sized symbols will be big. + \def\R@opt@arg[#1]#2{\incsyms\indexcommand[$\string#1$]{#2}$#1$ & $\displaystyle#1$ &\ttfamily\string#2} + \def\R@no@opt@arg#1{\incsyms\indexcommand[$\string#1$]{#1}$#1$ & $\displaystyle#1$ &\ttfamily\string#1} + \def\R{\@ifnextchar[{\R@opt@arg}{\R@no@opt@arg}} +\makeatother +\def\Tp#1{\incsyms\indexcommand{\ding}\ding{#1} &\ttfamily\string\ding\string{#1\string}} +\def\Tm#1{\incsyms\indexcommand{\maya}$\mayadigit{#1}$ &\ttfamily\string\maya\string{#1\string}} +\newcommand{\V}[2][]{\incsyms#1 & \indexcommand[#2]{#2}#2 &\ttfamily\string#2} +\newcommand{\Vp}[2][]{\incsyms#1 & \indexpunct[$#2$]{#2}#2 &\ttfamily\string#2} +\makeatletter + \newcommand{\VV}[2]{% + \incsyms\indexaccent[$\string\blackacc{\string\vv}$]{\vv}% + \expandafter\let\expandafter\fldrVV\csname fldr#1\endcsname + \def\vectfill@{\traitfill@\relbaredd\relbareda\fldrVV}% + $\vv{#2}$ & \texttt{\string\vv\string{#2\string}} + with package option \optname{esvect}{#1} + } + \def\W@opt@arg[#1]#2#3{% + \incsyms\indexaccent[$\string\blackacc{\string#1}$]{#2}% + $#1{#3}$ &\ttfamily\string#2\string{#3\string}} + \def\W@no@opt@arg#1#2{% + \incsyms\indexaccent[$\string\blackacc{\string#1}$]{#1}% + $#1{#2}$ &\ttfamily\string#1\string{#2\string}} + \def\W{\@ifnextchar[{\W@opt@arg}{\W@no@opt@arg}} +\makeatother +\def\Wf#1#2{\incsyms\indexcommand{#1}$#1{#2}$ &\ttfamily\string#1\string{#2\string}} +\def\Ww#1#2#3{\incsyms\indexcommand{#2}$#1{#3}$ &\ttfamily\string#2\string{#3\string}} +\def\Wul#1#2#3{% + \incsyms\indexaccent[$\string\blackacctwo{\string#1}$]{#1}% + $#1{#2}{#3}$ &\ttfamily\string#1\string{#2\string}\string{#3\string}} +\makeatletter + \def\X@opt@arg[#1]#2{\incsyms\indexcommand[$\string#1$]{#2}$#1$ &\ttfamily\string#2} + \def\X@no@opt@arg#1{\incsyms\indexcommand[$\string#1$]{#1}$#1$ &\ttfamily\string#1} + \def\X{\@ifnextchar[{\X@opt@arg}{\X@no@opt@arg}} +\makeatother +\def\Y#1{\incsyms\indexcommand[$\string\big\string#1$]{#1}$\big#1$ & $\Bigg#1$ &\ttfamily\string#1} +\def\Z#1{\incsyms\indexcommand[$\string#1$]{#1}\ttfamily\string#1} + +% Display and index a command, but not its symbol (\cmd). \cmdI shows +% the symbol in the index, with optional explicit formatting. \cmdX is +% the same as \cmdI, but with the optional argument hardwired to the +% command displayed in math mode. \cmdIp is also similar to \cmdI but +% takes no optional argument and formats its argument with \indexpunct +% instead of \indexcommand. +\makeatletter +\def\cmd#1{\texttt{\string#1}\indexcommand{#1}} +\newcommand{\cmdI}[2][]{% + \def\first@arg{#1}% + \ifx\first@arg\@empty + \texttt{\string#2}\indexcommand[#2]{#2}% + \else + \texttt{\string#2}\indexcommand[#1]{#2}% + \fi +} +\newcommand{\cmdX}[1]{\cmdI[$\string#1$]{#1}} +\newcommand{\cmdW}[1]{\cmdI[$\string\blackacc{\string#1}$]{#1}} +\newcommand{\cmdIp}[1]{\texttt{\string#1}\indexpunct[$#1$]{#1}} +\makeatother + + +% Redefine the LaTeX commands that are replaced by textcomp. +% This was swiped right out of ltoutenc.dtx, but with "\text..." +% changed to "\ltext...". +\DeclareTextCommandDefault{\ltextcopyright}{\textcircled{c}} +\DeclareTextCommandDefault{\ltextregistered}{\textcircled{\scshape r}} +\DeclareTextCommandDefault{\ltexttrademark}{\textsuperscript{TM}} +\DeclareTextCommandDefault{\ltextordfeminine}{\textsuperscript{a}} +\DeclareTextCommandDefault{\ltextordmasculine}{\textsuperscript{o}} + + +% Needed by the References section. This was copy&pasted from ltlogos.dtx. +\makeatletter +\DeclareRobustCommand{\LaT}{L\kern-.36em% + {\sbox\z@ T% + \vbox to\ht\z@{\hbox{\check@mathfonts + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }% + \kern-.15em T% +} +\makeatother + +% Display a metavariable. +\newcommand{\meta}[1]{$\langle$\textit{#1}$\rangle$} + +% Many tables have notes beneath them. Define an environment in which to +% display such a note, with an optional, superscripted math symbol +% preceding it. +\newenvironment{tablenote}[1][]{ + \makebox[1em]{\ensuremath{^{#1}}}% + \begin{minipage}[t]{0.75\textwidth}% + \setlength{\parskip}{2ex} +}{% + \end{minipage}% +} + +% Define various messages we reuse repeatedly. +\newcommand{\twosymbolmessage}{% + \begin{tablenote} + Where two symbols are present, the left one is the ``faked'' symbol + that \latexE{} provides by default, and the right one is the ``true'' + symbol that \TC\ makes available. + \end{tablenote} +} + +\newcommand{\notpredefinedmessage}{% + \begin{tablenote}[*] + Not predefined in \latexE. Use one of the packages + \pkgname{latexsym}, \pkgname{amsfonts}, \pkgname{amssymb}, + \pkgname{txfonts}, \pkgname{pxfonts}, or \pkgname{wasysym}. + \end{tablenote} +} + +\newcommand{\notpredefinedmessageABX}{% + \begin{tablenote}[*] + Not predefined in \latexE. Use one of the packages + \pkgname{latexsym}, \pkgname{amsfonts}, \pkgname{amssymb}, + \pkgname{mathabx}, \pkgname{txfonts}, \pkgname{pxfonts}, or + \pkgname{wasysym}. + \end{tablenote} +} + +\newcommand{\usetextmathmessage}[1][]{% + \begin{tablenote}[#1] + It's generally preferable to use the corresponding symbol from + Table~\vref{math-text} because the symbols in that table work + properly in both text mode and math mode. + \end{tablenote} +} + +\newcommand{\seedocs}[1]{% + See the #1 documentation for more information% +} + + +% Define an environment in which to write a single table of symbols. The +% environment looks a lot like a table, but it doesn't float, and it gets +% an entry in the table of contents (as a subsubsection that looks like a +% subsection), as opposed to the list of tables. +% +% The first argument is a conditional. The table will appear only if +% the value of the conditional is true. The second argument is the +% table's caption. +\makeatletter +\def\fnum@table{\textsc{\tablename}~\thetable} +\newenvironment{symtable}[2][true]{% + \expandafter\global\expandafter\let% + \expandafter\ifshowsymtable\csname if#1\endcsname + \ifshowsymtable + \noindent% + \begin{minipage}[t]{\linewidth} % Prevent page breaks + \begin{center} + \addtocounter{table}{1}% + \protected@edef\@currentlabel{\thetable}% + \addcontentsline{toc}{subsubsection}{% + \protect\numberline{\tablename~\thetable:}{#2}}% + \@makecaption{\fnum@table}{#2}\medskip + \let\next=\relax + \else + % The following was taken verbatim from verbatim.sty. + \let\do\@makeother\dospecials\catcode`\^^M\active + \let\verbatim@startline\relax + \let\verbatim@addtoline\@gobble + \let\verbatim@processline\relax + \let\verbatim@finish\relax + \let\next=\verbatim@ + \fi + \next +}{% + \ifshowsymtable + \end{center} + \end{minipage} + \vskip 8ex minus 2ex + \fi +} +\makeatother + +% Same as the above, but allows page breaks. +\makeatletter +\newenvironment{longsymtable}[2][true]{% + \expandafter\global\expandafter\let + \expandafter\ifshowsymtable\csname if#1\endcsname + \ifshowsymtable + \needspace{7\baselineskip}% + \mbox{}% + \begin{center}% + \addtocounter{table}{1}% + \protected@edef\@currentlabel{\thetable}% + \addcontentsline{toc}{subsubsection}{% + \protect\numberline{\tablename~\thetable:}{#2}}% + \@makecaption{\fnum@table}{#2}% + \def\lt@indexed{}% + \let\next=\relax + \else + % The following was taken verbatim from verbatim.sty. + \let\do\@makeother\dospecials\catcode`\^^M\active + \let\verbatim@startline\relax + \let\verbatim@addtoline\@gobble + \let\verbatim@processline\relax + \let\verbatim@finish\relax + \let\next=\verbatim@ + \fi + \next +}{% + \ifshowsymtable + \end{center} + \let\@elt=\index\lt@indexed % Close our index ranges. + \addtocounter{table}{-1} % Make up for longtable's counter increment. + \vskip 8ex minus 2ex + \fi +} +\makeatother + +% Define \index-like commands for use with longsymtable that +% automatically apply to the entire table, not just the start of it. +\makeatletter +\newcommand{\ltindex}[1]{% + \index{#1|(}% + \@cons{\lt@indexed}{{#1|)}}% +} +\newcommand{\ltidxboth}[2]{\mbox{}\ltindex{#1 #2}\ltindex{#2>#1}} +\makeatother + + +% Define a table environment that's similar to symtable, except that it +% floats and it doesn't write an entry into the Table of Contents. This +% is used for tables that contain something other than symbol lists. +\newenvironment{nonsymtable}[1]{% + \begin{table}[htbp] + \centering + \caption{#1}\medskip +}{% + \end{table} +} + +% Do the same as the above, but typeset the table in landscape mode (or +% not, if we haven't loaded the rotating package). +\ifhaverotating + \newenvironment{nonsymtableL}[1]{% + \begin{sidewaystable}[htbp] + \centering + \caption{#1}\medskip + }{% + \end{sidewaystable} + } +\else + \newenvironment{nonsymtableL}{\begin{nonsymtable}}{\end{nonsymtable}} +\fi + +% Make sure we have enough room in the table of contents for +% the word "Table" at the beginning of each symtable entry. +\makeatletter +\settowidth{\@tempdimc}{Table~999:\hspace*{0.5em}} +\renewcommand*\l@subsubsection{\@dottedtocline{3}{1.5em}{\the\@tempdimc}} +\makeatother + +% Paragraphs with tall symbols should get a little extra interline spacing. +\newenvironment{morespacing}[1]{\advance\baselineskip by #1\relax}{\par} + +% Sometimes, we need a little more horizontal spacing, too. +\newcommand{\qqquad}{\qquad\quad} + +% The following are needed later on for various examples but must be +% declared here in the preamble. +\ifAMS + \DeclareMathOperator{\newlogsym}{newlogsym} + \DeclareMathOperator*{\newlogsymSTAR}{newlogsym} + \DeclareMathOperator{\atan}{atan} + \DeclareMathOperator*{\lcm}{lcm} +\fi +\DeclareFontFamily{U}{lightbulb}{} +\DeclareFontShape{U}{lightbulb}{m}{n}{<-> lightbulb10}{} +\newcommand{\lightbulb}{{\usefont{U}{lightbulb}{m}{n}A}} + +% I prefer \vpageref to say "on the previous page" than its default message. +\def\reftextbefore{on the previous page} + +% Use Donald Arseneau's improved float parameters. +\renewcommand{\topfraction}{.85} +\renewcommand{\bottomfraction}{.7} +\renewcommand{\textfraction}{.15} +\renewcommand{\floatpagefraction}{.66} +\renewcommand{\dbltopfraction}{.66} +\renewcommand{\dblfloatpagefraction}{.66} +\setcounter{topnumber}{9} +\setcounter{bottomnumber}{9} +\setcounter{totalnumber}{20} +\setcounter{dbltopnumber}{9} + +% Tell pdfLaTeX that all .eps files were produced by MetaPost. +\ifx\pdfoutput\undefined +\else + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput + \else + \DeclareGraphicsExtensions{.png,.pdf,.jpg,.mps,.tif,.eps} + \DeclareGraphicsRule{.eps}{mps}{*}{} + \fi + \fi +\fi + +% Define a metavariable for "operating-system prompt". +\newcommand{\osprompt}{\textrm{\textit{prompt}}{\small$>$}\xspace} + +% Typeset small, superscripted registered trademarks. +\newcommand{\regtm}{\textsuperscript{\textregistered}\xspace} + +% Define an environment for typesetting code samples. +\newsavebox{\codebox} +\newenvironment{codesample}{% + \begin{lrbox}{\codebox}% + \begin{minipage}{0.9\linewidth}% +}{% + \end{minipage}% + \end{lrbox}% + \fbox{\usebox{\codebox}}% +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{document} +\sloppy +\maketitle + +\begin{abstract} + This document lists \approxcount\prevtotalsymbols{} symbols and the + corresponding \latex{} commands that produce them. Some of these + symbols are guaranteed to be available in every \latexE{} system; + others require fonts and packages that may not accompany a given + distribution and that therefore need to be installed. All of the + fonts and packages used to prepare this document---as well as this + document itself---are freely available from the + Comprehensive\idxCTAN{} \TeX{} Archive Network + (\url{http://www.ctan.org/}). +\end{abstract} + +\tableofcontents + +% Now that we've output the table of contents, let's make \section start a +% new page. I toyed with the idea of changing the documentclass from +% article to report, but I like having the abstract on the same page as +% the title and the start of the table of contents; I want the tables +% numbered consecutively throughout the document; and I like the smaller, +% less gaudy section headings the article class offers. In short, article +% seems a better fit than report. +\makeatletter +\let\origsection=\section +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\clearpage\normalfont\Large\bfseries}} +\makeatother + + +% Define an integral containing a dash or a double-dash. +\def\Xint#1{\mathchoice + {\XXint\displaystyle\textstyle{#1}}% + {\XXint\textstyle\scriptstyle{#1}}% + {\XXint\scriptstyle\scriptscriptstyle{#1}}% + {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}% + \!\int} +\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$} + \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} +\def\ddashint{\Xint=} +\def\dashint{\Xint-} + + +% Many symbols are merely alphanumerics typeset with a math alphabet. +% Guide the user from the most common of these to the Math Alphabets +% table. +% +% QUESTION: How standard are the following? +% * action (script A) +% * Bernoulli (script B) +% * path integral measure (script D) +% * domain (script D) +% * expected value (script E) +% * energy per symbol [communications theory] (script E) +% * imaginary line (script I) +% * identity matrix (blackboard bold I) +% * likelihood (script L) +% * M matrix (script M) +% * Mellin transform (script M) +% * null space (script N) +% * order of (script o) +% * radius (script r) +% * real line (script R) +% * Schwartz class (script S) +% * volume (script V) +% +\ifcomplete + \makeatletter + \newcommand{\indexMA}[2][]{% + \def\first@arg{#1}% + \ifx\first@arg\@empty + \index{#2|see{alphabets, math}}% + \else + \index{#2=#2 (\string#1)|see{alphabets, math}}% + \fi + } + \makeatother +\else + \newcommand{\indexMA}[2][]{% + \index{#2|see{alphabets, math}}% +} +\fi +\indexMA[\mathscr{F}]{Fourier transform} +\indexMA[\mathscr{H}]{Hamiltonian} +\indexMA[\mathscr{H}]{Hilbert space} +\indexMA[\mathscr{L}]{Lagrangian} +\indexMA[\mathscr{L}]{Laplace transform} +\indexMA[\mathcal{L}]{Lie derivative} +\indexMA[\mathscr{P}]{power set} +\indexMA[\mathscr{E}]{electromotive force} +\indexMA[\mathcal{O}]{local ring} +\indexMA[$\mathbbm{C}$]{complex numbers} +%\indexMA{imaginary numbers} +\indexMA[$\mathbbm{Z}$]{integers} +\indexMA[$\mathbbm{N}$]{natural numbers} +\indexMA{number sets} +%\indexMA{prime numbers} +\indexMA[$\mathbbm{1}$]{unity} +\indexMA[$\mathbbm{D}$]{open unit disk} +\indexMA[$\mathbbm{D}$]{unit disk} +\indexMA[$\mathbbm{H}$]{quaternions} +\indexMA[$\mathbbm{Q}$]{rational numbers} +\indexMA[$\mathbbm{R}$]{real numbers} +\indexMA[$\mathbbm{T}$]{torus} +\indexMA{script letters} +\indexMA{blackboard bold} +\indexMA{fraktur} +\indexMA{moduli space} +\indexMA{Schwartz distribution spaces} + +% Provide "see ..."s for every accent whose name I happen to know. +\index{arc|see{accents}} +\index{breve|see{accents}} +\index{caron|see{accents}} +\index{cedilla|see{accents}} +\index{circumflex|see{accents}} +\index{diaeresis=di\ae{}resis|see{accents}} +\index{hacek=h\'{a}\v{c}ek|see{accents}} +\index{Hungarian umlaut|see{accents}} +\index{macron|see{accents}} +\index{ogonek|see{accents}} +\index{umlaut|see{accents}} + +% Provide "see ..."s for the common logical operators. +\index{logical operators>and|see{\texttt{\string\wedge}}} +\index{logical operators>or|see{\texttt{\string\vee}}} +\index{logical operators>not|see{\texttt{\string\neg} \emph{and} \texttt{\string\sim}}} +\index{operators>logical|see{logical operators}} +\index{and|see{\texttt{\string\wedge}}} +\index{or|see{\texttt{\string\vee}}} +\index{not|see{\texttt{\string\neg}}} +\index{conjunction|see{\texttt{\string\wedge}}} +\index{disjunction|see{\texttt{\string\vee}}} +\index{negation|see{\texttt{\string\neg} \emph{and} \texttt{\string\sim}}} +\index{set operators>union|see{\texttt{\string\cup}}} +\index{set operators>intersection|see{\texttt{\string\cap}}} +\index{operators>set|see{set operators}} +\index{union|see{\texttt{\string\cup}}} +\index{intersection|see{\texttt{\string\cap}}} +\index{material implication|see{\texttt{\string\rightarrow} \emph{and} \texttt{\string\supset}}} +\index{material equivalence|see{\texttt{\string\leftrightarrow} \emph{and} \texttt{\string\equiv}}} +\index{material conditional|see{\texttt{\string\rightarrow} \emph{and} \texttt{\string\supset}}} +\index{material biconditional|see{\texttt{\string\leftrightarrow} \emph{and} \texttt{\string\equiv}}} + +% Provide "see ..."s for various punctuation marks. +\index{paragraph mark|see{\texttt{\string\P}}} +\index{pilcrow|see{\texttt{\string\P}}} +\index{percent sign|see{\texttt{\string\%}}} +\index{dollar sign|see{\texttt{\string\$}}} +\index{cents|see{\texttt{\string\textcent}}} +\index{hash mark|see{\texttt{\string\#}}} +\index{ampersand|see{\texttt{\string\&}}} +\index{section mark|see{\texttt{\string\S}}} +\index{caret|see{\texttt{\string\^}}} +\index{swung dash|see{\texttt{\string\sim}}} +\index{underscore|see{\texttt{\string\_}}} +\index{less-than signs|see{inequalities}} +\index{greater-than signs|see{inequalities}} +\index{plus-or-minus sign|see{\texttt{\string\pm}}} + +% Provide "see ..."s for various musical symbols. +\index{quaver|see{musical symbols}} +\index{semiquaver|see{musical symbols}} +\index{demisemiquaver|see{musical symbols}} +\index{semibreve|see{musical symbols}} +\index{minim|see{musical symbols}} +\index{crotchet|see{musical symbols}} +\index{whole note|see{musical symbols}} +\index{half note|see{musical symbols}} +\index{quarter note|see{musical symbols}} +\index{eighth note|see{musical symbols}} +\index{sixteenth note|see{musical symbols}} +\index{thirty-second note|see{musical symbols}} + +% Provide a few other useful "see ..."s. +\index{CTAN|see{Comprehensive \TeX{} Archive Network}} +\index{letters|see{alphabets}} +\index{numbers|see{digits}} +\index{degrees|see{\texttt{\string\textdegree}}} +\index{registered trademark|see{\texttt{\string\textregistered}}} +\index{trademark|see{\texttt{\string\texttrademark}}} +\index{Cedi|see{\texttt{\string\textcolonmonetary}}} +\index{iff=\texttt{\string\iff}|see{\texttt{\string\Longleftrightarrow}}} +\index{derivitive, partial|see{\texttt{\string\partial}}} +\index{to=\texttt{\string\to}|see{\texttt{\string\rightarrow}}} +\index{adjoint=adjoint (\dag)|see{\texttt{\string\dag}}} +\ifAMS + \index{implies=\texttt{\string\implies}|see{\texttt{\string\Longrightarrow} + \emph{and} \texttt{\string\vdash}}} + \index{impliedby=\texttt{\string\impliedby}|see{\texttt{\string\Longleftarrow}}} + \index{division times|see{\texttt{\string\divideontimes}}} + \index{does not exist|see{\texttt{\string\nexists}}} + \index{ring equal to|see{\texttt{\string\circeq}}} + \index{ring in equal to|see{\texttt{\string\eqcirc}}} + \index{does not divide|see{\texttt{\string\nmid}}} + \index{transversality|see{\texttt{\string\pitchfork}}} + \index{absolute value|see{\texttt{\string\lvert} \emph{and} \texttt{\string\rvert}}} + \index{norm|see{\texttt{\string\lVert} \emph{and} \texttt{\string\rVert}}} +% \index{average|see{\texttt{\string\varnothing}}} +\fi % AMS test +\ifTIPA +% \index{symbols>dictionary|see{symbols, phonetic}} +% \index{dictionary symbols|see{phonetic symbols}} + \index{pronunciation symbols|see{phonetic symbols}} +\fi % TIPA test +\index{abzuglich=abz\"uglich|see{\texttt{\string\textdiscount}}} +\index{diacritics|see{accents}} +\index{parts per thousand|see{\texttt{\string\textperthousand}}} +\index{thousandths|see{\texttt{\string\textperthousand}}} +\index{millesimal sign|see{\texttt{\string\textperthousand}}} +\index{prescription|see{\texttt{\string\textrecipe}}} +\index{pharmaceutical prescription|see{\texttt{\string\textrecipe}}} +\ifMARV + \index{Deleatur=\texttt{\string\Deleatur}|see{\texttt{\string\Denarius}}} + \index{mouse|see{\texttt{\string\ComputerMouse}}} +\fi % MARV test +\index{playing cards|see{card suits}} +\ifABX + \index{nibar=\texttt{\string\nibar}|see{\texttt{\string\ownsbar}}} + \index{ring equal to|see{\texttt{\string\circeq}}} + \index{ring in equal to|see{\texttt{\string\eqcirc}}} + \index{cutoff subtraction|see{\texttt{\string\dotdiv}}} + \index{lsemantic=\texttt{\string\lsemantic}|see{\texttt{\string\ldbrack}}} + \index{rsemantic=\texttt{\string\rsemantic}|see{\texttt{\string\rdbrack}}} +\fi % ABX test +\index{rationalized Planck constant|see{\texttt{\string\hbar}}} +\index{options|see{package options}} +\index{cardinality|see{\texttt{\string\aleph}}} +\index{wreath product|see{\texttt{\string\wr}}} +\index{reverse solidus|see{\texttt{\string\textbackslash}}} +\index{radicals|see{\texttt{\string\sqrt} \emph{and} \texttt{\string\surd}}} +\index{roots|see{\texttt{\string\sqrt}}} +\index{square root|see{\texttt{\string\sqrt}}} +\index{square root>hooked|see{\texttt{\string\hksqrt}}} +\index{cube root|see{\texttt{\string\sqrt}}} +\ifcomplete + \index{return|see{carriage return}} + \index{heads|see{faces}} + \index{people|see{faces}} +\fi +\ifTX + \index{fish hook|see{\texttt{\string\strictif}}} + \index{par|see{\texttt{\string\invamp}}} +\fi % TX test +\index{stochastic independence|see{\texttt{\string\bot}}} +\index{independence>stochastic|see{\texttt{\string\bot}}} +\index{orthogonal to|see{\texttt{\string\bot}}} +\index{entails|see{\texttt{\string\models}}} +\index{micro|see{\texttt{\string\textmu}}} +\index{Angstrom unit=\AA{}ngstr\"om unit>math mode|see{\texttt{\string\mathring}}} +\index{Angstrom unit=\AA{}ngstr\"om unit>text mode|see{\texttt{\string\AA}}} +\index{yen|see{\texttt{\string\textyen}}} +\index{equilibrium|see{\texttt{\string\rightleftharpoons}}} +\index{number|see{\texttt{\string\textnumero}}} +\index{ditto marks|see{\texttt{\string\textquotedbl}}} +\index{Weierstrass p function=Weierstrass $\wp$ function|see{\texttt{\string\wp}}} +\index{inexact differential|see{\texttt{\string\dbar}}} +\ifhaveslashed + \index{reduced quadrupole moment|see{\texttt{\string\rqm}}} +\fi % haveslashed +\ifST + \index{banana brackets|see{\texttt{\string\llparenthesis} \emph{and} \texttt{\string\rrparenthesis}}} + \index{catamorphism|see{\texttt{\string\llparenthesis} \emph{and} \texttt{\string\rrparenthesis}}} +\fi % ST test +\ifOTII + \index{impulse train|see{sha}} + \index{Tate-Shafarevich group|see{sha}} +\fi +\ifSKAK + \index{king|see{chess symbols}} + \index{queen|see{chess symbols}} + \index{castle|see{chess symbols}} + \index{rook|see{chess symbols}} + \index{bishop|see{chess symbols}} + \index{knight|see{chess symbols}} + \index{pawn|see{chess symbols}} +\fi % SKAK test +\index{differential, inexact|see{\texttt{\string\dbar}}} +\index{brackets|see{delimiters}} +\ifcomplete + \index{equivalence|see{\texttt{\string\equiv}, \texttt{\string\leftrightarrow}, \emph{and} \texttt{\string\threesim}}} +\else + \index{equivalence|see{\texttt{\string\equiv} \emph{and} \texttt{\string\leftrightarrow}}} +\fi +\index{vinculum|see{\texttt{\string\overline}}} +\index{es-zet|see{\texttt{\string\ss}}} +\index{Maxwell-Stefan diffusion coefficient|see{\texttt{\string\DH}}} +\index{Laplacian=Laplacian ($\nabla^2$)|see{\texttt{\string\nabla}}} +\index{Laplacian=Laplacian ($\Delta$)|see{\texttt{\string\Delta}}} +\index{infinity=infinity ($\infty$)|see{\texttt{\string\infty}}} +%\ifx\BBmathbb\undefined\else +% \index{double summation=double summation ({\usefont{U}{bbold}{m}{n}\char"06})|see{alphabets, math}} +% \index{summation, double=summation, double ({\usefont{U}{bbold}{m}{n}\char"06})|see{alphabets, math}} +%\fi +\index{evaluated at|see{\texttt{\string\vert}}} +\index{CP1252|see{code page 1252}} +\index{CP437|see{code page 437}} +\ifSIMP + \index{nuclear power plant|see{\texttt{\string\SNPP}}} +\fi % SIMP test +\ifcomplete % Really only needs to be ARK or DING or PI. + \index{hands|see{fists}} + \index{printer's fist|see{fists}} + \index{pointing finger|see{fists}} + \index{finger, pointing|see{fists}} +\fi % complete test + +% "See also"s should appear after all page references. +\providecommand*\seealso[2]{\emph{\alsoname}#1} +\providecommand*\alsoname{see also} +\AtEndDocument{% + \index{carriage return|seealso{\string\texttt{\string\string\string\hookleftarrow}}} + \index{transforms|seealso{alphabets, math}} + \ifTX + \index{parallel|seealso{\string\texttt{\string\string\string\varparallel}}} + \fi + \ifST + \index{Plimsoll line|seealso{\string\texttt{\string\string\string\minuso}}} + \fi +} + +% Multiple packages define \multimap. +\makeatletter + \@ifundefined{multimap}{}{% + \index{linear implication|see{\texttt{\string\string\string\multimap}}} + \index{lollipop|see{\texttt{\string\string\string\multimap}}}} +\makeatother + +% Minutes/seconds and feet/inches are normally formed with superscripted +% primes. +\index{arcminutes|see{\texttt{\string\prime}}} +\index{angular minutes|see{\texttt{\string\prime}}} +\index{minutes, angular|see{\texttt{\string\prime}}} +\index{feet|see{\texttt{\string\prime} \emph{and} + \texttt{\string\textquotesingle}}} +\ifABX + \index{arcseconds|see{\texttt{\string\second}}} + \index{angular seconds|see{\texttt{\string\second}}} + \index{seconds, angular|see{\texttt{\string\second}}} + \index{inches|see{\texttt{\string\second} \emph{and} + \texttt{\string\textquotedbl}}} +\else + \index{arcseconds|see{\texttt{\string\prime}}} + \index{angular seconds|see{\texttt{\string\prime}}} + \index{seconds, angular|see{\texttt{\string\prime}}} + \index{inches|see{\texttt{\string\prime} \emph{and} + \texttt{\string\textquotedbl}}} +\fi + +% \notowns can be mapped to various things depending on package availability. +\ifABX + \ifTX + \index{notowns=\texttt{\string\notowns}|see{\texttt{\string\notowner} + \emph{and} \texttt{\string\notni}}} + \else + \index{notowns=\texttt{\string\notowns}|see{\texttt{\string\notowner}}} + \fi +\else + \ifTX + \index{notowns=\texttt{\string\notowns}|see{\texttt{\string\notni}}} + \fi +\fi + +% Double brackets are defined by both ST and ABX. +\ifABX + \ifST + \index{semantic valuation|see{\texttt{\string\llbracket}/\texttt{\string\rrbracket} + \emph{and} \texttt{\string\ldbrack}/\texttt{\string\rdbrack}}} + \else + \index{semantic valuation|see{\texttt{\string\ldbrack}/\texttt{\string\rdbrack}}} + \fi +\else + \ifST + \index{semantic valuation|see{\texttt{\string\llbracket}/\texttt{\string\rrbracket}}} + \fi +\fi + +% The following were generated automatically from txfonts.sty. +\ifTX + \index{circledplus=\texttt{\string\circledplus}|see{\texttt{\string\oplus}}} + \index{circledminus=\texttt{\string\circledminus}|see{\texttt{\string\ominus}}} + \index{circledtimes=\texttt{\string\circledtimes}|see{\texttt{\string\otimes}}} + \index{circledslash=\texttt{\string\circledslash}|see{\texttt{\string\oslash}}} + \index{circleddot=\texttt{\string\circleddot}|see{\texttt{\string\odot}}} + \index{le=\texttt{\string\le}|see{\texttt{\string\leq}}} + \index{ge=\texttt{\string\ge}|see{\texttt{\string\geq}}} + \index{gets=\texttt{\string\gets}|see{\texttt{\string\leftarrow}}} + \index{to=\texttt{\string\to}|see{\texttt{\string\rightarrow}}} + \index{owns=\texttt{\string\owns}|see{\texttt{\string\ni}}} + \index{lnot=\texttt{\string\lnot}|see{\texttt{\string\neg}}} + \index{land=\texttt{\string\land}|see{\texttt{\string\wedge}}} + \index{lor=\texttt{\string\lor}|see{\texttt{\string\vee}}} + \index{restriction=\texttt{\string\restriction}|see{\texttt{\string\upharpoonright}}} + \index{Doteq=\texttt{\string\Doteq}|see{\texttt{\string\doteqdot}}} + \index{doublecup=\texttt{\string\doublecup}|see{\texttt{\string\Cup}}} + \index{doublecap=\texttt{\string\doublecap}|see{\texttt{\string\Cap}}} + \index{llless=\texttt{\string\llless}|see{\texttt{\string\lll}}} + \index{gggtr=\texttt{\string\gggtr}|see{\texttt{\string\ggg}}} + %\index{Box=\texttt{\string\Box}|see{\texttt{\string\square}}} + \index{ne=\texttt{\string\ne}|see{\texttt{\string\neq}}} + %\index{notowns=\texttt{\string\notowns}|see{\texttt{\string\notni}}} + \index{lrJoin=\texttt{\string\lrJoin}|see{\texttt{\string\Join}}} + %\index{bowtie=\texttt{\string\bowtie}|see{\texttt{\string\lrtimes}}} + \index{dasharrow=\texttt{\string\dasharrow}|see{\texttt{\string\dashrightarrow}}} + \index{circledotright=\texttt{\string\circledotright}|see{\texttt{\string\circleddotright}}} + \index{circledotleft=\texttt{\string\circledotleft}|see{\texttt{\string\circleddotleft}}} +\fi % TX test + +% The following were generated semi-automatically from SYMLIST using: +% egrep '\text' SYMLIST | sed 's/\\text//' | xargs -i egrep '^{}$' /usr/share/dict/words | xargs -i sh -c 'egrep -q "^\\\\{}$" SYMLIST || echo "\\index{{}|see{\\texttt{\\string\\text{}}}}"' \; +% then editing the result. +\index{blank|see{\texttt{\string\textblank}}} +\index{born|see{\texttt{\string\textborn}}} +\index{died|see{\texttt{\string\textdied}}} +\index{discount|see{\texttt{\string\textdiscount}}} +\index{divorced|see{\texttt{\string\textdivorced}}} +\index{dollar|see{\texttt{\string\textdollar}}} +%\index{ellipsis|see{\texttt{\string\textellipsis}}} +\index{estimated|see{\texttt{\string\textestimated}}} +\index{florin|see{\texttt{\string\textflorin}}} +%\index{greater|see{\texttt{\string\textgreater}}} +\index{leaf|see{\texttt{\string\textleaf}}} +%\index{less|see{\texttt{\string\textless}}} +\index{married|see{\texttt{\string\textmarried}}} +\index{minus|see{\texttt{\string\textminus}}} +\index{ohm|see{\texttt{\string\textohm}}} +%\index{paragraph|see{\texttt{\string\textparagraph}}} +\index{recipe|see{\texttt{\string\textrecipe}}} +%\index{registered|see{\texttt{\string\textregistered}}} +%\index{section|see{\texttt{\string\textsection}}} +\index{sterling|see{\texttt{\string\pounds}}} +%\index{style|see{\texttt{\string\textstyle}}} +%\index{superscript|see{\texttt{\string\textsuperscript}}} +\index{trademark|see{\texttt{\string\texttrademark}}} +%\index{underscore|see{\texttt{\string\textunderscore}}} +\index{won|see{\texttt{\string\textwon}}} +\ifTIPA + \index{advancing|see{\texttt{\string\textadvancing}}} + \index{bullseye|see{\texttt{\string\textbullseye}}} + \index{lowering|see{\texttt{\string\textlowering}}} + \index{pipe|see{\texttt{\string\textpipe}}} + \index{raising|see{\texttt{\string\textraising}}} + \index{retracting|see{\texttt{\string\textretracting}}} + \index{seagull|see{\texttt{\string\textseagull}}} +\fi % TIPA test +%\index{swab|see{\texttt{\string\textswab}}} + + +\section{Introduction} + +Welcome to the \doctitle! This document strives to be your primary +source of \latex{} symbol information: font samples, \latex{} +commands, packages, usage details, caveats---everything needed to put +thousands of different symbols at your disposal. All of the fonts +covered herein meet the following criteria: + +\begin{enumerate} + \item They are freely available from the Comprehensive\idxCTAN{} + \TeX{} Archive Network (\url{http://www.ctan.org}). + + \item All of their symbols have \latexE{} bindings. That is, a user + should be able to access a symbol by name, not just by + \cmd{\char}\meta{number}. +\end{enumerate} + +\noindent +These are not particularly limiting criteria; the \doctitle{} contains +samples of \approxcount\prevtotalsymbols{} symbols---quite a large +number. Some of these symbols are guaranteed to be available in every +\latexE{} system; others require fonts and packages that may not +accompany a given distribution and that therefore need to be +installed. See +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages+wherefiles} +for help with installing new fonts and packages. + + +\subsection{Document Usage} + +Each section of this document contains a number of font tables. Each +table shows a set of symbols, with the corresponding \latex{} command +to the right of each symbol. A table's caption indicates what package +needs to be loaded in order to access that table's symbols. For +example, the symbols in Table~\ref{old-style-nums}, ``\TC\ Old-Style +Numerals'', are made available by putting +``\cmd{\usepackage}\verb|{textcomp}|'' in your document's preamble. +``\AMS'' means to use the \AMS{} packages, viz.\ \pkgname{amssymb} +and/or \pkgname{amsmath}. Notes below a table provide additional +information about some or all the symbols in that table. + +One\label{altenc} note that appears a few times in this document, +particularly in Section~\ref{body-text-symbols}, indicates that +certain symbols do not exist in the OT1 \fntenc[OT1] +(Donald\index{Knuth, Donald E.} Knuth's original, 7-bit +\fntenc[7-bit], which is the default \fntenc{} for \latex) and that +you should use \pkgname{fontenc} to select a different encoding, such +as T1 (a common 8-bit \fntenc[8-bit]\index{font encodings>T1}). That +means that you should put +``\cmd{\usepackage}\verb|[|\meta{encoding}\verb|]{fontenc}|'' in your +document's preamble, where \meta{encoding} is, e.g., +\texttt{T1}\index{font encodings>T1} or \texttt{LY1}\index{font +encodings>LY1}. To limit the change in \fntenc[limiting scope of] to +the current group, use +``\cmd{\fontencoding}\verb|{|\meta{encoding}\verb|}|\cmd{\selectfont}''. + +Section~\ref{addl-info} contains some additional information about the +symbols in this document. It shows which symbol names are not unique +across packages, gives examples of how to create new symbols out of +existing symbols, explains how symbols are spaced in math mode, +presents a \latex{} ASCII\index{ASCII} and Latin~1\index{Latin 1} +tables, and provides some information about this document itself. The +\doctitle{} ends with an index of all the symbols in the document and +various additional useful terms. + + +\ifcomplete + +\subsection{Frequently Requested Symbols} + +There are a number of symbols that are requested over and over again +on \ctt. If you're looking for such a symbol the following list will +help you find it quickly. + +\newenvironment{symbolfaq}{% + \ifhavemulticol + \setlength{\columnsep}{3em}% + \begin{multicols}{2}% + \fi + \setlength{\parskip}{1ex}% + \newcommand{\faq}[2]{% + \noindent##1\quad\dotfill\quad\makebox[1em][r]{##2}\par}% +}{% + \ifhavemulticol + \end{multicols}% + \fi +} + +\begin{symbolfaq} + \faq{\textvisiblespace, as in + ``Spaces\textvisiblespace are\textvisiblespace significant.''} + {\pageref{text-predef}} + \faq{\'{\i}, \`{\i}, \={\i}, \^{\i}, etc.\ (versus \'i, \`i, \=i, and \^i)} + {\pageref{text-accents}} + \faq{\textcent} + {\pageref{tc-currency}} + \faq{\EUR} + {\pageref{marv-currency}} + \faq{\textcopyright, \textregistered, and \texttrademark} + {\pageref{tc-legal}} + \faq{\textperthousand} + {\pageref{tc-misc}} + \faq{$\oiint$} + {\pageref{txpx-large}} + \faq{$\therefore$} + {\pageref{ams-rel}} + \faq{$\coloneqq$ and $\Coloneqq$} + {\pageref{txpx-rel}} + \faq{$\lesssim$ and $\gtrsim$} + {\pageref{ams-inequal-rel}} + \faq{$\MDOTSiddots$} + {\pageref{mathdots-dots}} + \faq{\textdegree, as in ``180\textdegree'' or ``15\textcelsius''} + {\pageref{tc-math}} + \faq{\mathscr{L}, \mathscr{F}, etc.} + {\pageref{alphabets}} + \faq{\mathbbm{N}, \mathbbm{Z}, \mathbbm{R}, etc.} + {\pageref{alphabets}} + \faq{$\dashint$} + {\pageref{dashint}} + \faq{\diatop[{\diatop[\'|\=]}|a], + \diatop[{\diatop[\`|\^]}|e], etc. + (i.e., several accents per character)} + {\pageref{multiple-accents}} + \faq{$<$, $>$, and $|$ (instead of <, >, and |)} + {\pageref{upside-down}} + \faq{\textasciicircum\ and \textasciitilde\ (or $\sim$)} + {\pageref{tildes}} +\end{symbolfaq} + +\fi % ifcomplete + + +\section{Body-text symbols} +\label{body-text-symbols} +\idxbothbegin{body-text}{symbols} + +This section lists symbols that are intended for use in running text, +such as punctuation marks, accents, ligatures, and currency symbols. + +\bigskip + +\begin{symtable}{\latexE{} Escapable ``Special'' Characters} +\index{special characters=``special'' characters} +\index{escapable characters} +\label{special-escapable} +\begin{tabular}{*6{ll@{\qqquad}}ll} +\K\$ & \K\% & \K\_$\,^*$ & \Kp\} & \K\& & \K\# & \Kp\{ \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + The \pkgname{underscore} package redefines ``\verb+_+'' to produce + an underscore in text mode (i.e.,~it makes it unnecessary to escape + the underscore character). +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Predefined \latexE{} Text-mode Commands} +\index{space, visible} +\index{inequalities} +\index{tilde} +\index{copyright} +\idxboth{dot}{symbols} +\index{dots (ellipses)} \index{ellipses (dots)} +\idxboth{legal}{symbols} +\label{text-predef} +\begin{tabular}{lll@{\qqquad}lll} +\V\textasciicircum & \V\textless \\ +\V\textasciitilde & \V[\ltextordfeminine]\textordfeminine \\ +\V\textasteriskcentered & \V[\ltextordmasculine]\textordmasculine \\ +\V\textbackslash & \V\textparagraph$^*$ \\ +\V\textbar & \V\textperiodcentered \\ +\V\textbraceleft$^*$ & \V\textquestiondown \\ +\V\textbraceright$^*$ & \V\textquotedblleft \\ +\V\textbullet & \V\textquotedblright \\ +\V[\ltextcopyright]\textcopyright$^*$ + & \V\textquoteleft \\ +\V\textdagger$^*$ & \V\textquoteright \\ +\V\textdaggerdbl$^*$ & \V[\ltextregistered]\textregistered \\ +\V\textdollar$^*$ & \V\textsection$^*$ \\ +\V\textellipsis$^*$ & \V\textsterling$^*$ \\ +\V\textemdash & \V[\ltexttrademark]\texttrademark \\ +\V\textendash & \V\textunderscore$^*$ \\ +\V\textexclamdown & \V\textvisiblespace \\ +\V\textgreater \\ +\end{tabular} + +\bigskip +\twosymbolmessage + +\bigskip +\usetextmathmessage[*] + +\end{symtable} + + +\begin{symtable}{\latexE{} Commands Defined to Work in Both Math and Text Mode} +\index{dots (ellipses)} \index{ellipses (dots)} +\index{copyright} +\idxboth{legal}{symbols} +\label{math-text} +\begin{tabular}{*3{lll@{\qqquad}}lll} +\V\$ & \V\_ & \V\ddag & \Vp\{ \\ +\V\P & \V[\ltextcopyright]\copyright + & \V\dots & \Vp\} \\ +\V\S & \V\dag & \V\pounds \\ +\end{tabular} + +\bigskip +\twosymbolmessage +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Commands Defined to Work in Both Math and Text Mode} +\label{ams-math-text} +\begin{tabular}{*2{ll@{\qquad}}ll} +\X\checkmark & \X\circledR & \X\maltese +\end{tabular} +\end{symtable} + + +\begin{symtable}{Non-ASCII Letters (Excluding Accented Letters)} +\index{letters>non-ASCII}\index{ASCII} +\label{non-ascii} +\begin{tabular}{*4{ll@{\hspace*{3em}}}ll} +\K\aa & \Ks\DH & \K\L & \K\o & \K\ss \\ +\K\AA & \Ks\dh & \K\l & \K\O & \K\SS \\ +\K\AE & \Ks\DJ & \Ks\NG & \K\OE & \Ks\TH \\ +\K\ae & \Ks\dj & \Ks\ng & \K\oe & \Ks\th \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + Not available in the OT1 \fntenc[OT1]. Use the \pkgname{fontenc} + package to select an alternate \fntenc[T1], such as T1. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[FC]{Letters Used to Typeset African Languages} +\index{alphabets>African} +\label{fc} +\begin{tabular}{*6{ll@{\qquad}}ll} +\Jiv\B{D} & \Jiv\m{c} & \Jiv\m{f} & \Jiv\m{k} & \Jiv\M{t} & \Jiv\m{Z} \\ +\Jiv\B{d} & \Jiv\m{D} & \Jiv\m{F} & \Jiv\m{N} & \Jiv\M{T} & \Jiv\T{E} \\ +\Jiv\B{H} & \Jiv\M{d} & \Jiv\m{G} & \Jiv\m{n} & \Jiv\m{t} & \Jiv\T{e} \\ +\Jiv\B{h} & \Jiv\M{D} & \Jiv\m{g} & \Jiv\m{o} & \Jiv\m{T} & \Jiv\T{O} \\ +\Jiv\B{t} & \Jiv\m{d} & \Jiv\m{I} & \Jiv\m{O} & \Jiv\m{u}$^*$ & \Jiv\T{o} \\ +\Jiv\B{T} & \Jiv\m{E} & \Jiv\m{i} & \Jiv\m{P} & \Jiv\m{U}$^*$ \\ +\Jiv\m{b} & \Jiv\m{e} & \Jiv\m{J} & \Jiv\m{p} & \Jiv\m{Y} \\ +\Jiv\m{B} & \Jiv\M{E} & \Jiv\m{j} & \Jiv\m{s} & \Jiv\m{y} \\ +\Jiv\m{C} & \Jiv\M{e} & \Jiv\m{K} & \Jiv\m{S} & \Jiv\m{z} \\ +\end{tabular} + +\bigskip +\begin{tablenote} + These characters all need the T4 \fntenc[T4], which is provided by + the \FC\ package. +\end{tablenote} + +\bigskip +\begin{tablenote}[*] + \verb|\m{v}| and \verb|\m{V}| are synonyms for \verb|\m{u}| and + \verb|\m{U}|. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[VIET]{Letters Used to Typeset Vietnamese} +\index{alphabets>Vietnamese} +\begin{tabular}{*3{ll@{\qquad}}ll} +\Kv\OHORN & \Kv\ohorn & \Kv\UHORN & \Kv\uhorn \\ +\end{tabular} + +\bigskip +\begin{tablenote} + These characters all need the T5 \fntenc[T5], which is provided by + the \VIET\ package. +\end{tablenote} + +\end{symtable} + + +\begin{symtable}{Punctuation Marks Not Found in OT1} +\index{punctuation} +\label{punc-no-OT1} +\begin{tabular}{*8l} +\Kt\guillemotleft & \Kt\guilsinglleft & \Kt\quotedblbase & \Kt\textquotedbl \\ +\Kt\guillemotright & \Kt\guilsinglright & \Kt\quotesinglbase \\ +\end{tabular} + +\bigskip +\begin{tablenote} + To get these symbols, use the \pkgname{fontenc} package to select an + alternate \fntenc[T1], such as~T1. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Decorative Punctuation Marks} +\index{punctuation} +\label{pi-punctuation} +\begin{tabular}{*5{ll}} +\Tp{123} & \Tp{125} & \Tp{161} & \Tp{163} \\ +\Tp{124} & \Tp{126} & \Tp{162} \\ +\end{tabular} +\end{symtable} + + +\begin{longsymtable}[TIPA]{\TIPA\ Phonetic Symbols} +\ltidxboth{phonetic}{symbols} +\ltidxboth{linguistic}{symbols} +\ltidxboth{dictionary}{symbols} +\ltidxboth{rotated}{symbols} +\ltidxboth{upside-down}{symbols} +\ltidxboth{inverted}{symbols} +\ltindex{alphabets>phonetic} +\index{tilde} +\label{tipa-phonetic} +\begin{longtable}{*3{ll}} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K\textbabygamma & \K\textglotstop & \K\textrtailn \\ +\K\textbarb & \K\texthalflength & \K\textrtailr \\ +\K\textbarc & \K\texthardsign & \K\textrtails \\ +\K\textbard & \K\texthooktop & \K\textrtailt \\ +\K\textbardotlessj & \K\texthtb & \K\textrtailz \\ +\K\textbarg & \K\texthtbardotlessj & \K\textrthook \\ +\K\textbarglotstop & \K\texthtc & \K\textsca \\ +\K\textbari & \K\texthtd & \K\textscb \\ +\K\textbarl & \K\texthtg & \K\textsce \\ +\K\textbaro & \K\texthth & \K\textscg \\ +\K\textbarrevglotstop & \K\texththeng & \K\textsch \\ +\K\textbaru & \K\texthtk & \K\textschwa \\ +\K\textbeltl & \K\texthtp & \K\textsci \\ +\K\textbeta & \K\texthtq & \K\textscj \\ +\K\textbullseye & \K\texthtrtaild & \K\textscl \\ +\K\textceltpal & \K\texthtscg & \K\textscn \\ +\K\textchi & \K\texthtt & \K\textscoelig \\ +\K\textcloseepsilon & \K\texthvlig & \K\textscomega \\ +\K\textcloseomega & \K\textinvglotstop & \K\textscr \\ +\K\textcloserevepsilon & \K\textinvscr & \K\textscripta \\ +\K\textcommatailz & \K\textiota & \K\textscriptg \\ +\K\textcorner & \K\textlambda & \K\textscriptv \\ +\K\textcrb & \K\textlengthmark & \K\textscu \\ +\K\textcrd & \K\textlhookt & \K\textscy \\ +\K\textcrg & \K\textlhtlongi & \K\textsecstress \\ +\K\textcrh & \K\textlhtlongy & \K\textsoftsign \\ +\K\textcrinvglotstop & \K\textlonglegr & \K\textstretchc \\ +\K\textcrlambda & \K\textlptr & \K\texttctclig \\ +\K\textcrtwo & \K\textltailm & \K\textteshlig \\ +\K\textctc & \K\textltailn & \K\texttheta \\ +\K\textctd & \K\textltilde & \K\textthorn \\ +\K\textctdctzlig & \K\textlyoghlig & \K\texttoneletterstem \\ +\K\textctesh & \K\textObardotlessj & \K\texttslig \\ +\K\textctj & \K\textOlyoghlig & \K\textturna \\ +\K\textctn & \K\textomega & \K\textturncelig \\ +\K\textctt & \K\textopencorner & \K\textturnh \\ +\K\textcttctclig & \K\textopeno & \K\textturnk \\ +\K\textctyogh & \K\textpalhook & \K\textturnlonglegr \\ +\K\textctz & \K\textphi & \K\textturnm \\ +\K\textdctzlig & \K\textpipe & \K\textturnmrleg \\ +\K\textdoublebaresh & \K\textprimstress & \K\textturnr \\ +\K\textdoublebarpipe & \K\textraiseglotstop & \K\textturnrrtail \\ +\K\textdoublebarslash & \K\textraisevibyi & \K\textturnscripta \\ +\K\textdoublepipe & \K\textramshorns & \K\textturnt \\ +\K\textdoublevertline & \K\textrevapostrophe & \K\textturnv \\ +\K\textdownstep & \K\textreve & \K\textturnw \\ +\K\textdyoghlig & \K\textrevepsilon & \K\textturny \\ +\K\textdzlig & \K\textrevglotstop & \K\textupsilon \\ +\K\textepsilon & \K\textrevyogh & \K\textupstep \\ +\K\textesh & \K\textrhookrevepsilon & \K\textvertline \\ +\K\textfishhookr & \K\textrhookschwa & \K\textvibyi \\ +\K\textg & \K\textrhoticity & \K\textvibyy \\ +\K\textgamma & \K\textrptr & \K\textwynn \\ +\K\textglobfall & \K\textrtaild & \K\textyogh \\ +\K\textglobrise & \K\textrtaill & \\ +\end{longtable} + +\begin{tablenote} + \TIPA\ defines shortcut characters for many of the above. It also + defines a command \cmd{\tone} for denoting tone letters (pitches). + \seedocs{\TIPA}. +\end{tablenote} +\end{longsymtable} + + +\begin{symtable}[TIPX]{\TIPX\ Phonetic Symbols} +\idxboth{phonetic}{symbols} +\idxboth{linguistic}{symbols} +\idxboth{dictionary}{symbols} +\idxboth{rotated}{symbols} +\idxboth{upside-down}{symbols} +\idxboth{inverted}{symbols} +\index{alphabets>phonetic} +\label{tipx-phonetic} +\begin{longtable}{*3{ll}} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K\textaolig & \K\texthtbardotlessjvar & \K\textrthooklong \\ +\K\textbenttailyogh & \K\textinvomega & \K\textscaolig \\ +\K\textbktailgamma & \K\textinvsca & \K\textscdelta \\ +\K\textctinvglotstop & \K\textinvscripta & \K\textscf \\ +\K\textctjvar & \K\textlfishhookrlig & \K\textsck \\ +\K\textctstretchc & \K\textlhookfour & \K\textscm \\ +\K\textctstretchcvar & \K\textlhookp & \K\textscp \\ +\K\textctturnt & \K\textlhti & \K\textscq \\ +\K\textdblig & \K\textlooptoprevesh & \K\textspleftarrow \\ +\K\textdoublebarpipevar & \K\textnrleg & \K\textstretchcvar \\ +\K\textdoublepipevar & \K\textObullseye & \K\textsubdoublearrow \\ +\K\textdownfullarrow & \K\textpalhooklong & \K\textsubrightarrow \\ +\K\textfemale & \K\textpalhookvar & \K\textthornvari \\ +\K\textfrbarn & \K\textpipevar & \K\textthornvarii \\ +\K\textfrhookd & \K\textqplig & \K\textthornvariii \\ +\K\textfrhookdvar & \K\textrectangle & \K\textthornvariv \\ +\K\textfrhookt & \K\textretractingvar & \K\textturnglotstop \\ +\K\textfrtailgamma & \K\textrevscl & \K\textturnsck \\ +\K\textglotstopvari & \K\textrevscr & \K\textturnscu \\ +\K\textglotstopvarii & \K\textrhooka & \K\textturnthree \\ +\K\textglotstopvariii & \K\textrhooke & \K\textturntwo \\ +\K\textgrgamma & \K\textrhookepsilon & \K\textuncrfemale \\ +\K\textheng & \K\textrhookopeno & \K\textupfullarrow \\ +\K\texthmlig & \K\textrtailhth \\ +\end{longtable} +\end{symtable} + + +\begin{longsymtable}[WIPA]{\WIPA\ Phonetic Symbols} +\ltidxboth{phonetic}{symbols} +\ltidxboth{linguistic}{symbols} +\ltidxboth{dictionary}{symbols} +\ltidxboth{rotated}{symbols} +\ltidxboth{upside-down}{symbols} +\ltidxboth{inverted}{symbols} +\ltindex{alphabets>phonetic} +\index{tilde} +\label{wipa-phonetic} +\begin{longtable}{*4{ll}} +\multicolumn{8}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{8}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K\babygamma & \K\eng & \K\labdentalnas & \K\schwa \\ +\K\barb & \K\er & \K\latfric & \K\sci \\ +\K\bard & \K\esh & \K\legm & \K\scn \\ +\K\bari & \K[\WSUeth]\eth & \K\legr & \K\scr \\ +\K\barl & \K\flapr & \K\lz & \K\scripta \\ +\K[\WSUbaro]\baro & \K\glotstop & \K\nialpha & \K\scriptg \\ +\K\barp & \K\hookb & \K\nibeta & \K\scriptv \\ +\K\barsci & \K\hookd & \K\nichi & \K\scu \\ +\K\barscu & \K\hookg & \K\niepsilon & \K\scy \\ +\K\baru & \K\hookh & \K\nigamma & \K\slashb \\ +\K\clickb & \K\hookheng & \K\niiota & \K\slashc \\ +\K\clickc & \K\hookrevepsilon & \K\nilambda & \K\slashd \\ +\K\clickt & \K\hv & \K\niomega & \K\slashu \\ +\K\closedniomega & \K\inva & \K\niphi & \K\taild \\ +\K\closedrevepsilon & \K\invf & \K\nisigma & \K\tailinvr \\ +\K\crossb & \K\invglotstop & \K\nitheta & \K\taill \\ +\K\crossd & \K\invh & \K\niupsilon & \K\tailn \\ +\K\crossh & \K\invlegr & \K\nj & \K\tailr \\ +\K\crossnilambda & \K\invm & \K\oo & \K\tails \\ +\K\curlyc & \K\invr & \K[\WSUopeno]\openo & \K\tailt \\ +\K\curlyesh & \K\invscr & \K\reve & \K\tailz \\ +\K\curlyyogh & \K\invscripta & \K\reveject & \K\tesh \\ +\K\curlyz & \K\invv & \K\revepsilon & \K[\WSUthorn]\thorn \\ +\K\dlbari & \K\invw & \K\revglotstop & \K\tildel \\ +\K\dz & \K\invy & \K\scd & \K\yogh \\ +\K\ejective & \K\ipagamma & \K\scg \\ +\end{longtable} +\end{longsymtable} + + +\begin{symtable}[WASY]{\WASY\ Phonetic Symbols} +\idxboth{phonetic}{symbols} +\idxboth{linguistic}{symbols} +\idxboth{dictionary}{symbols} +\idxboth{rotated}{symbols} +\idxboth{upside-down}{symbols} +\idxboth{inverted}{symbols} +\index{alphabets>phonetic} +\label{wasy-phonetics} +\begin{tabular}{*8l} +\K\DH & \K\dh & \K\openo \\ +\K\Thorn & \K\inve & \K\thorn \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PHON]{\PHON\ Phonetic Symbols} +\idxboth{phonetic}{symbols} +\idxboth{linguistic}{symbols} +\idxboth{dictionary}{symbols} +\idxboth{rotated}{symbols} +\idxboth{upside-down}{symbols} +\idxboth{inverted}{symbols} +\index{alphabets>phonetic} +\label{phon-phonetic} +\begin{tabular}{*5{ll}} +\K\barj & \K\flap & \K[\PHONibar]\ibar & \K\rotvara & \K\vari \\ +\K\barlambda & \K\glottal & \K[\PHONopeno]\openo & \K\rotw & \K\varomega \\ +\K\emgma & \K\hausaB & \K\planck & \K\roty & \K\varopeno \\ +\K\engma & \K\hausab & \K\pwedge & \K[\PHONschwa]\schwa & \K[\PHONvod]\vod \\ +\K\enya & \K\hausad & \K\revD & \K[\PHONthorn]\thorn & \K\voicedh \\ +\K\epsi & \K\hausaD & \K\riota & \K\ubar & \K[\PHONyogh]\yogh \\ +\K[\PHONesh]\esh & \K\hausak & \K\rotm & \K\udesc \\ +\K[\PHONeth]\eth & \K\hausaK & \K\rotOmega & \K\vara \\ +\K\fj & \K[\PHONhookd]\hookd & \K\rotr & \K[\PHONvarg]\varg \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PHONFC]{\PHONFC\ Phonetic Symbols} +\idxboth{phonetic}{symbols} +\idxboth{linguistic}{symbols} +\idxboth{dictionary}{symbols} +\index{alphabets>phonetic} +\label{phonfc-phonetic} +\begin{tabular}{*3{ll}} +\K[\encfour\PHONFCtextcrd]\textcrd & \K[\encfour\PHONFCtexthtd]\texthtd & \K[\encfour\PHONFCtextpipe]\textpipe \\ +\K[\encfour\PHONFCtextcrh]\textcrh & \K[\encfour\PHONFCtexthtk]\texthtk & \K[\encfour\PHONFCtextrtaild]\textrtaild \\ +\K[\encfour\PHONFCtextepsilon]\textepsilon & \K[\encfour\PHONFCtexthtp]\texthtp & \K[\encfour\PHONFCtextrtailt]\textrtailt \\ +\K[\encfour\PHONFCtextesh]\textesh & \K[\encfour\PHONFCtexthtt]\texthtt & \K[\encfour\PHONFCtextschwa]\textschwa \\ +\K[\encfour\PHONFCtextfjlig]\textfjlig & \K[\encfour\PHONFCtextiota]\textiota & \K[\encfour\PHONFCtextscriptv]\textscriptv \\ +\K[\encfour\PHONFCtexthtb]\texthtb & \K[\encfour\PHONFCtextltailn]\textltailn & \K[\encfour\PHONFCtextteshlig]\textteshlig \\ +\K[\encfour\PHONFCtexthtc]\texthtc & \K[\encfour\PHONFCtextopeno]\textopeno & \K[\encfour\PHONFCtextyogh]\textyogh \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The idea behind the \PHONFC\ package's phonetic symbols is to + provide an interface to some of the characters in the T4 \fntenc[T4] + \ifFC + (Table~\vref{fc}) + \fi % FC + but using the same names as + \ifTIPA + the \TIPA\ characters presented in Table~\vref{tipa-phonetic}. + \else + the \TIPA\ package. + \fi % TIPA +\end{tablenote} +\end{symtable} + + +\begin{symtable}[SMTR]{\SMTR\ Transliteration Symbols} +\idxboth{phonetic}{symbols} +\idxboth{linguistic}{symbols} +\idxboth{dictionary}{symbols} +\idxboth{transliteration}{symbols} +\idxboth{semitic}{transliteration} +\index{alphabets>phonetic} +\label{semtrans-phonetic} +\begin{tabular}{ll@{\hspace*{3em}}ll} +\K\Alif & \K\Ayn \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Text-mode Accents} +\index{accents} +\label{text-accents} +\begin{tabular}{*3{ll@{\hspace*{3em}}}ll} +\Q\" & \Q\` & \Q\d & \Q\r \\ +\Q\' & \QivBAR\ddag & \Qiv\G\ddag & \Q\t \\ +\Q\. & \Q\~ & \Qv\h\S & \Q\u \\ +\Qe[\magicequal][\magicequalname]\= & \Q\b & \Q\H & \Qiv\U\ddag \\ +\Q\^ & \Q\c & \Qt\k$^\dag$ & \Q\v \\ +\end{tabular} +\par\medskip +\begin{tabular}{ll@{\hspace*{3em}}ll} +\Q\newtie$^*$ & \Qc\textcircled +\end{tabular} + +\bigskip +\begin{tablenote}[*] + Requires the \TC\ package. +\end{tablenote} + +\medskip +\begin{tablenote}[\dag] + Not available in the OT1 \fntenc[OT1]. Use the \pkgname{fontenc} + package to select an alternate \fntenc[T1], such as T1. +\end{tablenote} + +\medskip +\begin{tablenote}[\ddag] + Requires the T4 \fntenc[T4], provided by the \FC\ package. +\end{tablenote} + +\medskip +\begin{tablenote}[\S] + Requires the T5 \fntenc[T5], provided by the \VIET\ package. +\end{tablenote} + +\bigskip +\begin{tablenote} + \index{dotless i=dotless $i~(\imath)$>text mode} + \index{dotless j=dotless $j~(\jmath)$>text mode} + Also note the existence of \cmdI{\i} and \cmdI{\j}, which produce + dotless versions of ``i'' and ``j'' (viz., ``\i'' and ``\j''). These + are useful when the accent is supposed to replace the dot. For + example, ``\verb|na\"{\i}ve|'' produces a correct ``na\"{\i}ve'', + while ``\verb|na\"{i}ve|'' would yield the rather odd-looking + ``na\"{i}ve''. (``\verb|na\"{i}ve|'' \emph{does} work in encodings + other than OT1, however.) +\end{tablenote} +\end{symtable} + + +\begin{longsymtable}[TIPA]{\TIPA\ Text-mode Accents} +\ltindex{accents} +\index{tilde} +\label{tipa-accents} +\renewcommand{\arraystretch}{1.25} % Keep high and low accents from touching. +\begin{longtable}{ll} +\multicolumn{2}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{2}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\Q\textacutemacron \\ +\Q\textacutewedge \\ +\Q\textadvancing \\ +\Q\textbottomtiebar \\ +\Q\textbrevemacron \\ +\Q\textcircumacute \\ +\Q\textcircumdot \\ +\Q\textdotacute \\ +\Q\textdotbreve \\ +\Q\textdotbreve \\ +\Q\textdoublegrave \\ +\Q\textdoublevbaraccent \\ +\Q\textgravecircum \\ +\Q\textgravedot \\ +\Q\textgravemacron \\ +\Q\textgravemid \\ +\Q\textinvsubbridge \\ +\Q\textlowering \\ +\Q\textmidacute \\ +\Q\textovercross \\ +\Q\textoverw \\ +\Q\textpolhook \\ +\Q\textraising \\ +\Q\textretracting \\ +\Q\textringmacron \\ +\Q\textroundcap \\ +\Q\textseagull \\ +\Q\textsubacute \\ +\Q\textsubarch \\ +\Q\textsubbar \\ +\Q\textsubbridge \\ +\Q\textsubcircum \\ +\Q\textsubdot \\ +\Q\textsubgrave \\ +\Q\textsublhalfring \\ +\Q\textsubplus \\ +\Q\textsubrhalfring \\ +\Q\textsubring \\ +\Q\textsubsquare \\ +\Q\textsubtilde \\ +\Q\textsubumlaut \\ +\Q\textsubw \\ +\Q\textsubwedge \\ +\Q\textsuperimposetilde \\ +\Q\textsyllabic \\ +\Q\texttildedot \\ +\Q\texttoptiebar \\ +\Q\textvbaraccent \\ +\end{longtable} + +\begin{tablenote} + \TIPA\ defines shortcut sequences for many of the above. + \seedocs{\TIPA}. +\end{tablenote} +\end{longsymtable} + + +\begin{symtable}[XIPA]{\XIPA\ Text-mode Accents} +\index{accents} +\label{xipa-accents} +\renewcommand{\arraystretch}{1.25} % Keep high and low accents from touching. +\begin{tabular}{ll@{\hspace*{3em}}ll} +\Q\bibridge & \Q\partvoiceless \\ +\Q\crtilde & \Q\sliding \\ +\Q\dottedtilde & \Q\spreadlips \\ +\Q\doubletilde & \Q\subcorner \\ +\Q\finpartvoice & \Q\subdoublebar \\ +\Q\finpartvoiceless & \Q\subdoublevert \\ +\Q\inipartvoice & \Q\sublptr \\ +\Q\inipartvoiceless & \Q\subrptr \\ +\Q\overbridge & \Q\whistle \\ +\Q\partvoice \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WIPA]{\WIPA\ Text-mode Accents} +\index{accents} +\label{wipa-accents} +\renewcommand{\arraystretch}{1.25} % Keep high and low accents from touching. +\begin{tabular}{ll} +\Q\dental \\ +\Q\underarch \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PHON]{\PHON\ Text-mode Accents} +\index{accents} +\label{phon-accents} +\renewcommand{\arraystretch}{1.25} % Keep high and low accents from touching. +\begin{tabular}{*3{ll}} +\Q\hill & \Q\rc & \Q\ut \\ +\Q\od & \Q\syl \\ +\Q\ohill & \Q\td \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \begin{morespacing}{1pt} + The \PHON\ package provides a few additional macros for linguistic + accents. \cmd{\acbar} and \cmd{\acarc} compose characters with + multiple accents; for example, \verb+\acbar{\'}{a}+ produces + ``\acbar{\'}{a}'' and \verb+\acarc{\"}{e}+ produces + ``\acbar{\"}{e}''. \cmd{\labvel} joins two characters with an + arc: \verb+\labvel{mn}+~$\rightarrow$ ``\labvel{mn}''. + \cmd{\upbar} is intended to go between characters as in + ``\verb+x\upbar{}y''+~$\rightarrow$ ``x\upbar{}y''. Lastly, + \cmd{\uplett} behaves like \cmd{\textsuperscript} but uses a + smaller font. Contrast ``\verb+p\uplett{h}''+~$\rightarrow$ + ``p\uplett{h}'' with ``\verb+p\textsuperscript{h}''+~$\rightarrow$ + ``p\textsuperscript{h}''. + \end{morespacing} +\end{tablenote} +\end{symtable} + + +\begin{symtable}[METRE]{\METRE\ Text-mode Accents} +\index{accents} +\label{metre-accents} +\begin{tabular}{ll} +\Q\acutus \\ +\Q[\METREbreve]\breve \\ +\Q\circumflexus \\ +\Q\diaeresis \\ +\Q\gravis \\ +\Q\macron \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PHONFC]{\PHONFC\ Text-mode Accents} +\index{accents} +\label{phonfc-accents} +\renewcommand{\arraystretch}{1.25} % Keep high and low accents from touching. +\begin{tabular}{ll} +\Qpfc[\PHONFCtextdoublegrave]\textdoublegrave \\ +\Qpfc[\PHONFCtextvbaraccent]\textvbaraccent \\ +\Qpfc[\PHONFCtextdoublevbaraccent]\textdoublevbaraccent \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The idea behind the \PHONFC\ package's text-mode accents is to + provide an interface to some of the accents in the T4 \fntenc[T4] + (accents marked with ``\ddag'' in Table~\vref{text-accents}) but + using the same names as + \ifTIPA + the \TIPA\ accents presented in Table~\vref{tipa-accents}. + \else + the \TIPA\ package. + \fi % TIPA +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ARCS]{\ARCS\ Text-mode Accents} +\index{accents} +\label{arcs-accents} +\begin{tabular}{*2{ll}} +\Q\overarc & \Q\underarc \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The accents shown above scale only to a few characters wide. An + optional macro argument alters the effective width of the accented + characters. \seedocs{\ARCS}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[SMTR]{\SMTR\ Accents} +\index{accents} +\idxboth{semitic}{transliteration} +\idxboth{rotated}{symbols} +\idxboth{upside-down}{symbols} +\idxboth{inverted}{symbols} +\label{semtrans-accents} +\begin{tabular}{ll@{\hspace*{3em}}ll} +\Q[\smtrD]\D & \Q[\smtrU]\U \\ +\end{tabular} + +\bigskip + +\begin{tabular}{ll} +\Q[\smtrT]\T$^*$ \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \verb|\T| is not actually an accent but a command that rotates its + argument 180\textdegree{} using the \pkgname{graphicx} package's + \cmd{\rotatebox} command. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[WIPA]{\WIPA\ Diacritics} +\index{accents} +\index{tilde} +\label{wipa-diacritics} +\renewcommand{\arraystretch}{1.25} % Keep high and low accents from touching. +\begin{tabular}{*5{ll}} +\K\ain & \K\leftp & \K\overring & \K\stress & \K\underwedge \\ +\K\corner & \K\leftt & \K\polishhook & \K\syllabic & \K\upp \\ +\K\downp & \K\length & \K\rightp & \K\underdots & \K\upt \\ +\K\downt & \K\midtilde & \K\rightt & \K\underring \\ +\K\halflength & \K\open & \K\secstress & \K\undertilde \\ +\end{tabular} + +\bigskip +\begin{tablenote} + The \WIPA\ package defines all of the above as ordinary characters, + not as accents. However, it does provide \cmd{\diatop} and + \cmd{\diaunder} commands, which are used to compose diacritics with + other characters. For example, \verb+\diatop[\overring|a]+ produces + ``\diatop[\overring|a]'', and \verb+\diaunder[\underdots|a]+ + produces ``\diaunder[\underdots|a]''. \seedocs{\WIPA}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{\TC\ Diacritics} +\index{accents} +\label{tc-accent-chars} +\begin{tabular}{*3{ll}} +\K\textacutedbl & \K\textasciicaron & \K\textasciimacron \\ +\K\textasciiacute & \K\textasciidieresis & \K\textgravedbl \\ +\K\textasciibreve & \K\textasciigrave \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The \TC\ package defines all of the above as ordinary characters, + not as accents. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{\TC\ Currency Symbols} +\idxboth{currency}{symbols} +\idxboth{monetary}{symbols} +\index{euro signs} +\label{tc-currency} +\begin{tabular}{*4{ll}} +\K\textbaht & \K\textdollar$^*$ & \K\textguarani & \K\textwon \\ +\K\textcent & \K\textdollaroldstyle & \K\textlira & \K\textyen \\ +\K\textcentoldstyle & \K\textdong & \K\textnaira \\ +\K\textcolonmonetary & \K\texteuro & \K\textpeso \\ +\K\textcurrency & \K\textflorin & \K\textsterling$^*$ \\ +\end{tabular} + +\bigskip +\usetextmathmessage[*] + +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Currency Symbols} +\idxboth{currency}{symbols} +\idxboth{monetary}{symbols} +\index{euro signs} +\label{marv-currency} +\begin{tabular}{*4{ll}ll} +\K\Denarius & \K\EUR & \K\EURdig & \K\EURtm & \K\Pfund \\ +\K\Ecommerce & \K\EURcr & \K\EURhv & \K\EyesDollar & \K\Shilling \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The different euro signs are meant to be visually compatible with + different fonts---\PSfont{Courier} (\texttt{\string\EURcr}), + \PSfont{Helvetica} (\texttt{\string\EURhv}), \PSfont{Times Roman} + (\texttt{\string\EURtm}), and the \MARV\ digits listed in + Table~\ref{marv-digits} (\texttt{\string\EURdig}). +\ifMDES + The \MDES\ package redefines \cmdI[\MDEStexteuro]{\texteuro} to be + visually compatible with one of three additional fonts: + \PSfont{Utopia}~({\usefont{TS1}{mdput}{m}{n}\char"BF}), + \PSfont{Charter}~({\usefont{TS1}{mdbch}{m}{n}\char"BF}), or + \PSfont{Garamond}~({\usefont{TS1}{mdugm}{m}{n}\char"BF}). +\fi +\end{tablenote} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Currency Symbols} +\idxboth{currency}{symbols} +\idxboth{monetary}{symbols} +\label{wasy-currency} +\begin{tabular}{*2{ll}} +\K\cent & \K\currency \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[EUSYM]{\EUSYM\ Euro Signs} +\idxboth{currency}{symbols} +\idxboth{monetary}{symbols} +\index{euro signs} +\label{eurosym-euros} +\begin{tabular}{*4{ll}} +\K\geneuro & \K\geneuronarrow & \K\geneurowide & \K\officialeuro \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \cmd{\euro} is automatically mapped to one of the above---by + default, \cmdI{\officialeuro}---based on a \EUSYM\ package option. + \seedocs{\EUSYM}. The \verb|\geneuro|\dots{} characters are + generated from the current body font's ``C'' character and therefore + may not appear exactly as shown. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{\TC\ Legal Symbols} +\index{copyright} +\idxboth{legal}{symbols} +\label{tc-legal} +\begin{tabular}{*2{lll@{\qquad}}lll} +\V\textcircledP & \V[\ltextcopyright]\textcopyright & \V\textservicemark \\ +\V\textcopyleft & \V[\ltextregistered]\textregistered & \V[\ltexttrademark]\texttrademark \\ +\end{tabular} + +\bigskip +\twosymbolmessage +\medskip +\begin{tablenote} + \hspace*{15pt}% + See \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tradesyms} + for solutions to common problems that occur when using these symbols + (e.g.,~getting a~``\textcircled{r}'' when you expected to get + a~``\textregistered''). +\end{tablenote} +\end{symtable} + + +\begin{symtable}[CCLIC]{\CCLIC\ Creative Commons License Icons} +\index{Creative Commons licenses} +\index{copyright} +\idxboth{legal}{symbols} +\label{creativecommons} +\begin{tabular}{*4{ll@{\hspace*{3em}}}ll} +\K\cc & \K\ccby & \K\ccnc$^*$ & \K\ccnd & \K\ccsa$^*$ \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + These symbols utilize the \pkgname{rotating} package and therefore + display improperly in most DVI\index{DVI} viewers. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{\TC\ Old-style Numerals} +\idxboth{old-style}{digits} +\label{old-style-nums} +\begin{tabular}{*3{ll}} +\K\textzerooldstyle & \K\textfouroldstyle & \K\texteightoldstyle \\ +\K\textoneoldstyle & \K\textfiveoldstyle & \K\textnineoldstyle \\ +\K\texttwooldstyle & \K\textsixoldstyle \\ +\K\textthreeoldstyle & \K\textsevenoldstyle \\ +\end{tabular} + +\bigskip +\begin{tablenote} + Rather than use the bulky \cmd{\textoneoldstyle}, + \cmd{\texttwooldstyle}, etc.\ commands shown above, consider using + \cmd{\oldstylenums}\verb|{|$\ldots$\verb|}| to typeset an old-style + number. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Miscellaneous \TC\ Symbols} +\idxboth{musical}{symbols} +\index{tilde} +\label{tc-misc} +\begin{tabular}{lll@{\qquad}lll} +\V\textasteriskcentered & \V[\ltextordfeminine]\textordfeminine \\ +\V\textbardbl & \V[\ltextordmasculine]\textordmasculine \\ +\V\textbigcircle & \V\textparagraph$^*$ \\ +\V\textblank & \V\textperiodcentered \\ +\V\textbrokenbar & \V\textpertenthousand \\ +\V\textbullet & \V\textperthousand \\ +\V\textdagger$^*$ & \V\textpilcrow \\ +\V\textdaggerdbl$^*$ & \V\textquotesingle \\ +\V\textdblhyphen & \V\textquotestraightbase \\ +\V\textdblhyphenchar & \V\textquotestraightdblbase \\ +\V\textdiscount & \V\textrecipe \\ +\V\textestimated & \V\textreferencemark \\ +\V\textinterrobang & \V\textsection$^*$ \\ +\V\textinterrobangdown & \V\textthreequartersemdash \\ +\V\textmusicalnote & \V\texttildelow \\ +\V\textnumero & \V\texttwelveudash \\ +\V\textopenbullet \\ +\end{tabular} + +\bigskip +\twosymbolmessage + +\bigskip +\usetextmathmessage[*] + +\end{symtable} + + +\begin{symtable}[WASY]{Miscellaneous \WASY\ Text-mode Symbols} +\label{wasy-text} +\begin{tabular}{ll} +\K\permil \\ +\end{tabular} +\end{symtable} + + +\idxbothend{body-text}{symbols} + + +\section{Mathematical symbols} +\label{math-symbols} +\idxbothbegin{mathematical}{symbols} + +Most, but not all, of the symbols in this section are math-mode only. +That is, they yield a ``\texttt{Missing~\$ inserted}''\index{Missing +\$ inserted=``\texttt{Missing~\$ inserted}''} error message if not +used within \verb|$|$\ldots$\verb|$|, \verb|\[|$\ldots$\verb|\]|, or +another math-mode environment. Operators marked as ``variable-sized'' +are taller in displayed formulas, shorter in in-text formulas, and +possibly shorter still when used in various levels of superscripts or +subscripts. + +% The following definition is used both in the discussion of disjoint +% union and in the "Joining and overlapping existing symbols" section. +\newcommand{\dotcup}{\ensuremath{\mathaccent\cdot\cup}} + +\ifcomplete +Alphanumeric symbols (e.g., ``$\!\mathscr{L}\,$'' and +``$\varmathbb{Z}$'') are usually produced using one of the math +alphabets in Table~\ref{alphabets} rather than with an explicit symbol +command. Look there first if you need a symbol for a transform, +number set, or some other alphanumeric. + +Although there have been many requests on \ctt for a +contradiction\idxboth{contradiction}{symbols} symbol, the ensuing +discussion invariably reveals innumerable ways to represent +contradiction in a proof, including ``\blitza''~(\cmdI{\blitza}), +``$\Rightarrow\Leftarrow$''~(\cmdX{\Rightarrow}\cmdX{\Leftarrow}), +``$\bot$''~(\cmdX{\bot}), +``$\nleftrightarrow$''~(\cmdX{\nleftrightarrow}), and +``\textreferencemark''~(\cmdI{\textreferencemark}). Because of the +lack of notational consensus, it is probably better to spell out +``Contradiction!''\ than to use a symbol for this purpose. Similarly, +discussions on \ctt have revealed that there are a variety of ways to +indicate the mathematical notion of ``is +defined\idxboth{definition}{symbols} as''. Common candidates include +``$\triangleq$''~(\cmdX{\triangleq}), ``$\equiv$''~(\cmdX{\equiv}), +``$\coloneqq$''~(\cmdX{\coloneqq}), and ``$\stackrel{\text{\tiny +def}}{=}$''~(\cmd{\stackrel}\verb|{|\cmd{\text}\verb|{\tiny| +\verb|def}}{=}|). See also the example of \cmd{\equalsfill} +\vpageref[below]{equalsfill-ex}. Depending upon the context, +disjoint\index{disjoint union} union may be represented as +``$\coprod$''~(\cmdX{\coprod}), ``$\sqcup$''~(\cmdX{\sqcup}), +``$\dotcup$''~(\cmdX{\dotcup}), ``$\oplus$''~(\cmdX{\oplus}), or any +of a number of other symbols.\footnote{\person{Bob}{Tennent} listed +these and other disjoint-union symbol possibilities in a November~2007 +post to \ctt.} Finally, the average\index{average} value of a +variable~$x$ is written by some people as +``$\overline{x}$''~(\verb|\overline{x}|)\incsyms\indexaccent[$\string\blackacc{\string\overline}$]{\overline}, +by some people as ``$\langle x \rangle$''~(\cmdX{\langle} \texttt{x} +\cmdX{\rangle}), and by some people as ``$\diameter x$'' or +``$\varnothing x$''~(\cmdX{\diameter} \texttt{x} or \cmdX{\varnothing} +\texttt{x}). The moral of the story is that you should be careful +always to explain your notation to avoid confusing your readers. + +\fi % Matches \ifcomplete + +\bigskip + +\begin{symtable}{Math-Mode Versions of Text Symbols} +\index{math-text} +\begin{tabular}{*3{ll}} +\X\mathdollar & \X\mathparagraph & \X\mathsterling \\ +\X\mathellipsis & \X\mathsection & \X\mathunderscore \\ +\end{tabular} + +\bigskip +\usetextmathmessage + +\end{symtable} + + +\begin{symtable}[CMLL]{\CMLL\ Unary Operators} +\idxboth{unary}{operators} +\idxboth{linear logic}{symbols} +\label{cmll-unary} +\begin{tabular}{*2{ll@{\qquad}}ll} +\K[!]\oc$^*$ & \K[\CMLLshneg]\shneg & \K[?]\wn$^*$ \\ +\K[\CMLLshift]\shift & \K[\CMLLshpos]\shpos & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \cmdI[!]{\oc} and \cmdI[?]{\wn} differ from~``!'' and~``?'' in + terms of their math-mode spacing: \verb|$A=!B$| produces ``$A=!B$'', + for example, while \verb|$A=\oc B$| produces ``$A=\mathord{!}B$''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Binary Operators} +\idxboth{binary}{operators} +\index{division} +\label{bin} +\begin{tabular}{*4{ll}} +\X\amalg & \X\cup & \X\oplus & \X\times \\ +\X\ast & \X\dagger & \X\oslash & \X\triangleleft \\ +\X\bigcirc & \X\ddagger & \X\otimes & \X\triangleright \\ +\X\bigtriangledown & \X\diamond & \X\pm & \X\unlhd$^*$ \\ +\X\bigtriangleup & \X\div & \X\rhd$^*$ & \X\unrhd$^*$ \\ +\X\bullet & \X\lhd$^*$ & \X\setminus & \X\uplus \\ +\X\cap & \X\mp & \X\sqcap & \X\vee \\ +\X\cdot & \X\odot & \X\sqcup & \X\wedge \\ +\X\circ & \X\ominus & \X\star & \X\wr \\ +\end{tabular} + +\bigskip +\notpredefinedmessage +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Binary Operators} +\idxboth{binary}{operators} +\index{semidirect products} +\label{ams-bin} +\begin{tabular}{*3{ll}} +\X\barwedge & \X\circledcirc & \X\intercal \\ +\X\boxdot & \X\circleddash & \X\leftthreetimes \\ +\X\boxminus & \X\Cup & \X\ltimes \\ +\X\boxplus & \X\curlyvee & \X\rightthreetimes \\ +\X\boxtimes & \X\curlywedge & \X\rtimes \\ +\X\Cap & \X\divideontimes & \X\smallsetminus \\ +\X\centerdot & \X\dotplus & \X\veebar \\ +\X\circledast & \X\doublebarwedge \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Binary Operators} +\idxboth{binary}{operators} +\label{st-bin} +\begin{tabular}{*3{ll}} +\X\baro & \X\interleave & \X\varoast \\ +\X\bbslash & \X\leftslice & \X\varobar \\ +\X\binampersand & \X\merge & \X\varobslash \\ +\X\bindnasrepma & \X\minuso & \X\varocircle \\ +\X\boxast & \X\moo & \X\varodot \\ +\X\boxbar & \X\nplus & \X\varogreaterthan \\ +\X\boxbox & \X\obar & \X\varolessthan \\ +\X\boxbslash & \X\oblong & \X\varominus \\ +\X\boxcircle & \X\obslash & \X\varoplus \\ +\X\boxdot & \X\ogreaterthan & \X\varoslash \\ +\X\boxempty & \X\olessthan & \X\varotimes \\ +\X\boxslash & \X\ovee & \X\varovee \\ +\X\curlyveedownarrow & \X\owedge & \X\varowedge \\ +\X\curlyveeuparrow & \X\rightslice & \X\vartimes \\ +\X\curlywedgedownarrow & \X\sslash & \X\Ydown \\ +\X\curlywedgeuparrow & \X\talloblong & \X\Yleft \\ +\X\fatbslash & \X\varbigcirc & \X\Yright \\ +\X\fatsemi & \X\varcurlyvee & \X\Yup \\ +\X\fatslash & \X\varcurlywedge \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Binary Operators} +\idxboth{binary}{operators} +\label{wasy-bin} +\begin{tabular}{*4{ll}} +\X\lhd & \X\ocircle & \X\RHD & \X\unrhd \\ +\X\LHD & \X\rhd & \X\unlhd \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Binary Operators} +\idxboth{binary}{operators} +\label{txpx-bin} +\begin{tabular}{*3{ll}} +\X\circledbar & \X\circledwedge & \X\medcirc \\ +\X\circledbslash & \X\invamp & \X\sqcapplus \\ +\X\circledvee & \X\medbullet & \X\sqcupplus \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Binary Operators} +\idxboth{binary}{operators} +\index{asterisks} +\index{semidirect products} +\label{abx-bin} +\begin{tabular}{*3{ll}} +\X[\ABXast]\ast & \X[\ABXcurlywedge]\curlywedge & \X[\ABXsqcap]\sqcap \\ +\X[\ABXAsterisk]\Asterisk & \X[\ABXdivdot]\divdot & \X[\ABXsqcup]\sqcup \\ +\X[\ABXbarwedge]\barwedge & \X[\ABXdivideontimes]\divideontimes & \X[\ABXsqdoublecap]\sqdoublecap \\ +\X[\ABXbigstar]\bigstar & \X[\ABXdotdiv]\dotdiv & \X[\ABXsqdoublecup]\sqdoublecup \\ +\X[\ABXbigvarstar]\bigvarstar & \X[\ABXdotplus]\dotplus & \X[\ABXsquare]\square \\ +\X[\ABXblackdiamond]\blackdiamond & \X[\ABXdottimes]\dottimes & \X[\ABXsquplus]\squplus \\ +\X[\ABXcap]\cap & \X[\ABXdoublebarwedge]\doublebarwedge & \X[\ABXudot]\udot \\ +\X[\ABXcircplus]\circplus & \X[\ABXdoublecap]\doublecap & \X[\ABXuplus]\uplus \\ +\X[\ABXcoasterisk]\coasterisk & \X[\ABXdoublecup]\doublecup & \X[\ABXvarstar]\varstar \\ +\X[\ABXcoAsterisk]\coAsterisk & \X[\ABXltimes]\ltimes & \X[\ABXvee]\vee \\ +\X[\ABXconvolution]\convolution & \X[\ABXpluscirc]\pluscirc & \X[\ABXveebar]\veebar \\ +\X[\ABXcup]\cup & \X[\ABXrtimes]\rtimes & \X[\ABXveedoublebar]\veedoublebar \\ +\X[\ABXcurlyvee]\curlyvee & \X[\ABXsqbullet]\sqbullet & \X[\ABXwedge]\wedge \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + Many of the above glyphs go by multiple names. + \cmdI[$\string\ABXcenterdot$]{\centerdot} is equivalent to + \cmdI[$\string\ABXsqbullet$]{\sqbullet}, and + \cmdI[$\string\ABXast$]{\ast} is equivalent to \cmdI{*}. + \cmdI[$\string\ABXasterisk$]{\asterisk} produces the same glyph as + \cmdI[$\string\ABXast$]{\ast}, but as an ordinary symbol, not a + binary operator. Similarly, \cmdI[$\string\ABXbigast$]{\bigast} + produces a large-operator version of the + \cmdI[$\string\ABXAsterisk$]{\Asterisk} binary operator, and + \cmdI[$\string\ABXbigcoast$]{\bigcoast} produces a large-operator + version of the \cmdI[$\string\ABXcoAsterisk$]{\coAsterisk} binary + operator. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Binary Operators} +\idxboth{binary}{operators} +\label{mns-bin} +\begin{tabular}{*3{ll}} +\K[\MNSamalg]\amalg & \K[\MNSdoublesqcup]\doublesqcup & \K[\MNSrighttherefore]\righttherefore \\ +\K[\MNSast]\ast & \K[\MNSdoublevee]\doublevee & \K[\MNSrightthreetimes]\rightthreetimes \\ +\K[\MNSbackslashdiv]\backslashdiv & \K[\MNSdoublewedge]\doublewedge & \K[\MNSrightY]\rightY \\ +\K[\MNSbowtie]\bowtie & \K[\MNSdowntherefore]\downtherefore & \K[\MNSrtimes]\rtimes \\ +\K[\MNSbullet]\bullet & \K[\MNSdownY]\downY & \K[\MNSslashdiv]\slashdiv \\ +\K[\MNScap]\cap & \K[\MNSdtimes]\dtimes & \K[\MNSsmallprod]\smallprod \\ +\K[\MNScapdot]\capdot & \K[\MNSfivedots]\fivedots & \K[\MNSsqcap]\sqcap \\ +\K[\MNScapplus]\capplus & \K[\MNShbipropto]\hbipropto & \K[\MNSsqcapdot]\sqcapdot \\ +\K[\MNScdot]\cdot & \K[\MNShdotdot]\hdotdot & \K[\MNSsqcapplus]\sqcapplus \\ +\K[\MNScirc]\circ & \K[\MNSlefthalfcap]\lefthalfcap & \K[\MNSsqcup]\sqcup \\ +\K[\MNSclosedcurlyvee]\closedcurlyvee & \K[\MNSlefthalfcup]\lefthalfcup & \K[\MNSsqcupdot]\sqcupdot \\ +\K[\MNSclosedcurlywedge]\closedcurlywedge & \K[\MNSlefttherefore]\lefttherefore & \K[\MNSsqcupplus]\sqcupplus \\ +\K[\MNScup]\cup & \K[\MNSleftthreetimes]\leftthreetimes & \K[\MNSsquaredots]\squaredots \\ +\K[\MNScupdot]\cupdot & \K[\MNSleftY]\leftY & \K[\MNStimes]\times \\ +\K[\MNScupplus]\cupplus & \K[\MNSltimes]\ltimes & \K[\MNSudotdot]\udotdot \\ +\K[\MNScurlyvee]\curlyvee & \K[\MNSmedbackslash]\medbackslash & \K[\MNSuptherefore]\uptherefore \\ +\K[\MNScurlyveedot]\curlyveedot & \K[\MNSmedcircle]\medcircle & \K[\MNSupY]\upY \\ +\K[\MNScurlywedge]\curlywedge & \K[\MNSmedslash]\medslash & \K[\MNSutimes]\utimes \\ +\K[\MNScurlywedgedot]\curlywedgedot & \K[\MNSmedvert]\medvert & \K[\MNSvbipropto]\vbipropto \\ +\K[\MNSddotdot]\ddotdot & \K[\MNSmedvertdot]\medvertdot & \K[\MNSvdotdot]\vdotdot \\ +\K[\MNSdiamonddots]\diamonddots & \K[\MNSminus]\minus & \K[\MNSvee]\vee \\ +\K[\MNSdiv]\div & \K[\MNSminusdot]\minusdot & \K[\MNSveedot]\veedot \\ +\K[\MNSdotmedvert]\dotmedvert & \K[\MNSmp]\mp & \K[\MNSvertbowtie]\vertbowtie \\ +\K[\MNSdotminus]\dotminus & \K[\MNSneswbipropto]\neswbipropto & \K[\MNSvertdiv]\vertdiv \\ +\K[\MNSdoublecap]\doublecap & \K[\MNSnwsebipropto]\nwsebipropto & \K[\MNSwedge]\wedge \\ +\K[\MNSdoublecup]\doublecup & \K[\MNSplus]\plus & \K[\MNSwedgedot]\wedgedot \\ +\K[\MNSdoublecurlyvee]\doublecurlyvee & \K[\MNSpm]\pm & \K[\MNSwreath]\wreath \\ +\K[\MNSdoublecurlywedge]\doublecurlywedge & \K[\MNSrighthalfcap]\righthalfcap & \\ +\K[\MNSdoublesqcap]\doublesqcap & \K[\MNSrighthalfcup]\righthalfcup & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ defines \cmdI[\MNSmedbackslash]{\setminus} and + \cmdI[\MNSmedbackslash]{\smallsetminus} as synonyms for + \cmdI[\MNSmedbackslash]{\medbackslash}; \cmdI[\MNSbowtie]{\Join} as + a synonym for \cmdI[\MNSbowtie]{\bowtie}; \cmdI[\MNSwreath]{\wr} as + a synonym for \cmdI[\MNSwreath]{\wreath}; + \cmdI[\MNSmedvert]{\shortmid} as a synonym for + \cmdI[\MNSmedvert]{\medvert}; \cmdI[\MNSdoublecap]{\Cap} as a + synonym for \cmdI[\MNSdoublecap]{\doublecap}; + \cmdI[\MNSdoublecup]{\Cup} as a synonym for + \cmdI[\MNSdoublecup]{\doublecup}; and, \cmdI[\MNScupplus]{\uplus} as + a synonym for \cmdI[\MNScupplus]{\cupplus}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MDES]{\MDES\ Binary Operators} +\idxboth{binary}{operators} +\label{mdes-bin} +\begin{tabular}{*3{ll}} +\K[\MDESdtimes]\dtimes & \K[\MDESudtimes]\udtimes & \K[\MDESutimes]\utimes \\ +\end{tabular} + +\bigskip +\begin{tablenote} +\ifAMS + The \MDES\ package additionally provides versions of each of the + binary operators shown in Table~\vref{ams-bin}. +\else + The \MDES\ package additionally provides versions of each of the + \AMS\ binary operators. +\fi +\end{tablenote} +\end{symtable} + + +\begin{symtable}[CMLL]{\CMLL\ Binary Operators} +\idxboth{binary}{operators} +\label{cmll-bin} +\begin{tabular}{ll@{\qquad}ll} +\K[\CMLLparr]\parr & \K[\&]\with$^*$ \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \cmdI[\&]{\with} differs from~``\&'' in terms of its math-mode + spacing: \verb|$A \& B$| produces ``$A \& B$'', for example, while + \verb|$A \with B$| produces ``$A\mathbin{\&}B$''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ULSY]{\ULSY\ Geometric Binary Operators} +\idxboth{binary}{operators} +\label{ulsy-geometric-bin} +\begin{tabular}{ll} +\K\odplus \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Geometric Binary Operators} +\idxboth{binary}{operators} +\label{abx-geometric-bin} +\begin{tabular}{*3{ll}} +\X[\ABXblacktriangledown]\blacktriangledown & \X[\ABXboxright]\boxright & \X[\ABXominus]\ominus \\ +\X[\ABXblacktriangleleft]\blacktriangleleft & \X[\ABXboxslash]\boxslash & \X[\ABXoplus]\oplus \\ +\X[\ABXblacktriangleright]\blacktriangleright & \X[\ABXboxtimes]\boxtimes & \X[\ABXoright]\oright \\ +\X[\ABXblacktriangleup]\blacktriangleup & \X[\ABXboxtop]\boxtop & \X[\ABXoslash]\oslash \\ +\X[\ABXboxasterisk]\boxasterisk & \X[\ABXboxtriangleup]\boxtriangleup & \X[\ABXotimes]\otimes \\ +\X[\ABXboxbackslash]\boxbackslash & \X[\ABXboxvoid]\boxvoid & \X[\ABXotop]\otop \\ +\X[\ABXboxbot]\boxbot & \X[\ABXoasterisk]\oasterisk & \X[\ABXotriangleup]\otriangleup \\ +\X[\ABXboxcirc]\boxcirc & \X[\ABXobackslash]\obackslash & \X[\ABXovoid]\ovoid \\ +\X[\ABXboxcoasterisk]\boxcoasterisk & \X[\ABXobot]\obot & \X[\ABXsmalltriangledown]\smalltriangledown \\ +\X[\ABXboxdiv]\boxdiv & \X[\ABXocirc]\ocirc & \X[\ABXsmalltriangleleft]\smalltriangleleft \\ +\X[\ABXboxdot]\boxdot & \X[\ABXocoasterisk]\ocoasterisk & \X[\ABXsmalltriangleright]\smalltriangleright \\ +\X[\ABXboxleft]\boxleft & \X[\ABXodiv]\odiv & \X[\ABXsmalltriangleup]\smalltriangleup \\ +\X[\ABXboxminus]\boxminus & \X[\ABXodot]\odot \\ +\X[\ABXboxplus]\boxplus & \X[\ABXoleft]\oleft \\ +\end{tabular} +\end{symtable} + + + +\begin{symtable}[MNS]{\MNS\ Geometric Binary Operators} +\idxboth{binary}{operators} +\label{mns-geometric-bin} +\begin{tabular}{*3{ll}} +\K[\MNSboxbackslash]\boxbackslash & \K[\MNSfilledmedtriangledown]\filledmedtriangledown & \K[\MNSocirc]\ocirc \\ +\K[\MNSboxbox]\boxbox & \K[\MNSfilledmedtriangleleft]\filledmedtriangleleft & \K[\MNSodot]\odot \\ +\K[\MNSboxdot]\boxdot & \K[\MNSfilledmedtriangleright]\filledmedtriangleright & \K[\MNSominus]\ominus \\ +\K[\MNSboxminus]\boxminus & \K[\MNSfilledmedtriangleup]\filledmedtriangleup & \K[\MNSoplus]\oplus \\ +\K[\MNSboxplus]\boxplus & \K[\MNSfilledsquare]\filledsquare & \K[\MNSoslash]\oslash \\ +\K[\MNSboxslash]\boxslash & \K[\MNSfilledstar]\filledstar & \K[\MNSostar]\ostar \\ +\K[\MNSboxtimes]\boxtimes & \K[\MNSfilledtriangledown]\filledtriangledown & \K[\MNSotimes]\otimes \\ +\K[\MNSboxvert]\boxvert & \K[\MNSfilledtriangleleft]\filledtriangleleft & \K[\MNSotriangle]\otriangle \\ +\K[\MNSdiamondbackslash]\diamondbackslash & \K[\MNSfilledtriangleright]\filledtriangleright & \K[\MNSovert]\overt \\ +\K[\MNSdiamonddiamond]\diamonddiamond & \K[\MNSfilledtriangleup]\filledtriangleup & \K[\MNSpentagram]\pentagram \\ +\K[\MNSdiamonddot]\diamonddot & \K[\MNSmeddiamond]\meddiamond & \K[\MNSsmalldiamond]\smalldiamond \\ +\K[\MNSdiamondminus]\diamondminus & \K[\MNSmedsquare]\medsquare & \K[\MNSsmallsquare]\smallsquare \\ +\K[\MNSdiamondplus]\diamondplus & \K[\MNSmedstar]\medstar & \K[\MNSsmallstar]\smallstar \\ +\K[\MNSdiamondslash]\diamondslash & \K[\MNSmedtriangledown]\medtriangledown & \K[\MNSsmalltriangledown]\smalltriangledown \\ +\K[\MNSdiamondtimes]\diamondtimes & \K[\MNSmedtriangleleft]\medtriangleleft & \K[\MNSsmalltriangleleft]\smalltriangleleft \\ +\K[\MNSdiamondvert]\diamondvert & \K[\MNSmedtriangleright]\medtriangleright & \K[\MNSsmalltriangleright]\smalltriangleright \\ +\K[\MNSdownslice]\downslice & \K[\MNSmedtriangleup]\medtriangleup & \K[\MNSsmalltriangleup]\smalltriangleup \\ +\K[\MNSfilleddiamond]\filleddiamond & \K[\MNSoast]\oast & \K[\MNSthinstar]\thinstar \\ +\K[\MNSfilledmedsquare]\filledmedsquare & \K[\MNSobackslash]\obackslash & \K[\MNSupslice]\upslice \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ defines \cmdI[\MNSfilledmedsquare]{\blacksquare} as a synonym + for \cmdI[\MNSfilledmedsquare]{\filledmedsquare}; + \cmdI[\MNSmedsquare]{\square} and \cmdI[\MNSmedsquare]{\Box} as + synonyms for \cmdI[\MNSmedsquare]{\medsquare}; + \cmdI[\MNSsmalldiamond]{\diamond} as a synonym for + \cmdI[\MNSsmalldiamond]{\smalldiamond}; + \cmdI[\MNSmeddiamond]{\Diamond} as a synonym for + \cmdI[\MNSmeddiamond]{\meddiamond}; \cmdI[\MNSthinstar]{\star} as a + synonym for \cmdI[\MNSthinstar]{\thinstar}; + \cmdI[\MNSoast]{\circledast} as a synonym for + \cmdI[\MNSoast]{\oast}; \cmdI[\MNSocirc]{\circledcirc} as a synonym + for \cmdI[\MNSocirc]{\ocirc}; and, \cmdI[\MNSominus]{\circleddash} + as a synonym for \cmdI[\MNSominus]{\ominus}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{op} +\renewcommand{\arraystretch}{1.75} % Keep tall symbols from touching. +\begin{tabular}{*3{l@{$\:$}ll@{\qquad}}l@{$\:$}ll} +\R\bigcap & \R\bigotimes & \R\bigwedge & \R\prod \\ +\R\bigcup & \R\bigsqcup & \R\coprod & \R\sum \\ +\R\bigodot & \R\biguplus & \R\int \\ +\R\bigoplus & \R\bigvee & \R\oint \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{ams-large} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{l@{$\:$}ll@{\qquad}l@{$\:$}ll} +\R[\AMSiint]\iint & \R[\AMSiiint]\iiint \\ +\R[\AMSiiiint]\iiiint & \R[\AMSidotsint]\idotsint \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\label{st-large} +\renewcommand{\arraystretch}{1.75} % Keep tall symbols from touching. +\begin{tabular}{*2{l@{$\:$}ll@{\qquad}}l@{$\:$}ll} +\R\bigbox & \R\biginterleave & \R\bigsqcap \\ +\R\bigcurlyvee & \R\bignplus & \R[\STbigtriangledown]\bigtriangledown \\ +\R\bigcurlywedge & \R\bigparallel & \R[\STbigtriangleup]\bigtriangleup \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{wasy-large} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{*2{l@{$\:$}ll@{\qquad}}l@{$\:$}ll} +\R[\varint]\int$^\dag$ & \R\iint & \R\iiint \\ +\R\varint$^*$ & \R\varoint$^*$ & \R\oiint \\ +\end{tabular} + +\bigskip +\begin{tablenote} + None of the preceding symbols are defined when \WASY\ is passed the + \optname{wasysym}{nointegrals} option. +\end{tablenote} + +\medskip +\begin{tablenote}[*] + Not defined when \WASY\ is passed the \optname{wasysym}{integrals} option. +\end{tablenote} + +\medskip +\begin{tablenote}[\dag] + Defined only when \WASY\ is passed the \optname{wasysym}{integrals} + option. Otherwise, the default \latex \cmdX{\int} glyph (as shown + in Table~\ref{op}) is used. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{abx-large} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{*2{l@{$\:$}ll@{\qquad}}l@{$\:$}ll} +\R[\ABXbigcurlyvee]\bigcurlyvee & \R[\ABXbigboxslash]\bigboxslash & \R[\ABXbigoright]\bigoright \\ +\R[\ABXbigsqcap]\bigsqcap & \R[\ABXbigboxtimes]\bigboxtimes & \R[\ABXbigoslash]\bigoslash \\ +\R[\ABXbigcurlywedge]\bigcurlywedge & \R[\ABXbigboxtop]\bigboxtop & \R[\ABXbigotop]\bigotop \\ +\R[\ABXbigboxasterisk]\bigboxasterisk & \R[\ABXbigboxtriangleup]\bigboxtriangleup & \R[\ABXbigotriangleup]\bigotriangleup \\ +\R[\ABXbigboxbackslash]\bigboxbackslash & \R[\ABXbigboxvoid]\bigboxvoid & \R[\ABXbigovoid]\bigovoid \\ +\R[\ABXbigboxbot]\bigboxbot & \R[\ABXbigcomplementop]\bigcomplementop & \R[\ABXbigplus]\bigplus \\ +\R[\ABXbigboxcirc]\bigboxcirc & \R[\ABXbigoasterisk]\bigoasterisk & \R[\ABXbigsquplus]\bigsquplus \\ +\R[\ABXbigboxcoasterisk]\bigboxcoasterisk & \R[\ABXbigobackslash]\bigobackslash & \R[\ABXbigtimes]\bigtimes \\ +\R[\ABXbigboxdiv]\bigboxdiv & \R[\ABXbigobot]\bigobot & \R[\ABXiiintop]\iiint \\ +\R[\ABXbigboxdot]\bigboxdot & \R[\ABXbigocirc]\bigocirc & \R[\ABXiintop]\iint \\ +\R[\ABXbigboxleft]\bigboxleft & \R[\ABXbigocoasterisk]\bigocoasterisk & \R[\ABXintop]\int \\ +\R[\ABXbigboxminus]\bigboxminus & \R[\ABXbigodiv]\bigodiv & \R[\ABXoiintop]\oiint \\ +\R[\ABXbigboxplus]\bigboxplus & \R[\ABXbigoleft]\bigoleft & \R[\ABXointop]\oint \\ +\R[\ABXbigboxright]\bigboxright & \R[\ABXbigominus]\bigominus \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{txpx-large} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{l@{$\:$}ll@{\hspace{4em}}l@{$\:$}ll} +\R\bigsqcapplus & \R\ointclockwise \\ +\R\bigsqcupplus & \R\ointctrclockwise \\ +\R\fint & \R\sqiiint \\ +\R\idotsint & \R\sqiint \\ +\R\iiiint & \R\sqint \\ +\R\iiint & \R\varoiiintclockwise \\ +\R\iint & \R\varoiiintctrclockwise \\ +\R\oiiintclockwise & \R\varoiintclockwise \\ +\R\oiiintctrclockwise & \R\varoiintctrclockwise \\ +\R\oiiint & \R\varointclockwise \\ +\R\oiintclockwise & \R\varointctrclockwise \\ +\R\oiintctrclockwise & \R\varprod \\ +\R\oiint \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ES]{\ES\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{es-large} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{*2{l@{\quad}ll@{\hspace{4em}}}l@{\quad}ll} +\E{dotsint} & \E{ointclockwise} \\ +\E{fint} & \E{ointctrclockwise} \\ +\E{iiiint} & \E{sqiint} \\ +\E{iiint} & \E{sqint} \\ +\E{iint} & \E{varoiint} \\ +\E{landdownint} & \E{varointclockwise} \\ +\E{landupint} & \E{varointctrclockwise} \\ +\E{oiint} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{mns-large} +\renewcommand{\arraystretch}{1.75} % Keep tall symbols from touching. +\begin{tabular}{*2{c@{\quad}cl@{\qquad}}c@{\quad}cl} +\KN[\MNStbigcap][\MNSdbigcap]\bigcap & \KN[\MNStbigominus][\MNSdbigominus]\bigominus & \KN[\MNStcomplement][\MNSdcomplement]\complement \\ +\KN[\MNStbigcapdot][\MNSdbigcapdot]\bigcapdot & \KN[\MNStbigoplus][\MNSdbigoplus]\bigoplus & \KN[\MNStcoprod][\MNSdcoprod]\coprod \\ +\KN[\MNStbigcapplus][\MNSdbigcapplus]\bigcapplus & \KN[\MNStbigoslash][\MNSdbigoslash]\bigoslash & \KN[\MNStidotsint][\MNSdidotsint]\idotsint \\ +\KN[\MNStbigcircle][\MNSdbigcircle]\bigcircle & \KN[\MNStbigostar][\MNSdbigostar]\bigostar & \KN[\MNStiiiint][\MNSdiiiint]\iiiint \\ +\KN[\MNStbigcup][\MNSdbigcup]\bigcup & \KN[\MNStbigotimes][\MNSdbigotimes]\bigotimes & \KN[\MNStiiint][\MNSdiiint]\iiint \\ +\KN[\MNStbigcupdot][\MNSdbigcupdot]\bigcupdot & \KN[\MNStbigotriangle][\MNSdbigotriangle]\bigotriangle & \KN[\MNStiint][\MNSdiint]\iint \\ +\KN[\MNStbigcupplus][\MNSdbigcupplus]\bigcupplus$^*$ & \KN[\MNStbigovert][\MNSdbigovert]\bigovert & \KN[\MNStint][\MNSdint]\int \\ +\KN[\MNStbigcurlyvee][\MNSdbigcurlyvee]\bigcurlyvee & \KN[\MNStbigplus][\MNSdbigplus]\bigplus & \KN[\MNStlanddownint][\MNSdlanddownint]\landdownint \\ +\KN[\MNStbigcurlyveedot][\MNSdbigcurlyveedot]\bigcurlyveedot & \KN[\MNStbigsqcap][\MNSdbigsqcap]\bigsqcap & \KN[\MNStlandupint][\MNSdlandupint]\landupint \\ +\KN[\MNStbigcurlywedge][\MNSdbigcurlywedge]\bigcurlywedge & \KN[\MNStbigsqcapdot][\MNSdbigsqcapdot]\bigsqcapdot & \KN[\MNStlcircleleftint][\MNSdlcircleleftint]\lcircleleftint \\ +\KN[\MNStbigcurlywedgedot][\MNSdbigcurlywedgedot]\bigcurlywedgedot & \KN[\MNStbigsqcapplus][\MNSdbigsqcapplus]\bigsqcapplus & \KN[\MNStlcirclerightint][\MNSdlcirclerightint]\lcirclerightint \\ +\KN[\MNStbigdoublecurlyvee][\MNSdbigdoublecurlyvee]\bigdoublecurlyvee & \KN[\MNStbigsqcup][\MNSdbigsqcup]\bigsqcup & \KN[\MNStoiint][\MNSdoiint]\oiint \\ +\KN[\MNStbigdoublecurlywedge][\MNSdbigdoublecurlywedge]\bigdoublecurlywedge & \KN[\MNStbigsqcupdot][\MNSdbigsqcupdot]\bigsqcupdot & \KN[\MNStoint][\MNSdoint]\oint \\ +\KN[\MNStbigdoublevee][\MNSdbigdoublevee]\bigdoublevee & \KN[\MNStbigsqcupplus][\MNSdbigsqcupplus]\bigsqcupplus & \KN[\MNStprod][\MNSdprod]\prod \\ +\KN[\MNStbigdoublewedge][\MNSdbigdoublewedge]\bigdoublewedge & \KN[\MNStbigtimes][\MNSdbigtimes]\bigtimes & \KN[\MNStrcircleleftint][\MNSdrcircleleftint]\rcircleleftint \\ +\KN[\MNStbigoast][\MNSdbigoast]\bigoast & \KN[\MNStbigvee][\MNSdbigvee]\bigvee & \KN[\MNStrcirclerightint][\MNSdrcirclerightint]\rcirclerightint \\ +\KN[\MNStbigobackslash][\MNSdbigobackslash]\bigobackslash & \KN[\MNStbigveedot][\MNSdbigveedot]\bigveedot & \KN[\MNStstrokedint][\MNSdstrokedint]\strokedint \\ +\KN[\MNStbigocirc][\MNSdbigocirc]\bigocirc & \KN[\MNStbigwedge][\MNSdbigwedge]\bigwedge & \KN[\MNStsum][\MNSdsum]\sum \\ +\KN[\MNStbigodot][\MNSdbigodot]\bigodot & \KN[\MNStbigwedgedot][\MNSdbigwedgedot]\bigwedgedot & \KN[\MNStsumint][\MNSdsumint]\sumint \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \MNS\ defines \cmdI[\MNSdbigcupplus]{\biguplus} as a synonym for + \cmdI[\MNSdbigcupplus]{\bigcupplus}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MDES]{\MDES\ Variable-sized Math Operators} +\idxboth{variable-sized}{symbols} +\index{integrals} +\label{mdes-large} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{*2{c@{\quad}cl@{\hspace{4em}}}c@{\quad}cl} +\KN[\MDESintclockwisesm][\MDESintclockwise]\intclockwise & \KN[\MDESointclockwisesm][\MDESointclockwise]\ointclockwise \\ +\KN[\MDESoiiintsm][\MDESoiiint]\oiiint & \KN[\MDESointctrclockwisesm][\MDESointctrclockwise]\ointctrclockwise \\ +\KN[\MDESoiintsm][\MDESoiint]\oiint & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The \MDES\ package provides three versions of each integral---in + fact, of every symbol---to accompany different text fonts: + \PSfont{Utopia}~(\raisebox{2ex}{\usefont{OMX}{mdput}{m}{n}\char"52}), + \PSfont{Garamond}~(\raisebox{2ex}{\usefont{OMX}{mdugm}{m}{n}\char"52}), and + \PSfont{Charter}~(\raisebox{2ex}{\usefont{OMX}{mdbch}{m}{n}\char"52}). +\end{tablenote} +\end{symtable} + + +\begin{symtable}[CMLL]{\CMLL\ Large Math Operators} +\idxboth{linear logic}{symbols} +\label{cmll-large} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{ll@{\qquad}ll} +\K[\CMLLbigparr]\bigparr & \K[\CMLLbigwith]\bigwith \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Binary Relations} +\idxboth{relational}{symbols} +\index{tacks} +\label{rel} +\begin{tabular}{*4{ll}} +\X\approx & \X\equiv & \X\perp & \X\smile \\ +\X\asymp & \X\frown & \X\prec & \X\succ \\ +\X\bowtie & \X\Join$^*$ & \X\preceq & \X\succeq \\ +\X\cong & \X\mid & \X\propto & \X\vdash \\ +\X\dashv & \X\models & \X\sim \\ +\X\doteq & \X\parallel & \X\simeq \\ +\end{tabular} + +\bigskip +\notpredefinedmessageABX +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\label{ams-rel} +\begin{tabular}{*3{ll}} +\X\approxeq & \X\eqcirc & \X\succapprox \\ +\X\backepsilon & \X\fallingdotseq & \X\succcurlyeq \\ +\X\backsim & \X\multimap & \X\succsim \\ +\X\backsimeq & \X\pitchfork & \X\therefore \\ +\X\because & \X\precapprox & \X\thickapprox \\ +\X\between & \X\preccurlyeq & \X\thicksim \\ +\X\Bumpeq & \X\precsim & \X\varpropto \\ +\X\bumpeq & \X\risingdotseq & \X\Vdash \\ +\X\circeq & \X\shortmid & \X\vDash \\ +\X\curlyeqprec & \X\shortparallel & \X\Vvdash \\ +\X\curlyeqsucc & \X\smallfrown & \\ +\X\doteqdot & \X\smallsmile & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Negated Binary Relations} +\index{binary relations>negated} +\index{relational symbols>negated binary} +\label{ams-nrel} +\begin{tabular}{*3{ll}} +\X\ncong & \X\nshortparallel & \X\nVDash \\ +\X\nmid & \X\nsim & \X\precnapprox \\ +\X\nparallel & \X\nsucc & \X\precnsim \\ +\X\nprec & \X\nsucceq & \X\succnapprox \\ +\X\npreceq & \X\nvDash & \X\succnsim \\ +\X\nshortmid & \X\nvdash \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\label{st-rel} +\begin{tabular}{*2{ll}} +\X\inplus & \X\niplus \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\label{wasy-rel} +\begin{tabular}{*3{ll}} +\X\invneg & \X\leadsto & \X\wasypropto \\ +\X\Join & \X\logof \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\label{txpx-rel} +\begin{tabular}{*3{ll}} +\X\circledgtr & \X\lJoin & \X\opentimes \\ +\X\circledless & \X\lrtimes & \X\Perp \\ +\X\colonapprox & \X\multimap & \X\preceqq \\ +\X\Colonapprox & \X\multimapboth & \X\precneqq \\ +\X\coloneq & \X\multimapbothvert & \X\rJoin \\ +\X\Coloneq & \X\multimapdot & \X\strictfi \\ +\X\Coloneqq & \X\multimapdotboth & \X\strictif \\ +\X\coloneqq$^*$ & \X\multimapdotbothA & \X\strictiff \\ +\X\Colonsim & \X\multimapdotbothAvert & \X\succeqq \\ +\X\colonsim & \X\multimapdotbothB & \X\succneqq \\ +\X\Eqcolon & \X\multimapdotbothBvert & \X\varparallel \\ +\X\eqcolon & \X\multimapdotbothvert & \X\varparallelinv \\ +\X\eqqcolon & \X\multimapdotinv & \X\VvDash \\ +\X\Eqqcolon & \X\multimapinv \\ +\X\eqsim & \X\openJoin \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + As an alternative to using \TXPX, a ``$\mathrel{\mathop:}=$'' symbol + can be constructed with ``\verb|\mathrel{\mathop:}=|''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Negated Binary Relations} +\index{binary relations>negated} +\index{relational symbols>negated binary} +\label{txpx-nrel} +\begin{tabular}{*3{ll}} +\X\napproxeq & \X\npreccurlyeq & \X\nthickapprox \\ +\X\nasymp & \X\npreceqq & \X\ntwoheadleftarrow \\ +\X\nbacksim & \X\nprecsim & \X\ntwoheadrightarrow \\ +\X\nbacksimeq & \X\nsimeq & \X\nvarparallel \\ +\X\nbumpeq & \X\nsuccapprox & \X\nvarparallelinv \\ +\X\nBumpeq & \X\nsucccurlyeq & \X\nVdash \\ +\X\nequiv & \X\nsucceqq \\ +\X\nprecapprox & \X\nsuccsim \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\label{abx-rel} +\begin{tabular}{*3{ll}} +\X[\ABXbetween]\between & \X[\ABXdivides]\divides & \X[\ABXrisingdotseq]\risingdotseq \\ +\X[\ABXbotdoteq]\botdoteq & \X[\ABXdotseq]\dotseq & \X[\ABXsuccapprox]\succapprox \\ +\X[\ABXBumpedeq]\Bumpedeq & \X[\ABXeqbumped]\eqbumped & \X[\ABXsucccurlyeq]\succcurlyeq \\ +\X[\ABXbumpedeq]\bumpedeq & \X[\ABXeqcirc]\eqcirc & \X[\ABXsuccdot]\succdot \\ +\X[\ABXcirceq]\circeq & \X[\ABXeqcolon]\eqcolon & \X[\ABXsuccsim]\succsim \\ +\X[\ABXcoloneq]\coloneq & \X[\ABXfallingdotseq]\fallingdotseq & \X[\ABXtherefore]\therefore \\ +\X[\ABXcorresponds]\corresponds & \X[\ABXggcurly]\ggcurly & \X[\ABXtopdoteq]\topdoteq \\ +\X[\ABXcurlyeqprec]\curlyeqprec & \X[\ABXllcurly]\llcurly & \X[\ABXvDash]\vDash \\ +\X[\ABXcurlyeqsucc]\curlyeqsucc & \X[\ABXprecapprox]\precapprox & \X[\ABXVdash]\Vdash \\ +\X[\ABXDashV]\DashV & \X[\ABXpreccurlyeq]\preccurlyeq & \X[\ABXVDash]\VDash \\ +\X[\ABXDashv]\Dashv & \X[\ABXprecdot]\precdot & \X[\ABXVvdash]\Vvdash \\ +\X[\ABXdashVv]\dashVv & \X[\ABXprecsim]\precsim \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Negated Binary Relations} +\index{binary relations>negated}\index{relational symbols>negated binary} +\label{abx-nrel} +\begin{tabular}{*3{ll}} +\X[\ABXnapprox]\napprox & \X[\ABXnotperp]\notperp & \X[\ABXnvDash]\nvDash \\ +\X[\ABXncong]\ncong & \X[\ABXnprec]\nprec & \X[\ABXnVDash]\nVDash \\ +\X[\ABXncurlyeqprec]\ncurlyeqprec & \X[\ABXnprecapprox]\nprecapprox & \X[\ABXnVdash]\nVdash \\ +\X[\ABXncurlyeqsucc]\ncurlyeqsucc & \X[\ABXnpreccurlyeq]\npreccurlyeq & \X[\ABXnvdash]\nvdash \\ +\X[\ABXnDashv]\nDashv & \X[\ABXnpreceq]\npreceq & \X[\ABXnVvash]\nVvash \\ +\X[\ABXndashV]\ndashV & \X[\ABXnprecsim]\nprecsim & \X[\ABXprecnapprox]\precnapprox \\ +\X[\ABXndashv]\ndashv & \X[\ABXnsim]\nsim & \X[\ABXprecneq]\precneq \\ +\X[\ABXnDashV]\nDashV & \X[\ABXnsimeq]\nsimeq & \X[\ABXprecnsim]\precnsim \\ +\X[\ABXndashVv]\ndashVv & \X[\ABXnsucc]\nsucc & \X[\ABXsuccnapprox]\succnapprox \\ +\X[\ABXneq]\neq & \X[\ABXnsuccapprox]\nsuccapprox & \X[\ABXsuccneq]\succneq \\ +\X[\ABXnotasymp]\notasymp & \X[\ABXnsucccurlyeq]\nsucccurlyeq & \X[\ABXsuccnsim]\succnsim \\ +\X[\ABXnotdivides]\notdivides & \X[\ABXnsucceq]\nsucceq \\ +\X[\ABXnotequiv]\notequiv & \X[\ABXnsuccsim]\nsuccsim \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \index{not equal=not equal ($\ABXvarnotsign!=$ vs.\ $\ABXnotsign!=$)} + The \cmd{\changenotsign} command toggles the behavior of \cmd{\not} + to produce either a vertical or a diagonal slash through a binary + operator. Thus, ``\verb|$a \not= b$|'' can be made to produce + either ``$a \ABXnotsign= b$'' or ``$a \ABXvarnotsign= b$''. +\end{tablenote} +\end{symtable} + + +\begin{longsymtable}[MNS]{\MNS\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\label{mns-rel} +\begin{longtable}{*4{ll}} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K[\MNSapprox]\approx & \K[\MNSeqcirc]\eqcirc & \K[\MNSnwfree]\nwfree & \K[\MNSshortparallel]\shortparallel \\ +\K[\MNSapproxeq]\approxeq & \K[\MNSeqdot]\eqdot & \K[\MNSnwmodels]\nwmodels & \K[\MNSsim]\sim \\ +\K[\MNSbackapprox]\backapprox & \K[\MNSeqsim]\eqsim & \K[\MNSnwModels]\nwModels & \K[\MNSsimeq]\simeq \\ +\K[\MNSbackapproxeq]\backapproxeq & \K[\MNSequal]\equal & \K[\MNSnwsecrossing]\nwsecrossing & \K[\MNSsucc]\succ \\ +\K[\MNSbackcong]\backcong & \K[\MNSequalclosed]\equalclosed & \K[\MNSnwseline]\nwseline & \K[\MNSsuccapprox]\succapprox \\ +\K[\MNSbackeqsim]\backeqsim & \K[\MNSequiv]\equiv & \K[\MNSNwseline]\Nwseline & \K[\MNSsucccurlyeq]\succcurlyeq \\ +\K[\MNSbacksim]\backsim & \K[\MNSequivclosed]\equivclosed & \K[\MNSnwvdash]\nwvdash & \K[\MNSsucceq]\succeq \\ +\K[\MNSbacksimeq]\backsimeq & \K[\MNSfallingdotseq]\fallingdotseq & \K[\MNSnwVdash]\nwVdash & \K[\MNSsuccsim]\succsim \\ +\K[\MNSbacktriplesim]\backtriplesim & \K[\MNShateq]\hateq & \K[\MNSprec]\prec & \K[\MNSswfootline]\swfootline \\ +\K[\MNSbetween]\between & \K[\MNShcrossing]\hcrossing & \K[\MNSprecapprox]\precapprox & \K[\MNSswfree]\swfree \\ +\K[\MNSbumpeq]\bumpeq & \K[\MNSleftfootline]\leftfootline & \K[\MNSpreccurlyeq]\preccurlyeq & \K[\MNSswmodels]\swmodels \\ +\K[\MNSBumpeq]\Bumpeq & \K[\MNSleftfree]\leftfree & \K[\MNSpreceq]\preceq & \K[\MNSswModels]\swModels \\ +\K[\MNScirceq]\circeq & \K[\MNSleftmodels]\leftmodels & \K[\MNSprecsim]\precsim & \K[\MNSswvdash]\swvdash \\ +\K[\MNSclosedequal]\closedequal & \K[\MNSleftModels]\leftModels & \K[\MNSrightfootline]\rightfootline & \K[\MNSswVdash]\swVdash \\ +\K[\MNSclosedprec]\closedprec & \K[\MNSleftpropto]\leftpropto & \K[\MNSrightfree]\rightfree & \K[\MNStriplesim]\triplesim \\ +\K[\MNSclosedsucc]\closedsucc & \K[\MNSleftrightline]\leftrightline & \K[\MNSrightmodels]\rightmodels & \K[\MNSupdownline]\updownline \\ +\K[\MNScong]\cong & \K[\MNSLeftrightline]\Leftrightline & \K[\MNSrightModels]\rightModels & \K[\MNSUpdownline]\Updownline \\ +\K[\MNScurlyeqprec]\curlyeqprec & \K[\MNSleftslice]\leftslice & \K[\MNSrightpropto]\rightpropto & \K[\MNSupfootline]\upfootline \\ +\K[\MNScurlyeqsucc]\curlyeqsucc & \K[\MNSleftvdash]\leftvdash & \K[\MNSrightslice]\rightslice & \K[\MNSupfree]\upfree \\ +\K[\MNSdoteq]\doteq & \K[\MNSleftVdash]\leftVdash & \K[\MNSrightvdash]\rightvdash & \K[\MNSupmodels]\upmodels \\ +\K[\MNSDoteq]\Doteq & \K[\MNSnefootline]\nefootline & \K[\MNSrightVdash]\rightVdash & \K[\MNSupModels]\upModels \\ +\K[\MNSdownfootline]\downfootline & \K[\MNSnefree]\nefree & \K[\MNSrisingdotseq]\risingdotseq & \K[\MNSuppropto]\uppropto \\ +\K[\MNSdownfree]\downfree & \K[\MNSnemodels]\nemodels & \K[\MNSsefootline]\sefootline & \K[\MNSupvdash]\upvdash \\ +\K[\MNSdownmodels]\downmodels & \K[\MNSneModels]\neModels & \K[\MNSsefree]\sefree & \K[\MNSupVdash]\upVdash \\ +\K[\MNSdownModels]\downModels & \K[\MNSneswline]\neswline & \K[\MNSsemodels]\semodels & \K[\MNSvcrossing]\vcrossing \\ +\K[\MNSdownpropto]\downpropto & \K[\MNSNeswline]\Neswline & \K[\MNSseModels]\seModels & \K[\MNSVvdash]\Vvdash \\ +\K[\MNSdownvdash]\downvdash & \K[\MNSnevdash]\nevdash & \K[\MNSseparated]\separated & \\ +\K[\MNSdownVdash]\downVdash & \K[\MNSneVdash]\neVdash & \K[\MNSsevdash]\sevdash & \\ +\K[\MNSeqbump]\eqbump & \K[\MNSnwfootline]\nwfootline & \K[\MNSseVdash]\seVdash & \\ +\end{longtable} + +\MNS\ additionally defines synonyms for some of the preceding symbols: + +\bigskip + +\newcommand*{\mnssyn}[1]{(same as \texttt{\string#1})} +\begin{tabular}{ll@{\quad}l} +\K[\MNSleftvdash]\dashv & \mnssyn\leftvdash \\ +\K[\MNSnwseline]\diagdown & \mnssyn\nwseline \\ +\K[\MNSneswline]\diagup & \mnssyn\neswline \\ +\K[\MNSneswline]\divides & \mnssyn\updownline \\ +\K[\MNSDoteq]\doteqdot & \mnssyn\Doteq \\ +\K[\MNSrightmodels]\models & \mnssyn\rightmodels \\ +\K[\MNSUpdownline]\parallel & \mnssyn\Updownline \\ +\K[\MNSupvdash]\perp & \mnssyn\upvdash \\ +\K[\MNSleftpropto]\propto & \mnssyn\leftpropto \\ +\K[\MNSleftrightline]\relbar & \mnssyn\leftrightline \\ +\K[\MNSLeftrightline]\Relbar & \mnssyn\Leftrightline \\ +\K[\MNSleftpropto]\varpropto & \mnssyn\leftpropto \\ +\K[\MNSrightmodels]\vDash & \mnssyn\rightmodels \\ +\K[\MNSrightModels]\VDash & \mnssyn\rightModels \\ +\K[\MNSrightvdash]\vdash & \mnssyn\rightvdash \\ +\K[\MNSrightVdash]\Vdash & \mnssyn\rightVdash \\ +\end{tabular} +\end{longsymtable} + + +\begin{longsymtable}[MNS]{\MNS\ Negated Binary Relations} +\index{binary relations>negated} +\index{relational symbols>negated binary} +\label{mns-rrel} +\begin{longtable}{*4{ll}} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K[\MNSnapprox]\napprox & \K[\MNSneqsim]\neqsim & \K[\MNSnnwModels]\nnwModels & \K[\MNSnsucc]\nsucc \\ +\K[\MNSnapproxeq]\napproxeq & \K[\MNSnequal]\nequal & \K[\MNSnnwseline]\nnwseline & \K[\MNSnsuccapprox]\nsuccapprox \\ +\K[\MNSnbackapprox]\nbackapprox & \K[\MNSnequalclosed]\nequalclosed & \K[\MNSnNwseline]\nNwseline & \K[\MNSnsucccurlyeq]\nsucccurlyeq \\ +\K[\MNSnbackapproxeq]\nbackapproxeq & \K[\MNSnequiv]\nequiv & \K[\MNSnnwvdash]\nnwvdash & \K[\MNSnsucceq]\nsucceq \\ +\K[\MNSnbackcong]\nbackcong & \K[\MNSnequivclosed]\nequivclosed & \K[\MNSnnwVdash]\nnwVdash & \K[\MNSnsuccsim]\nsuccsim \\ +\K[\MNSnbackeqsim]\nbackeqsim & \K[\MNSneswcrossing]\neswcrossing & \K[\MNSnprec]\nprec & \K[\MNSnswfootline]\nswfootline \\ +\K[\MNSnbacksim]\nbacksim & \K[\MNSnfallingdotseq]\nfallingdotseq & \K[\MNSnprecapprox]\nprecapprox & \K[\MNSnswfree]\nswfree \\ +\K[\MNSnbacksimeq]\nbacksimeq & \K[\MNSnhateq]\nhateq & \K[\MNSnpreccurlyeq]\npreccurlyeq & \K[\MNSnswmodels]\nswmodels \\ +\K[\MNSnbacktriplesim]\nbacktriplesim & \K[\MNSnleftfootline]\nleftfootline & \K[\MNSnpreceq]\npreceq & \K[\MNSnswModels]\nswModels \\ +\K[\MNSnbumpeq]\nbumpeq & \K[\MNSnleftfree]\nleftfree & \K[\MNSnprecsim]\nprecsim & \K[\MNSnswvdash]\nswvdash \\ +\K[\MNSnBumpeq]\nBumpeq & \K[\MNSnleftmodels]\nleftmodels & \K[\MNSnrightfootline]\nrightfootline & \K[\MNSnswVdash]\nswVdash \\ +\K[\MNSncirceq]\ncirceq & \K[\MNSnleftModels]\nleftModels & \K[\MNSnrightfree]\nrightfree & \K[\MNSntriplesim]\ntriplesim \\ +\K[\MNSnclosedequal]\nclosedequal & \K[\MNSnleftrightline]\nleftrightline & \K[\MNSnrightmodels]\nrightmodels & \K[\MNSnupdownline]\nupdownline \\ +\K[\MNSncong]\ncong & \K[\MNSnLeftrightline]\nLeftrightline & \K[\MNSnrightModels]\nrightModels & \K[\MNSnUpdownline]\nUpdownline \\ +\K[\MNSncurlyeqprec]\ncurlyeqprec & \K[\MNSnleftvdash]\nleftvdash & \K[\MNSnrightvdash]\nrightvdash & \K[\MNSnupfootline]\nupfootline \\ +\K[\MNSncurlyeqsucc]\ncurlyeqsucc & \K[\MNSnleftVdash]\nleftVdash & \K[\MNSnrightVdash]\nrightVdash & \K[\MNSnupfree]\nupfree \\ +\K[\MNSndoteq]\ndoteq & \K[\MNSnnefootline]\nnefootline & \K[\MNSnrisingdotseq]\nrisingdotseq & \K[\MNSnupmodels]\nupmodels \\ +\K[\MNSnDoteq]\nDoteq & \K[\MNSnnefree]\nnefree & \K[\MNSnsefootline]\nsefootline & \K[\MNSnupModels]\nupModels \\ +\K[\MNSndownfootline]\ndownfootline & \K[\MNSnnemodels]\nnemodels & \K[\MNSnsefree]\nsefree & \K[\MNSnupvdash]\nupvdash \\ +\K[\MNSndownfree]\ndownfree & \K[\MNSnneModels]\nneModels & \K[\MNSnsemodels]\nsemodels & \K[\MNSnupVdash]\nupVdash \\ +\K[\MNSndownmodels]\ndownmodels & \K[\MNSnneswline]\nneswline & \K[\MNSnseModels]\nseModels & \K[\MNSprecnapprox]\precnapprox \\ +\K[\MNSndownModels]\ndownModels & \K[\MNSnNeswline]\nNeswline & \K[\MNSnsevdash]\nsevdash & \K[\MNSprecnsim]\precnsim \\ +\K[\MNSndownvdash]\ndownvdash & \K[\MNSnnevdash]\nnevdash & \K[\MNSnseVdash]\nseVdash & \K[\MNSsuccnapprox]\succnapprox \\ +\K[\MNSndownVdash]\ndownVdash & \K[\MNSnneVdash]\nneVdash & \K[\MNSnshortmid]\nshortmid & \K[\MNSsuccnsim]\succnsim \\ +\K[\MNSneqbump]\neqbump & \K[\MNSnnwfootline]\nnwfootline & \K[\MNSnshortparallel]\nshortparallel & \\ +\K[\MNSneqcirc]\neqcirc & \K[\MNSnnwfree]\nnwfree & \K[\MNSnsim]\nsim & \\ +\K[\MNSneqdot]\neqdot & \K[\MNSnnwmodels]\nnwmodels & \K[\MNSnsimeq]\nsimeq & \\ +\end{longtable} + +\MNS\ additionally defines synonyms for some of the preceding symbols: + +\bigskip + +\newcommand*{\mnssyn}[1]{(same as \texttt{\string#1})} +\begin{tabular}{ll@{\quad}l} +\K[\MNSnleftvdash]\ndashv & \mnssyn\nleftvdash \\ +\K[\MNSnnwseline]\ndiagdown & \mnssyn\nnwseline \\ +\K[\MNSnneswline]\ndiagup & \mnssyn\nneswline \\ +\K[\MNSnupdownline]\ndivides & \mnssyn\nupdownline \\ +\K[\MNSnequal]\ne & \mnssyn\nequal \\ +\K[\MNSnequal]\neq & \mnssyn\nequal \\ +\K[\MNSnupdownline]\nmid & \mnssyn\nupdownline \\ +\K[\MNSnrightmodels]\nmodels & \mnssyn\nrightmodels \\ +\K[\MNSnUpdownline]\nparallel & \mnssyn\nUpdownline \\ +\K[\MNSnupvdash]\nperp & \mnssyn\nupvdash \\ +\K[\MNSnleftrightline]\nrelbar & \mnssyn\nleftrightline \\ +\K[\MNSnLeftrightline]\nRelbar & \mnssyn\nLeftrightline \\ +\K[\MNSnrightmodels]\nvDash & \mnssyn\nrightmodels \\ +\K[\MNSnrightvdash]\nvdash & \mnssyn\nrightvdash \\ +\K[\MNSnrightVdash]\nVdash & \mnssyn\nrightVdash \\ +\K[\MNSnrightModels]\nVDash & \mnssyn\nrightModels \\ +\end{tabular} +\end{longsymtable} + + +\begin{symtable}[MTOOLS]{\MTOOLS\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\label{mtools-rel} +\begin{tabular}{ll@{\qquad}ll@{\qquad}ll} +\X[\MTOOLSColonapprox]\Colonapprox & \X[\MTOOLScoloneq]\coloneq & \X[\MTOOLSEqcolon]\Eqcolon \\ +\X[\MTOOLScolonapprox]\colonapprox & \X[\MTOOLScolonsim]\colonsim & \X[\MTOOLSeqqcolon]\eqqcolon \\ +\X[\MTOOLScoloneqq]\coloneqq & \X[\MTOOLSColonsim]\Colonsim & \X[\MTOOLSEqqcolon]\Eqqcolon \\ +\X[\MTOOLSColoneqq]\Coloneqq & \X[\MTOOLSdblcolon]\dblcolon & \\ +\X[\MTOOLSColoneq]\Coloneq & \X[\MTOOLSeqcolon]\eqcolon & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + Similar symbols can be defined using \MTOOLS's \cmdX{\vcentcolon}, + which produces a colon centered on the font's math axis: + + \begin{center} + \begin{tabular}{ccc} + \Huge $=:=$ & vs. & \Huge $=\vcentcolon=$ \\ + ``\verb|=:=|'' & & ``\verb|=\vcentcolon=|'' \\ + \end{tabular} + \end{center} +\end{tablenote} +\end{symtable} + + +\begin{longsymtable}[TURN]{\TURN\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{consequence relations} +\label{turn-rel} +\renewcommand{\arraystretch}{2} % Keep tall symbols from touching. +\begin{longtable}{ll@{\hspace*{2em}}ll@{\hspace*{2em}}ll} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\Wul\dddtstile{abc}{def} & \Wul\nntstile{abc}{def} & \Wul\stdtstile{abc}{def} \\ +\Wul\ddststile{abc}{def} & \Wul\nnttstile{abc}{def} & \Wul\stststile{abc}{def} \\ +\Wul\ddtstile{abc}{def} & \Wul\nsdtstile{abc}{def} & \Wul\sttstile{abc}{def} \\ +\Wul\ddttstile{abc}{def} & \Wul\nsststile{abc}{def} & \Wul\stttstile{abc}{def} \\ +\Wul\dndtstile{abc}{def} & \Wul\nststile{abc}{def} & \Wul\tddtstile{abc}{def} \\ +\Wul\dnststile{abc}{def} & \Wul\nsttstile{abc}{def} & \Wul\tdststile{abc}{def} \\ +\Wul\dntstile{abc}{def} & \Wul\ntdtstile{abc}{def} & \Wul\tdtstile{abc}{def} \\ +\Wul\dnttstile{abc}{def} & \Wul\ntststile{abc}{def} & \Wul\tdttstile{abc}{def} \\ +\Wul\dsdtstile{abc}{def} & \Wul\nttstile{abc}{def} & \Wul\tndtstile{abc}{def} \\ +\Wul\dsststile{abc}{def} & \Wul\ntttstile{abc}{def} & \Wul\tnststile{abc}{def} \\ +\Wul\dststile{abc}{def} & \Wul\sddtstile{abc}{def} & \Wul\tntstile{abc}{def} \\ +\Wul\dsttstile{abc}{def} & \Wul\sdststile{abc}{def} & \Wul\tnttstile{abc}{def} \\ +\Wul\dtdtstile{abc}{def} & \Wul\sdtstile{abc}{def} & \Wul\tsdtstile{abc}{def} \\ +\Wul\dtststile{abc}{def} & \Wul\sdttstile{abc}{def} & \Wul\tsststile{abc}{def} \\ +\Wul\dttstile{abc}{def} & \Wul\sndtstile{abc}{def} & \Wul\tststile{abc}{def} \\ +\Wul\dtttstile{abc}{def} & \Wul\snststile{abc}{def} & \Wul\tsttstile{abc}{def} \\ +\Wul\nddtstile{abc}{def} & \Wul\sntstile{abc}{def} & \Wul\ttdtstile{abc}{def} \\ +\Wul\ndststile{abc}{def} & \Wul\snttstile{abc}{def} & \Wul\ttststile{abc}{def} \\ +\Wul\ndtstile{abc}{def} & \Wul\ssdtstile{abc}{def} & \Wul\tttstile{abc}{def} \\ +\Wul\ndttstile{abc}{def} & \Wul\ssststile{abc}{def} & \Wul\ttttstile{abc}{def} \\ +\Wul\nndtstile{abc}{def} & \Wul\sststile{abc}{def} & \\ +\Wul\nnststile{abc}{def} & \Wul\ssttstile{abc}{def} & \\ +\end{longtable} + +\bigskip + +\begin{tablenote} + Each of the above takes an optional argument that controls the size + of the upper and lower expressions. See the \TURN\ documentation + for more information. +\end{tablenote} +\end{longsymtable} + + +\begin{symtable}[TRSYM]{\TRSYM\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{transforms} +\label{trsym-rel} +\begin{tabular}{ll@{\hspace*{2em}}ll} +\K\InversTransformHoriz & \K\TransformHoriz \\ +\K\InversTransformVert & \K\TransformVert \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TRF]{\TRF\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{transforms} +\label{trf-rel} +\begin{tabular}{ll@{\hspace*{2em}}ll} +\X\dfourier & \X\Dfourier \\ +\X\fourier & \X\Fourier \\ +\X\laplace & \X\Laplace \\ +\X\ztransf & \X\Ztransf \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[CMLL]{\CMLL\ Binary Relations} +\index{binary relations} +\index{relational symbols>binary} +\idxboth{linear logic}{symbols} +\label{cmll-rel} +\begin{tabular}{ll@{\hspace*{2em}}ll} +\K[\CMLLcoh]\coh & \K[\CMLLscoh]\scoh \\ +\K[\CMLLincoh]\incoh & \K[\CMLLsincoh]\sincoh \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Subset and Superset Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{subsets} +\index{supersets} +\index{symbols>subset and superset} +\label{subsets} +\begin{tabular}{*3{ll}} +\X\sqsubset$^*$ & \X\sqsupseteq & \X\supset \\ +\X\sqsubseteq & \X\subset & \X\supseteq \\ +\X\sqsupset$^*$ & \X\subseteq \\ +\end{tabular} + +\bigskip +\notpredefinedmessageABX +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Subset and Superset Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{subsets} +\index{supersets} +\index{symbols>subset and superset} +\label{ams-subsets} +\begin{tabular}{*3{ll}} +\X\nsubseteq & \X\subseteqq & \X\supsetneqq \\ +\X\nsupseteq & \X\subsetneq & \X\varsubsetneq \\ +\X\nsupseteqq & \X\subsetneqq & \X\varsubsetneqq \\ +\X\sqsubset & \X\Supset & \X\varsupsetneq \\ +\X\sqsupset & \X\supseteqq & \X\varsupsetneqq \\ +\X\Subset & \X\supsetneq \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Subset and Superset Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{subsets} +\index{supersets} +\index{symbols>subset and superset} +\label{st-subsets} +\begin{tabular}{*2{ll}} +\X\subsetplus & \X\supsetplus \\ +\X\subsetpluseq & \X\supsetpluseq \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Subset and Superset Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{subsets} +\index{supersets} +\index{symbols>subset and superset} +\label{wasy-subset} +\begin{tabular}{*2{ll}} +\X\sqsubset & \X\sqsupset \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Subset and Superset Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{subsets} +\index{supersets} +\index{symbols>subset and superset} +\label{txpx-subset} +\begin{tabular}{*3{ll}} +\X\nsqsubset & \X\nsqsupseteq & \X\nSupset \\ +\X\nsqsubseteq & \X\nSubset \\ +\X\nsqsupset & \X\nsubseteqq \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Subset and Superset Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{subsets} +\index{supersets} +\index{symbols>subset and superset} +\label{abx-subsets} +\begin{tabular}{*4{ll}} +\X[\ABXnsqsubset]\nsqsubset & \X[\ABXnsupset]\nsupset & \X[\ABXsqsupseteq]\sqsupseteq & \X[\ABXsupseteq]\supseteq \\ +\X[\ABXnsqSubset]\nsqSubset & \X[\ABXnSupset]\nSupset & \X[\ABXsqsupseteqq]\sqsupseteqq & \X[\ABXsupseteqq]\supseteqq \\ +\X[\ABXnsqsubseteq]\nsqsubseteq & \X[\ABXnsupseteq]\nsupseteq & \X[\ABXsqsupsetneq]\sqsupsetneq & \X[\ABXsupsetneq]\supsetneq \\ +\X[\ABXnsqsubseteqq]\nsqsubseteqq & \X[\ABXnsupseteqq]\nsupseteqq & \X[\ABXsqsupsetneqq]\sqsupsetneqq & \X[\ABXsupsetneqq]\supsetneqq \\ +\X[\ABXnsqsupset]\nsqsupset & \X[\ABXsqsubset]\sqsubset & \X[\ABXsubset]\subset & \X[\ABXvarsqsubsetneq]\varsqsubsetneq \\ +\X[\ABXnsqSupset]\nsqSupset & \X[\ABXsqSubset]\sqSubset & \X[\ABXSubset]\Subset & \X[\ABXvarsqsubsetneqq]\varsqsubsetneqq \\ +\X[\ABXnsqsupseteq]\nsqsupseteq & \X[\ABXsqsubseteq]\sqsubseteq & \X[\ABXsubseteq]\subseteq & \X[\ABXvarsqsupsetneq]\varsqsupsetneq \\ +\X[\ABXnsqsupseteqq]\nsqsupseteqq & \X[\ABXsqsubseteqq]\sqsubseteqq & \X[\ABXsubseteqq]\subseteqq & \X[\ABXvarsqsupsetneqq]\varsqsupsetneqq \\ +\X[\ABXnsubset]\nsubset & \X[\ABXsqsubsetneq]\sqsubsetneq & \X[\ABXsubsetneq]\subsetneq & \X[\ABXvarsubsetneq]\varsubsetneq \\ +\X[\ABXnSubset]\nSubset & \X[\ABXsqsubsetneqq]\sqsubsetneqq & \X[\ABXsubsetneqq]\subsetneqq & \X[\ABXvarsubsetneqq]\varsubsetneqq \\ +\X[\ABXnsubseteq]\nsubseteq & \X[\ABXsqSupset]\sqSupset & \X[\ABXsupset]\supset & \X[\ABXvarsupsetneq]\varsupsetneq \\ +\X[\ABXnsubseteqq]\nsubseteqq & \X[\ABXsqsupset]\sqsupset & \X[\ABXSupset]\Supset & \X[\ABXvarsupsetneqq]\varsupsetneqq \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Subset and Superset Relations} +\index{binary relations} +\index{relational symbols>binary} +\index{subsets} +\index{supersets} +\index{symbols>subset and superset} +\label{mns-subsets} +\begin{tabular}{*4{ll}} +\K[\MNSnSqsubset]\nSqsubset & \K[\MNSnsubseteq]\nsubseteq & \K[\MNSsqsubsetneq]\sqsubsetneq & \K[\MNSsubseteq]\subseteq \\ +\K[\MNSnsqsubset]\nsqsubset & \K[\MNSnsubseteqq]\nsubseteqq & \K[\MNSsqsubsetneqq]\sqsubsetneqq & \K[\MNSsubseteqq]\subseteqq \\ +\K[\MNSnsqsubseteq]\nsqsubseteq & \K[\MNSnSupset]\nSupset & \K[\MNSSqsupset]\Sqsupset & \K[\MNSsubsetneq]\subsetneq \\ +\K[\MNSnsqsubseteqq]\nsqsubseteqq & \K[\MNSnsupset]\nsupset & \K[\MNSsqsupset]\sqsupset & \K[\MNSsubsetneqq]\subsetneqq \\ +\K[\MNSnSqsupset]\nSqsupset & \K[\MNSnsupseteq]\nsupseteq & \K[\MNSsqsupseteq]\sqsupseteq & \K[\MNSSupset]\Supset \\ +\K[\MNSnsqsupset]\nsqsupset & \K[\MNSnsupseteqq]\nsupseteqq & \K[\MNSsqsupseteqq]\sqsupseteqq & \K[\MNSsupset]\supset \\ +\K[\MNSnsqsupseteq]\nsqsupseteq & \K[\MNSSqsubset]\Sqsubset & \K[\MNSsqsupsetneq]\sqsupsetneq & \K[\MNSsupseteq]\supseteq \\ +\K[\MNSnsqsupseteqq]\nsqsupseteqq & \K[\MNSsqsubset]\sqsubset & \K[\MNSsqsupsetneqq]\sqsupsetneqq & \K[\MNSsupseteqq]\supseteqq \\ +\K[\MNSnSubset]\nSubset & \K[\MNSsqsubseteq]\sqsubseteq & \K[\MNSSubset]\Subset & \K[\MNSsupsetneq]\supsetneq \\ +\K[\MNSnsubset]\nsubset & \K[\MNSsqsubseteqq]\sqsubseteqq & \K[\MNSsubset]\subset & \K[\MNSsupsetneqq]\supsetneqq \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ additionally defines \cmdI[\MNSsubsetneq]{\varsubsetneq} as a + synonym for \cmdI[\MNSsubsetneq]{\subsetneq}, + \cmdI[\MNSsubsetneqq]{\varsubsetneqq} as a synonym for + \cmdI[\MNSsubsetneqq]{\subsetneqq}, + \cmdI[\MNSsupsetneq]{\varsupsetneq} as a synonym for + \cmdI[\MNSsupsetneq]{\supsetneq}, and + \cmdI[\MNSsupsetneqq]{\varsupsetneqq} as a synonym for + \cmdI[\MNSsupsetneqq]{\supsetneqq}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Inequalities} +\index{binary relations}\index{relational symbols>binary} +\index{inequalities} +\label{inequal-rel} +\begin{tabular}{*5{ll}} +\X\geq & \X\gg & \X\leq & \X\ll & \X\neq \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Inequalities} +\index{binary relations}\index{relational symbols>binary} +\index{inequalities} +\label{ams-inequal-rel} +\renewcommand{\arraystretch}{1.5} % Keep visually similar symbols from touching. +\begin{tabular}{*4{ll}} +\X\eqslantgtr & \X\gtrdot & \X\lesseqgtr & \X\ngeq \\ +\X\eqslantless & \X\gtreqless & \X\lesseqqgtr & \X\ngeqq \\ +\X\geqq & \X\gtreqqless & \X\lessgtr & \X\ngeqslant \\ +\X\geqslant & \X\gtrless & \X\lesssim & \X\ngtr \\ +\X\ggg & \X\gtrsim & \X\lll & \X\nleq \\ +\X\gnapprox & \X\gvertneqq & \X\lnapprox & \X\nleqq \\ +\X\gneq & \X\leqq & \X\lneq & \X\nleqslant \\ +\X\gneqq & \X\leqslant & \X\lneqq & \X\nless \\ +\X\gnsim & \X\lessapprox & \X\lnsim & \\ +\X\gtrapprox & \X\lessdot & \X\lvertneqq & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Inequalities} +\index{binary relations}\index{relational symbols>binary} +\index{inequalities} +\label{wasy-inequal-rel} +\begin{tabular}{*2{ll}} +\X\apprge & \X\apprle \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Inequalities} +\index{binary relations}\index{relational symbols>binary} +\index{inequalities} +\label{txpx-inequal-rel} +\begin{tabular}{*3{ll}} +\X\ngg & \X\ngtrsim & \X\nlesssim \\ +\X\ngtrapprox & \X\nlessapprox & \X\nll \\ +\X\ngtrless & \X\nlessgtr \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Inequalities} +\index{binary relations}\index{relational symbols>binary} +\index{inequalities} +\label{abx-inequal-rel} +\renewcommand{\arraystretch}{1.5} % Keep visually similar symbols from touching. +\begin{tabular}{*4{ll}} +\X[\ABXeqslantgtr]\eqslantgtr & \X[\ABXgtreqless]\gtreqless & \X[\ABXlesssim]\lesssim & \X[\ABXngtr]\ngtr \\ +\X[\ABXeqslantless]\eqslantless & \X[\ABXgtreqqless]\gtreqqless & \X[\ABXll]\ll & \X[\ABXngtrapprox]\ngtrapprox \\ +\X[\ABXgeq]\geq & \X[\ABXgtrless]\gtrless & \X[\ABXlll]\lll & \X[\ABXngtrsim]\ngtrsim \\ +\X[\ABXgeqq]\geqq & \X[\ABXgtrsim]\gtrsim & \X[\ABXlnapprox]\lnapprox & \X[\ABXnleq]\nleq \\ +\X[\ABXgg]\gg & \X[\ABXgvertneqq]\gvertneqq & \X[\ABXlneq]\lneq & \X[\ABXnleqq]\nleqq \\ +\X[\ABXggg]\ggg & \X[\ABXleq]\leq & \X[\ABXlneqq]\lneqq & \X[\ABXnless]\nless \\ +\X[\ABXgnapprox]\gnapprox & \X[\ABXleqq]\leqq & \X[\ABXlnsim]\lnsim & \X[\ABXnlessapprox]\nlessapprox \\ +\X[\ABXgneq]\gneq & \X[\ABXlessapprox]\lessapprox & \X[\ABXlvertneqq]\lvertneqq & \X[\ABXnlesssim]\nlesssim \\ +\X[\ABXgneqq]\gneqq & \X[\ABXlessdot]\lessdot & \X[\ABXneqslantgtr]\neqslantgtr & \X[\ABXnvargeq]\nvargeq \\ +\X[\ABXgnsim]\gnsim & \X[\ABXlesseqgtr]\lesseqgtr & \X[\ABXneqslantless]\neqslantless & \X[\ABXnvarleq]\nvarleq \\ +\X[\ABXgtrapprox]\gtrapprox & \X[\ABXlesseqqgtr]\lesseqqgtr & \X[\ABXngeq]\ngeq & \X[\ABXvargeq]\vargeq \\ +\X[\ABXgtrdot]\gtrdot & \X[\ABXlessgtr]\lessgtr & \X[\ABXngeqq]\ngeqq & \X[\ABXvarleq]\varleq \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \ABX\ defines \verb|\leqslant| and \verb|\le| as synonyms for + \cmdX{\leq}, \verb|\geqslant| and \verb|\ge| as synonyms for + \cmdX{\geq}, \verb|\nleqslant| as a synonym for \cmdX{\nleq}, and + \verb|\ngeqslant| as a synonym for \cmdX{\ngeq}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Inequalities} +\index{binary relations}\index{relational symbols>binary} +\index{inequalities} +\label{mns-inequal-rel} +\renewcommand{\arraystretch}{1.25} % Keep visually similar symbols from touching. +\begin{tabular}{*4{ll}} +\K[\MNSeqslantgtr]\eqslantgtr & \K[\MNSgtreqqless]\gtreqqless & \K[\MNSlesssim]\lesssim & \K[\MNSngtreqless]\ngtreqless \\ +\K[\MNSeqslantless]\eqslantless & \K[\MNSgtrless]\gtrless & \K[\MNSll]\ll & \K[\MNSngtreqlessslant]\ngtreqlessslant \\ +\K[\MNSgeq]\geq & \K[\MNSgtrneqqless]\gtrneqqless & \K[\MNSlll]\lll & \K[\MNSngtreqqless]\ngtreqqless \\ +\K[\MNSgeqclosed]\geqclosed & \K[\MNSgtrsim]\gtrsim & \K[\MNSlnapprox]\lnapprox & \K[\MNSngtrless]\ngtrless \\ +\K[\MNSgeqdot]\geqdot & \K[\MNSleq]\leq & \K[\MNSlneqq]\lneqq & \K[\MNSnleq]\nleq \\ +\K[\MNSgeqq]\geqq & \K[\MNSleqclosed]\leqclosed & \K[\MNSlnsim]\lnsim & \K[\MNSnleqclosed]\nleqclosed \\ +\K[\MNSgeqslant]\geqslant & \K[\MNSleqdot]\leqdot & \K[\MNSneqslantgtr]\neqslantgtr & \K[\MNSnleqdot]\nleqdot \\ +\K[\MNSgeqslantdot]\geqslantdot & \K[\MNSleqq]\leqq & \K[\MNSneqslantless]\neqslantless & \K[\MNSnleqq]\nleqq \\ +\K[\MNSgg]\gg & \K[\MNSleqslant]\leqslant & \K[\MNSngeq]\ngeq & \K[\MNSnleqslant]\nleqslant \\ +\K[\MNSggg]\ggg & \K[\MNSleqslantdot]\leqslantdot & \K[\MNSngeqclosed]\ngeqclosed & \K[\MNSnleqslantdot]\nleqslantdot \\ +\K[\MNSgnapprox]\gnapprox & \K[\MNSless]\less & \K[\MNSngeqdot]\ngeqdot & \K[\MNSnless]\nless \\ +\K[\MNSgneqq]\gneqq & \K[\MNSlessapprox]\lessapprox & \K[\MNSngeqq]\ngeqq & \K[\MNSnlessclosed]\nlessclosed \\ +\K[\MNSgnsim]\gnsim & \K[\MNSlessclosed]\lessclosed & \K[\MNSngeqslant]\ngeqslant & \K[\MNSnlessdot]\nlessdot \\ +\K[\MNSgtr]\gtr & \K[\MNSlessdot]\lessdot & \K[\MNSngeqslantdot]\ngeqslantdot & \K[\MNSnlesseqgtr]\nlesseqgtr \\ +\K[\MNSgtrapprox]\gtrapprox & \K[\MNSlesseqgtr]\lesseqgtr & \K[\MNSngg]\ngg & \K[\MNSnlesseqgtrslant]\nlesseqgtrslant \\ +\K[\MNSgtrclosed]\gtrclosed & \K[\MNSlesseqgtrslant]\lesseqgtrslant & \K[\MNSnggg]\nggg & \K[\MNSnlesseqqgtr]\nlesseqqgtr \\ +\K[\MNSgtrdot]\gtrdot & \K[\MNSlesseqqgtr]\lesseqqgtr & \K[\MNSngtr]\ngtr & \K[\MNSnlessgtr]\nlessgtr \\ +\K[\MNSgtreqless]\gtreqless & \K[\MNSlessgtr]\lessgtr & \K[\MNSngtrclosed]\ngtrclosed & \K[\MNSnll]\nll \\ +\K[\MNSgtreqlessslant]\gtreqlessslant & \K[\MNSlessneqqgtr]\lessneqqgtr & \K[\MNSngtrdot]\ngtrdot & \K[\MNSnlll]\nlll \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ additionally defines synonyms for some of the preceding symbols: + + \newcommand*{\mnssyn}[1]{(same as \texttt{\string#1})} + \renewcommand{\arraystretch}{1} + \begin{tabular}{ll@{\quad}l} + \K[\MNSggg]\gggtr & \mnssyn\ggg \\ + \K[\MNSgneqq]\gvertneqq & \mnssyn\gneqq \\ + \K[\MNSlessclosed]\lhd & \mnssyn\lessclosed \\ + \K[\MNSlll]\llless & \mnssyn\lll \\ + \K[\MNSlneqq]\lvertneqq & \mnssyn\lneqq \\ + \K[\MNSnleqclosed]\ntrianglelefteq & \mnssyn\nleqclosed \\ + \K[\MNSnlessclosed]\ntriangleleft & \mnssyn\nlessclosed \\ + \K[\MNSngeqclosed]\ntrianglerighteq & \mnssyn\ngeqclosed \\ + \K[\MNSngtrclosed]\ntriangleright & \mnssyn\ngtrclosed \\ + \K[\MNSgtrclosed]\rhd & \mnssyn\gtrclosed \\ + \K[\MNSleqclosed]\trianglelefteq & \mnssyn\leqclosed \\ + \K[\MNSgeqclosed]\trianglerighteq & \mnssyn\geqclosed \\ + \K[\MNSleqclosed]\unlhd & \mnssyn\leqclosed \\ + \K[\MNSgeqclosed]\unrhd & \mnssyn\geqclosed \\ + \K[\MNSlessclosed]\vartriangleleft & \mnssyn\lessclosed \\ + \K[\MNSgtrclosed]\vartriangleright & \mnssyn\gtrclosed \\ + \end{tabular} +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Triangle Relations} +\index{triangle relations}\index{relational symbols>triangle} +\label{ams-triangle-rel} +\begin{tabular}{*4{ll}} +\X\blacktriangleleft & \X\ntrianglelefteq & \X\trianglelefteq & \X\vartriangleleft \\ +\X\blacktriangleright & \X\ntriangleright & \X\triangleq & \X\vartriangleright \\ +\X\ntriangleleft & \X\ntrianglerighteq & \X\trianglerighteq \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Triangle Relations} +\index{triangle relations}\index{relational symbols>triangle} +\label{st-triangle-rel} +\begin{tabular}{*2{ll}} +\X\trianglelefteqslant & \X\trianglerighteqslant \\ +\X\ntrianglelefteqslant & \X\ntrianglerighteqslant \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Triangle Relations} +\index{triangle relations}\index{relational symbols>triangle} +\label{abx-triangle-rel} +\begin{tabular}{*4{ll}} +\X[\ABXntriangleleft]\ntriangleleft & \X[\ABXntrianglerighteq]\ntrianglerighteq & \X[\ABXtriangleright]\triangleright & \X[\ABXvartriangleright]\vartriangleright \\ +\X[\ABXntrianglelefteq]\ntrianglelefteq & \X[\ABXtriangleleft]\triangleleft & \X[\ABXtrianglerighteq]\trianglerighteq & \\ +\X[\ABXntriangleright]\ntriangleright & \X[\ABXtrianglelefteq]\trianglelefteq & \X[\ABXvartriangleleft]\vartriangleleft & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Triangle Relations} +\index{triangle relations}\index{relational symbols>triangle} +\label{mns-triangle-rel} +\begin{tabular}{*3{ll}} +\K[\MNSfilledmedtriangledown]\filledmedtriangledown & \K[\MNSlargetriangleup]\largetriangleup & \K[\MNSsmalltriangledown]\smalltriangledown \\ +\K[\MNSfilledmedtriangleleft]\filledmedtriangleleft & \K[\MNSmedtriangledown]\medtriangledown & \K[\MNSsmalltriangleleft]\smalltriangleleft \\ +\K[\MNSfilledmedtriangleright]\filledmedtriangleright & \K[\MNSmedtriangleleft]\medtriangleleft & \K[\MNSsmalltriangleright]\smalltriangleright \\ +\K[\MNSfilledmedtriangleup]\filledmedtriangleup & \K[\MNSmedtriangleright]\medtriangleright & \K[\MNSsmalltriangleup]\smalltriangleup \\ +\K[\MNSfilledtriangledown]\filledtriangledown & \K[\MNSmedtriangleup]\medtriangleup & \K[\MNStriangleeq]\triangleeq \\ +\K[\MNSfilledtriangleleft]\filledtriangleleft & \K[\MNSntriangleeq]\ntriangleeq & \K[\MNSleqclosed]\trianglelefteq \\ +\K[\MNSfilledtriangleright]\filledtriangleright & \K[\MNSnlessclosed]\ntriangleleft & \K[\MNSgeqclosed]\trianglerighteq \\ +\K[\MNSfilledtriangleup]\filledtriangleup & \K[\MNSnleqclosed]\ntrianglelefteq & \K[\MNSlessclosed]\vartriangleleft \\ +\K[\MNSlargetriangledown]\largetriangledown & \K[\MNSngtrclosed]\ntriangleright & \K[\MNSgtrclosed]\vartriangleright \\ +\K[\MNSlargetriangleleft]\largetriangleleft & \K[\MNSngeqclosed]\ntrianglerighteq & \\ +\K[\MNSlargetriangleright]\largetriangleright & \K[\MNSotriangle]\otriangle & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ additionally defines synonyms for many of the preceding + symbols: \cmdI[\MNStriangleeq]{\triangleq} is a synonym for + \cmdI[\MNStriangleeq]{\triangleeq}; \cmdI[\MNSlessclosed]{\lhd} and + \cmdI[\MNSlessclosed]{\lessclosed} are synonyms for + \cmdI[\MNSlessclosed]{\vartriangleleft}; \cmdI[\MNSgtrclosed]{\rhd} + and \cmdI[\MNSgtrclosed]{\gtrclosed} are synonyms for + \cmdI[\MNSgtrclosed]{\vartriangleright}; + \cmdI[\MNSleqclosed]{\unlhd} and \cmdI[\MNSleqclosed]{\leqclosed} + are synonyms for \cmdI[\MNSleqclosed]{\trianglelefteq}; + \cmdI[\MNSgeqclosed]{\unrhd} and \cmdI[\MNSgeqclosed]{\geqclosed} + are synonyms for \cmdI[\MNSgeqclosed]{\trianglerighteq}; + \cmdI[\MNSfilledmedtriangledown]{\blacktriangledown}, + \cmdI[\MNSfilledmedtriangleleft]{\blacktriangleleft}, + \cmdI[\MNSfilledmedtriangleright]{\blacktriangleright}, and + \cmdI[\MNSfilledmedtriangleup]{\blacktriangle} [\textit{sic}] are + synonyms for, respectively, + \cmdI[\MNSfilledmedtriangledown]{\filledmedtriangledown}, + \cmdI[\MNSfilledmedtriangleleft]{\filledmedtriangleleft}, + \cmdI[\MNSfilledmedtriangleright]{\filledmedtriangleright}, and + \cmdI[\MNSfilledmedtriangleup]{\filledmedtriangleup}; + \cmdI[\MNSmedtriangleright]{\triangleright} is a synonym for + \cmdI[\MNSmedtriangleright]{\medtriangleright}; + \cmdI[\MNSmedtriangleup]{\triangle}, + \cmdI[\MNSmedtriangleup]{\vartriangle}, and + \cmdI[\MNSmedtriangleup]{\bigtriangleup} are synonyms for + \cmdI[\MNSmedtriangleup]{\medtriangleup}; + \cmdI[\MNSmedtriangleleft]{\triangleleft} is a synonym for + \cmdI[\MNSmedtriangleleft]{\medtriangleleft}; + \cmdI[\MNSmedtriangledown]{\triangledown} and + \cmdI[\MNSmedtriangledown]{\bigtriangledown} are synonyms for + \cmdI[\MNSmedtriangledown]{\medtriangledown}; + \cmdI[\MNSnlessclosed]{\nlessclosed} is a synonym for + \cmdI[\MNSnlessclosed]{\ntriangleleft}; + \cmdI[\MNSngtrclosed]{\ngtrclosed} is a synonym for + \cmdI[\MNSngtrclosed]{\ntriangleright}; + \cmdI[\MNSnleqclosed]{\nleqclosed} is a synonym for + \cmdI[\MNSnleqclosed]{\ntrianglelefteq}; and + \cmdI[\MNSngeqclosed]{\ngeqclosed} is a synonym for + \cmdI[\MNSngeqclosed]{\ntrianglerighteq}. +\end{tablenote} + +\bigskip + +\begin{tablenote} + The title ``Triangle Relations'' is a bit of a misnomer here as only + \cmdI[\MNStriangleeq]{\triangleeq} and + \cmdI[\MNSntriangleeq]{\ntriangleeq} are defined as \tex\ relations + (class~3 symbols). The \verb|\largetriangle|\dots\ symbols are + defined as \tex\ ``ordinary'' characters (class~0) and all of the + remaining characters are defined as \tex\ binary operators + (class~2). +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Arrows} +\index{arrows} +\label{arrow} +\begin{tabular}{*3{ll}} +\X\Downarrow & \X\longleftarrow & \X\nwarrow \\ +\X\downarrow & \X\Longleftarrow & \X\Rightarrow \\ +\X\hookleftarrow & \X\longleftrightarrow & \X\rightarrow \\ +\X\hookrightarrow & \X\Longleftrightarrow & \X\searrow \\ +\X\leadsto$^*$ & \X\longmapsto & \X\swarrow \\ +\X\leftarrow & \X\Longrightarrow & \X\uparrow \\ +\X\Leftarrow & \X\longrightarrow & \X\Uparrow \\ +\X\Leftrightarrow & \X\mapsto & \X\updownarrow \\ +\X\leftrightarrow & \X\nearrow$^\dag$ & \X\Updownarrow \\ +\end{tabular} + +\bigskip +\notpredefinedmessage + +\bigskip +\begin{tablenote}[\dag] + See the note beneath Table~\ref{extensible-accents} for information + about how to put a diagonal arrow across a mathematical expression% +\ifhavecancel + ~(as in ``$\cancelto{0}{\nabla \cdot \vec{B}}\quad$'') +\fi +. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Harpoons} +\index{harpoons} +\label{harpoons} +\begin{tabular}{*3{ll}} +\X\leftharpoondown & \X\rightharpoondown & \X\rightleftharpoons \\ +\X\leftharpoonup & \X\rightharpoonup \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{\TC\ Text-mode Arrows} +\index{arrows} +\label{tc-arrows} +\begin{tabular}{*2{ll}} +\K\textdownarrow & \K\textrightarrow \\ +\K\textleftarrow & \K\textuparrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Arrows} +\index{arrows} +\label{ams-arrows} +\begin{tabular}{*3{ll}} +\X\circlearrowleft & \X\leftleftarrows & \X\rightleftarrows \\ +\X\circlearrowright & \X\leftrightarrows & \X\rightrightarrows \\ +\X\curvearrowleft & \X\leftrightsquigarrow & \X\rightsquigarrow \\ +\X\curvearrowright & \X\Lleftarrow & \X\Rsh \\ +\X\dashleftarrow & \X\looparrowleft & \X\twoheadleftarrow \\ +\X\dashrightarrow & \X\looparrowright & \X\twoheadrightarrow \\ +\X\downdownarrows & \X\Lsh & \X\upuparrows \\ +\X\leftarrowtail & \X\rightarrowtail & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Negated Arrows} +\index{arrows>negated} +\label{ams-narrows} +\begin{tabular}{*3{ll}} +\X\nLeftarrow & \X\nLeftrightarrow & \X\nRightarrow \\ +\X\nleftarrow & \X\nleftrightarrow & \X\nrightarrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Harpoons} +\index{harpoons} +\label{ams-harpoons} +\begin{tabular}{*3{ll}} +\X\downharpoonleft & \X\leftrightharpoons & \X\upharpoonleft \\ +\X\downharpoonright & \X[\AMSrightleftharpoons]\rightleftharpoons & \X\upharpoonright \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Arrows} +\index{arrows} +\label{st-arrows} +\begin{tabular}{*3{ll}} +\X\leftarrowtriangle & \X\Mapsfrom & \X\shortleftarrow \\ +\X\leftrightarroweq & \X\mapsfrom & \X\shortrightarrow \\ +\X\leftrightarrowtriangle & \X\Mapsto & \X\shortuparrow \\ +\X\lightning & \X\nnearrow & \X\ssearrow \\ +\X\Longmapsfrom & \X\nnwarrow & \X\sswarrow \\ +\X\longmapsfrom & \X\rightarrowtriangle \\ +\X\Longmapsto & \X\shortdownarrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Arrows} +\index{arrows} +\label{txpx-arrows} +\begin{tabular}{*3{ll}} +\X\boxdotLeft & \X\circleddotright & \X\Diamondleft \\ +\X\boxdotleft & \X\circleleft & \X\Diamondright \\ +\X\boxdotright & \X\circleright & \X\DiamondRight \\ +\X\boxdotRight & \X\dashleftrightarrow & \X\leftsquigarrow \\ +\X\boxLeft & \X\DiamonddotLeft & \X\Nearrow \\ +\X\boxleft & \X\Diamonddotleft & \X\Nwarrow \\ +\X\boxright & \X\Diamonddotright & \X\Rrightarrow \\ +\X\boxRight & \X\DiamonddotRight & \X\Searrow \\ +\X\circleddotleft & \X\DiamondLeft & \X\Swarrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Arrows} +\index{arrows} +\label{abx-arrows} +\begin{tabular}{*3{ll}} +\X[\ABXcirclearrowleft]\circlearrowleft & \X[\ABXleftarrow]\leftarrow & \X[\ABXnwarrow]\nwarrow \\ +\X[\ABXcirclearrowright]\circlearrowright & \X[\ABXleftleftarrows]\leftleftarrows & \X[\ABXrestriction]\restriction \\ +\X[\ABXcurvearrowbotleft]\curvearrowbotleft & \X[\ABXleftrightarrow]\leftrightarrow & \X[\ABXrightarrow]\rightarrow \\ +\X[\ABXcurvearrowbotleftright]\curvearrowbotleftright & \X[\ABXleftrightarrows]\leftrightarrows & \X[\ABXrightleftarrows]\rightleftarrows \\ +\X[\ABXcurvearrowbotright]\curvearrowbotright & \X[\ABXleftrightsquigarrow]\leftrightsquigarrow & \X[\ABXrightrightarrows]\rightrightarrows \\ +\X[\ABXcurvearrowleft]\curvearrowleft & \X[\ABXleftsquigarrow]\leftsquigarrow & \X[\ABXrightsquigarrow]\rightsquigarrow \\ +\X[\ABXcurvearrowleftright]\curvearrowleftright & \X[\ABXlefttorightarrow]\lefttorightarrow & \X[\ABXrighttoleftarrow]\righttoleftarrow \\ +\X[\ABXcurvearrowright]\curvearrowright & \X[\ABXlooparrowdownleft]\looparrowdownleft & \X[\ABXRsh]\Rsh \\ +\X[\ABXdlsh]\dlsh & \X[\ABXlooparrowdownright]\looparrowdownright & \X[\ABXsearrow]\searrow \\ +\X[\ABXdowndownarrows]\downdownarrows & \X[\ABXlooparrowleft]\looparrowleft & \X[\ABXswarrow]\swarrow \\ +\X[\ABXdowntouparrow]\downtouparrow & \X[\ABXlooparrowright]\looparrowright & \X[\ABXupdownarrows]\updownarrows \\ +\X[\ABXdownuparrows]\downuparrows & \X[\ABXLsh]\Lsh & \X[\ABXuptodownarrow]\uptodownarrow \\ +\X[\ABXdrsh]\drsh & \X[\ABXnearrow]\nearrow & \X[\ABXupuparrows]\upuparrows \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Negated Arrows} +\index{arrows>negated} +\label{abx-narrows} +\begin{tabular}{*3{ll}} +\X[\ABXnLeftarrow]\nLeftarrow & \X[\ABXnleftrightarrow]\nleftrightarrow & \X[\ABXnrightarrow]\nrightarrow \\ +\X[\ABXnleftarrow]\nleftarrow & \X[\ABXnLeftrightarrow]\nLeftrightarrow & \X[\ABXnRightarrow]\nRightarrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Harpoons} +\index{harpoons} +\label{abx-harpoons} +\begin{tabular}{*3{ll}} +\X[\ABXbarleftharpoon]\barleftharpoon & \X[\ABXleftharpoonup]\leftharpoonup & \X[\ABXrightleftharpoons]\rightleftharpoons \\ +\X[\ABXbarrightharpoon]\barrightharpoon & \X[\ABXleftleftharpoons]\leftleftharpoons & \X[\ABXrightrightharpoons]\rightrightharpoons \\ +\X[\ABXdowndownharpoons]\downdownharpoons & \X[\ABXleftrightharpoon]\leftrightharpoon & \X[\ABXupdownharpoons]\updownharpoons \\ +\X[\ABXdownharpoonleft]\downharpoonleft & \X[\ABXleftrightharpoons]\leftrightharpoons & \X[\ABXupharpoonleft]\upharpoonleft \\ +\X[\ABXdownharpoonright]\downharpoonright & \X[\ABXrightbarharpoon]\rightbarharpoon & \X[\ABXupharpoonright]\upharpoonright \\ +\X[\ABXdownupharpoons]\downupharpoons & \X[\ABXrightharpoondown]\rightharpoondown & \X[\ABXupupharpoons]\upupharpoons \\ +\X[\ABXleftbarharpoon]\leftbarharpoon & \X[\ABXrightharpoonup]\rightharpoonup \\ +\X[\ABXleftharpoondown]\leftharpoondown & \X[\ABXrightleftharpoon]\rightleftharpoon \\ +\end{tabular} +\end{symtable} + + +\begin{longsymtable}[MNS]{\MNS\ Arrows} +\index{arrows} +\label{mns-arrows} +\begin{longtable}{*3{ll}} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K[\MNScurvearrowdownup]\curvearrowdownup & \X[\MNSlongleftarrow]\longleftarrow & \K[\MNSrhookswarrow]\rhookswarrow \\ +\K[\MNScurvearrowleftright]\curvearrowleftright & \X[\MNSLongleftarrow]\Longleftarrow & \K[\MNSrhookuparrow]\rhookuparrow \\ +\K[\MNScurvearrownesw]\curvearrownesw & \X[\MNSlongleftrightarrow]\longleftrightarrow & \K[\MNSrightarrow]\rightarrow \\ +\K[\MNScurvearrownwse]\curvearrownwse & \X[\MNSLongleftrightarrow]\Longleftrightarrow & \K[\MNSRightarrow]\Rightarrow \\ +\K[\MNScurvearrowrightleft]\curvearrowrightleft & \X[\MNSlongmapsto]\longmapsto & \K[\MNSrightarrowtail]\rightarrowtail \\ +\K[\MNScurvearrowsenw]\curvearrowsenw & \X[\MNSlongrightarrow]\longrightarrow & \K[\MNSrightleftarrows]\rightleftarrows \\ +\K[\MNScurvearrowswne]\curvearrowswne & \X[\MNSLongrightarrow]\Longrightarrow & \K[\MNSrightlsquigarrow]\rightlsquigarrow \\ +\K[\MNScurvearrowupdown]\curvearrowupdown & \K[\MNSlooparrowleft]\looparrowleft & \K[\MNSrightmapsto]\rightmapsto \\ +\K[\MNSdasheddownarrow]\dasheddownarrow & \K[\MNSlooparrowright]\looparrowright & \K[\MNSrightrightarrows]\rightrightarrows \\ +\K[\MNSdashedleftarrow]\dashedleftarrow & \K[\MNSLsh]\Lsh & \K[\MNSrightrsquigarrow]\rightrsquigarrow \\ +\K[\MNSdashednearrow]\dashednearrow & \K[\MNSnearrow]\nearrow & \K[\MNSRrightarrow]\Rrightarrow \\ +\K[\MNSdashednwarrow]\dashednwarrow & \K[\MNSNearrow]\Nearrow & \K[\MNSRsh]\Rsh \\ +\K[\MNSdashedrightarrow]\dashedrightarrow & \K[\MNSnearrowtail]\nearrowtail & \K[\MNSsearrow]\searrow \\ +\K[\MNSdashedsearrow]\dashedsearrow & \K[\MNSnelsquigarrow]\nelsquigarrow & \K[\MNSSearrow]\Searrow \\ +\K[\MNSdashedswarrow]\dashedswarrow & \K[\MNSnemapsto]\nemapsto & \K[\MNSsearrowtail]\searrowtail \\ +\K[\MNSdasheduparrow]\dasheduparrow & \K[\MNSnenearrows]\nenearrows & \K[\MNSselsquigarrow]\selsquigarrow \\ +\K[\MNSDownarrow]\Downarrow & \K[\MNSnersquigarrow]\nersquigarrow & \K[\MNSsemapsto]\semapsto \\ +\K[\MNSdownarrow]\downarrow & \K[\MNSneswarrow]\neswarrow & \K[\MNSsenwarrows]\senwarrows \\ +\K[\MNSdownarrowtail]\downarrowtail & \K[\MNSNeswarrow]\Neswarrow & \K[\MNSsersquigarrow]\sersquigarrow \\ +\K[\MNSdowndownarrows]\downdownarrows & \K[\MNSneswarrows]\neswarrows & \K[\MNSsesearrows]\sesearrows \\ +\K[\MNSdownlsquigarrow]\downlsquigarrow & \K[\MNSnwarrow]\nwarrow & \K[\MNSsquigarrowdownup]\squigarrowdownup \\ +\K[\MNSdownmapsto]\downmapsto & \K[\MNSNwarrow]\Nwarrow & \K[\MNSsquigarrowleftright]\squigarrowleftright \\ +\K[\MNSdownrsquigarrow]\downrsquigarrow & \K[\MNSnwarrowtail]\nwarrowtail & \K[\MNSsquigarrownesw]\squigarrownesw \\ +\K[\MNSdownuparrows]\downuparrows & \K[\MNSnwlsquigarrow]\nwlsquigarrow & \K[\MNSsquigarrownwse]\squigarrownwse \\ +\K[\MNSlcirclearrowdown]\lcirclearrowdown & \K[\MNSnwmapsto]\nwmapsto & \K[\MNSsquigarrowrightleft]\squigarrowrightleft \\ +\K[\MNSlcirclearrowleft]\lcirclearrowleft & \K[\MNSnwnwarrows]\nwnwarrows & \K[\MNSsquigarrowsenw]\squigarrowsenw \\ +\K[\MNSlcirclearrowright]\lcirclearrowright & \K[\MNSnwrsquigarrow]\nwrsquigarrow & \K[\MNSsquigarrowswne]\squigarrowswne \\ +\K[\MNSlcirclearrowup]\lcirclearrowup & \K[\MNSnwsearrow]\nwsearrow & \K[\MNSsquigarrowupdown]\squigarrowupdown \\ +\K[\MNSlcurvearrowdown]\lcurvearrowdown & \K[\MNSNwsearrow]\Nwsearrow & \K[\MNSswarrow]\swarrow \\ +\K[\MNSlcurvearrowleft]\lcurvearrowleft & \K[\MNSnwsearrows]\nwsearrows & \K[\MNSSwarrow]\Swarrow \\ +\K[\MNSlcurvearrowne]\lcurvearrowne & \K[\strut\smash\MNSpartialvardlcircleleftint]\partialvardlcircleleftint$^*$ & \K[\MNSswarrowtail]\swarrowtail \\ +\K[\MNSlcurvearrownw]\lcurvearrownw & \K[\strut\smash\MNSpartialvardlcirclerightint]\partialvardlcirclerightint$^*$ & \K[\MNSswlsquigarrow]\swlsquigarrow \\ +\K[\MNSlcurvearrowright]\lcurvearrowright & \K[\strut\smash\MNSpartialvardrcircleleftint]\partialvardrcircleleftint$^*$ & \K[\MNSswmapsto]\swmapsto \\ +\K[\MNSlcurvearrowse]\lcurvearrowse & \K[\strut\smash\MNSpartialvardrcirclerightint]\partialvardrcirclerightint$^*$ & \K[\MNSswnearrows]\swnearrows \\ +\K[\MNSlcurvearrowsw]\lcurvearrowsw & \K[\strut\smash\MNSpartialvartlcircleleftint]\partialvartlcircleleftint$^*$ & \K[\MNSswrsquigarrow]\swrsquigarrow \\ +\K[\MNSlcurvearrowup]\lcurvearrowup & \K[\strut\smash\MNSpartialvartlcirclerightint]\partialvartlcirclerightint$^*$ & \K[\MNSswswarrows]\swswarrows \\ +\K[\MNSLeftarrow]\Leftarrow & \K[\strut\smash\MNSpartialvartrcircleleftint]\partialvartrcircleleftint$^*$ & \K[\MNStwoheaddownarrow]\twoheaddownarrow \\ +\K[\MNSleftarrow]\leftarrow & \K[\strut\smash\MNSpartialvartrcirclerightint]\partialvartrcirclerightint$^*$ & \K[\MNStwoheadleftarrow]\twoheadleftarrow \\ +\K[\MNSleftarrowtail]\leftarrowtail & \K[\MNSrcirclearrowdown]\rcirclearrowdown & \K[\MNStwoheadnearrow]\twoheadnearrow \\ +\K[\MNSleftleftarrows]\leftleftarrows & \K[\MNSrcirclearrowleft]\rcirclearrowleft & \K[\MNStwoheadnwarrow]\twoheadnwarrow \\ +\K[\MNSleftlsquigarrow]\leftlsquigarrow & \K[\MNSrcirclearrowright]\rcirclearrowright & \K[\MNStwoheadrightarrow]\twoheadrightarrow \\ +\K[\MNSleftmapsto]\leftmapsto & \K[\MNSrcirclearrowup]\rcirclearrowup & \K[\MNStwoheadsearrow]\twoheadsearrow \\ +\K[\MNSleftrightarrow]\leftrightarrow & \K[\MNSrcurvearrowdown]\rcurvearrowdown & \K[\MNStwoheadswarrow]\twoheadswarrow \\ +\K[\MNSLeftrightarrow]\Leftrightarrow & \K[\MNSrcurvearrowleft]\rcurvearrowleft & \K[\MNStwoheaduparrow]\twoheaduparrow \\ +\K[\MNSleftrightarrows]\leftrightarrows & \K[\MNSrcurvearrowne]\rcurvearrowne & \K[\MNSuparrow]\uparrow \\ +\K[\MNSleftrsquigarrow]\leftrsquigarrow & \K[\MNSrcurvearrownw]\rcurvearrownw & \K[\MNSUparrow]\Uparrow \\ +\K[\MNSlhookdownarrow]\lhookdownarrow & \K[\MNSrcurvearrowright]\rcurvearrowright & \K[\MNSuparrowtail]\uparrowtail \\ +\K[\MNSlhookleftarrow]\lhookleftarrow & \K[\MNSrcurvearrowse]\rcurvearrowse & \K[\MNSupdownarrow]\updownarrow \\ +\K[\MNSlhooknearrow]\lhooknearrow & \K[\MNSrcurvearrowsw]\rcurvearrowsw & \K[\MNSUpdownarrow]\Updownarrow \\ +\K[\MNSlhooknwarrow]\lhooknwarrow & \K[\MNSrcurvearrowup]\rcurvearrowup & \K[\MNSupdownarrows]\updownarrows \\ +\K[\MNSlhookrightarrow]\lhookrightarrow & \K[\MNSrhookdownarrow]\rhookdownarrow & \K[\MNSuplsquigarrow]\uplsquigarrow \\ +\K[\MNSlhooksearrow]\lhooksearrow & \K[\MNSrhookleftarrow]\rhookleftarrow & \K[\MNSupmapsto]\upmapsto \\ +\K[\MNSlhookswarrow]\lhookswarrow & \K[\MNSrhooknearrow]\rhooknearrow & \K[\MNSuprsquigarrow]\uprsquigarrow \\ +\K[\MNSlhookuparrow]\lhookuparrow & \K[\MNSrhooknwarrow]\rhooknwarrow & \K[\MNSupuparrows]\upuparrows \\ +\K[\MNSlightning]\lightning & \K[\MNSrhookrightarrow]\rhookrightarrow & \\ +\K[\MNSLleftarrow]\Lleftarrow & \K[\MNSrhooksearrow]\rhooksearrow & \\ +\end{longtable} + +\MNS\ additionally defines synonyms for some of the preceding symbols: + +\bigskip + +\newcommand*{\mnssyn}[1]{(same as \texttt{\string#1})} +\begin{tabular}{ll@{\quad}l} + \K[\MNSrcirclearrowup]\circlearrowleft & \mnssyn\rcirclearrowup \\ + \K[\MNSlcirclearrowup]\circlearrowright & \mnssyn\lcirclearrowup \\ + \K[\MNSrcurvearrowleft]\curvearrowleft & \mnssyn\rcurvearrowleft \\ + \K[\MNSlcurvearrowright]\curvearrowright & \mnssyn\lcurvearrowright \\ + \K[\MNSdashedleftarrow]\dashleftarrow & \mnssyn\dashedleftarrow \\ + \K[\MNSdashedrightarrow]\dashrightarrow & \mnssyn\dashedrightarrow \\ + \K[\MNSrhookleftarrow]\hookleftarrow & \mnssyn\rhookleftarrow \\ + \K[\MNSlhookrightarrow]\hookrightarrow & \mnssyn\lhookrightarrow \\ + \K[\MNSrightlsquigarrow]\leadsto & \mnssyn\rightlsquigarrow \\ + \K[\MNSsquigarrowleftright]\leftrightsquigarrow & \mnssyn\squigarrowleftright \\ + \K[\MNSrightmapsto]\mapsto & \mnssyn\rightmapsto \\ + \K[\MNSrightlsquigarrow]\rightsquigarrow & \mnssyn\rightlsquigarrow \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + The \verb|\partialvar|\dots\verb|int| macros are intended to be used + internally by \MNS\ to produce various types of integrals. +\end{tablenote} +\end{longsymtable} + + +\begin{longsymtable}[MNS]{\MNS\ Negated Arrows} +\index{arrows>negated} +\label{mns-narrows} +\begin{longtable}{*3{ll}} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K[\MNSncurvearrowdownup]\ncurvearrowdownup & \K[\MNSnlhooknwarrow]\nlhooknwarrow & \K[\MNSnrightleftarrows]\nrightleftarrows \\ +\K[\MNSncurvearrowleftright]\ncurvearrowleftright & \K[\MNSnlhookrightarrow]\nlhookrightarrow & \K[\MNSnrightlsquigarrow]\nrightlsquigarrow \\ +\K[\MNSncurvearrownesw]\ncurvearrownesw & \K[\MNSnlhooksearrow]\nlhooksearrow & \K[\MNSnrightmapsto]\nrightmapsto \\ +\K[\MNSncurvearrownwse]\ncurvearrownwse & \K[\MNSnlhookswarrow]\nlhookswarrow & \K[\MNSnrightrightarrows]\nrightrightarrows \\ +\K[\MNSncurvearrowrightleft]\ncurvearrowrightleft & \K[\MNSnlhookuparrow]\nlhookuparrow & \K[\MNSnrightrsquigarrow]\nrightrsquigarrow \\ +\K[\MNSncurvearrowsenw]\ncurvearrowsenw & \K[\MNSnLleftarrow]\nLleftarrow & \K[\MNSnRrightarrow]\nRrightarrow \\ +\K[\MNSncurvearrowswne]\ncurvearrowswne & \K[\MNSnnearrow]\nnearrow & \K[\MNSnSearrow]\nSearrow \\ +\K[\MNSncurvearrowupdown]\ncurvearrowupdown & \K[\MNSnNearrow]\nNearrow & \K[\MNSnsearrow]\nsearrow \\ +\K[\MNSndasheddownarrow]\ndasheddownarrow & \K[\MNSnnearrowtail]\nnearrowtail & \K[\MNSnsearrowtail]\nsearrowtail \\ +\K[\MNSndashedleftarrow]\ndashedleftarrow & \K[\MNSnnelsquigarrow]\nnelsquigarrow & \K[\MNSnselsquigarrow]\nselsquigarrow \\ +\K[\MNSndashednearrow]\ndashednearrow & \K[\MNSnnemapsto]\nnemapsto & \K[\MNSnsemapsto]\nsemapsto \\ +\K[\MNSndashednwarrow]\ndashednwarrow & \K[\MNSnnenearrows]\nnenearrows & \K[\MNSnsenwarrows]\nsenwarrows \\ +\K[\MNSndashedrightarrow]\ndashedrightarrow & \K[\MNSnnersquigarrow]\nnersquigarrow & \K[\MNSnsersquigarrow]\nsersquigarrow \\ +\K[\MNSndashedsearrow]\ndashedsearrow & \K[\MNSnNeswarrow]\nNeswarrow & \K[\MNSnsesearrows]\nsesearrows \\ +\K[\MNSndashedswarrow]\ndashedswarrow & \K[\MNSnneswarrow]\nneswarrow & \K[\MNSnsquigarrowdownup]\nsquigarrowdownup \\ +\K[\MNSndasheduparrow]\ndasheduparrow & \K[\MNSnneswarrows]\nneswarrows & \K[\MNSnsquigarrowleftright]\nsquigarrowleftright \\ +\K[\MNSndownarrow]\ndownarrow & \K[\MNSnNwarrow]\nNwarrow & \K[\MNSnsquigarrownesw]\nsquigarrownesw \\ +\K[\MNSnDownarrow]\nDownarrow & \K[\MNSnnwarrow]\nnwarrow & \K[\MNSnsquigarrownwse]\nsquigarrownwse \\ +\K[\MNSndownarrowtail]\ndownarrowtail & \K[\MNSnnwarrowtail]\nnwarrowtail & \K[\MNSnsquigarrowrightleft]\nsquigarrowrightleft \\ +\K[\MNSndowndownarrows]\ndowndownarrows & \K[\MNSnnwlsquigarrow]\nnwlsquigarrow & \K[\MNSnsquigarrowsenw]\nsquigarrowsenw \\ +\K[\MNSndownlsquigarrow]\ndownlsquigarrow & \K[\MNSnnwmapsto]\nnwmapsto & \K[\MNSnsquigarrowswne]\nsquigarrowswne \\ +\K[\MNSndownmapsto]\ndownmapsto & \K[\MNSnnwnwarrows]\nnwnwarrows & \K[\MNSnsquigarrowupdown]\nsquigarrowupdown \\ +\K[\MNSndownrsquigarrow]\ndownrsquigarrow & \K[\MNSnnwrsquigarrow]\nnwrsquigarrow & \K[\MNSnswarrow]\nswarrow \\ +\K[\MNSndownuparrows]\ndownuparrows & \K[\MNSnnwsearrow]\nnwsearrow & \K[\MNSnSwarrow]\nSwarrow \\ +\K[\MNSnlcirclearrowdown]\nlcirclearrowdown & \K[\MNSnNwsearrow]\nNwsearrow & \K[\MNSnswarrowtail]\nswarrowtail \\ +\K[\MNSnlcirclearrowleft]\nlcirclearrowleft & \K[\MNSnnwsearrows]\nnwsearrows & \K[\MNSnswlsquigarrow]\nswlsquigarrow \\ +\K[\MNSnlcirclearrowright]\nlcirclearrowright & \K[\MNSnrcirclearrowdown]\nrcirclearrowdown & \K[\MNSnswmapsto]\nswmapsto \\ +\K[\MNSnlcirclearrowup]\nlcirclearrowup & \K[\MNSnrcirclearrowleft]\nrcirclearrowleft & \K[\MNSnswnearrows]\nswnearrows \\ +\K[\MNSnlcurvearrowdown]\nlcurvearrowdown & \K[\MNSnrcirclearrowright]\nrcirclearrowright & \K[\MNSnswrsquigarrow]\nswrsquigarrow \\ +\K[\MNSnlcurvearrowleft]\nlcurvearrowleft & \K[\MNSnrcirclearrowup]\nrcirclearrowup & \K[\MNSnswswarrows]\nswswarrows \\ +\K[\MNSnlcurvearrowne]\nlcurvearrowne & \K[\MNSnrcurvearrowdown]\nrcurvearrowdown & \K[\MNSntwoheaddownarrow]\ntwoheaddownarrow \\ +\K[\MNSnlcurvearrownw]\nlcurvearrownw & \K[\MNSnrcurvearrowleft]\nrcurvearrowleft & \K[\MNSntwoheadleftarrow]\ntwoheadleftarrow \\ +\K[\MNSnlcurvearrowright]\nlcurvearrowright & \K[\MNSnrcurvearrowne]\nrcurvearrowne & \K[\MNSntwoheadnearrow]\ntwoheadnearrow \\ +\K[\MNSnlcurvearrowse]\nlcurvearrowse & \K[\MNSnrcurvearrownw]\nrcurvearrownw & \K[\MNSntwoheadnwarrow]\ntwoheadnwarrow \\ +\K[\MNSnlcurvearrowsw]\nlcurvearrowsw & \K[\MNSnrcurvearrowright]\nrcurvearrowright & \K[\MNSntwoheadrightarrow]\ntwoheadrightarrow \\ +\K[\MNSnlcurvearrowup]\nlcurvearrowup & \K[\MNSnrcurvearrowse]\nrcurvearrowse & \K[\MNSntwoheadsearrow]\ntwoheadsearrow \\ +\K[\MNSnLeftarrow]\nLeftarrow & \K[\MNSnrcurvearrowsw]\nrcurvearrowsw & \K[\MNSntwoheadswarrow]\ntwoheadswarrow \\ +\K[\MNSnleftarrow]\nleftarrow & \K[\MNSnrcurvearrowup]\nrcurvearrowup & \K[\MNSntwoheaduparrow]\ntwoheaduparrow \\ +\K[\MNSnleftarrowtail]\nleftarrowtail & \K[\MNSnrhookdownarrow]\nrhookdownarrow & \K[\MNSnuparrow]\nuparrow \\ +\K[\MNSnleftleftarrows]\nleftleftarrows & \K[\MNSnrhookleftarrow]\nrhookleftarrow & \K[\MNSnUparrow]\nUparrow \\ +\K[\MNSnleftlsquigarrow]\nleftlsquigarrow & \K[\MNSnrhooknearrow]\nrhooknearrow & \K[\MNSnuparrowtail]\nuparrowtail \\ +\K[\MNSnleftmapsto]\nleftmapsto & \K[\MNSnrhooknwarrow]\nrhooknwarrow & \K[\MNSnupdownarrow]\nupdownarrow \\ +\K[\MNSnleftrightarrow]\nleftrightarrow & \K[\MNSnrhookrightarrow]\nrhookrightarrow & \K[\MNSnUpdownarrow]\nUpdownarrow \\ +\K[\MNSnLeftrightarrow]\nLeftrightarrow & \K[\MNSnrhooksearrow]\nrhooksearrow & \K[\MNSnupdownarrows]\nupdownarrows \\ +\K[\MNSnleftrightarrows]\nleftrightarrows & \K[\MNSnrhookswarrow]\nrhookswarrow & \K[\MNSnuplsquigarrow]\nuplsquigarrow \\ +\K[\MNSnleftrsquigarrow]\nleftrsquigarrow & \K[\MNSnrhookuparrow]\nrhookuparrow & \K[\MNSnupmapsto]\nupmapsto \\ +\K[\MNSnlhookdownarrow]\nlhookdownarrow & \K[\MNSnrightarrow]\nrightarrow & \K[\MNSnuprsquigarrow]\nuprsquigarrow \\ +\K[\MNSnlhookleftarrow]\nlhookleftarrow & \K[\MNSnRightarrow]\nRightarrow & \K[\MNSnupuparrows]\nupuparrows \\ +\K[\MNSnlhooknearrow]\nlhooknearrow & \K[\MNSnrightarrowtail]\nrightarrowtail & \\ +\end{longtable} +\MNS\ additionally defines synonyms for some of the preceding symbols: + +\bigskip + +\newcommand*{\mnssyn}[1]{(same as \texttt{\string#1})} +\begin{tabular}{ll@{\quad}l} + \K[\MNSnrcirclearrowup]\ncirclearrowleft & \mnssyn\nrcirclearrowup \\ + \K[\MNSnlcirclearrowup]\ncirclearrowright & \mnssyn\nlcirclearrowup \\ + \K[\MNSnrcurvearrowleft]\ncurvearrowleft & \mnssyn\nrcurvearrowleft \\ + \K[\MNSnlcurvearrowright]\ncurvearrowright & \mnssyn\nlcurvearrowright \\ + \K[\MNSndashedrightarrow]\ndasharrow & \mnssyn\ndashedrightarrow \\ + \K[\MNSndashedleftarrow]\ndashleftarrow & \mnssyn\ndashedleftarrow \\ + \K[\MNSndashedrightarrow]\ndashrightarrow & \mnssyn\ndashedrightarrow \\ + \K[\MNSnleftarrow]\ngets & \mnssyn\nleftarrow \\ + \K[\MNSnrhookleftarrow]\nhookleftarrow & \mnssyn\nrhookleftarrow \\ + \K[\MNSnlhookrightarrow]\nhookrightarrow & \mnssyn\nlhookrightarrow \\ + \K[\MNSnrightlsquigarrow]\nleadsto & \mnssyn\nrightlsquigarrow \\ + \K[\MNSnsquigarrowleftright]\nleftrightsquigarrow & \mnssyn\nsquigarrowleftright \\ + \K[\MNSnrightmapsto]\nmapsto & \mnssyn\nrightmapsto \\ + \K[\MNSnrightlsquigarrow]\nrightsquigarrow & \mnssyn\nrightlsquigarrow \\ + \K[\MNSnrightarrow]\nto & \mnssyn\nrightarrow \\ +\end{tabular} +\end{longsymtable} + + +\begin{symtable}[MNS]{\MNS\ Harpoons} +\index{harpoons} +\label{mns-harpoons} +\begin{tabular}{*3{ll}} +\K[\MNSdownharpoonccw]\downharpoonccw$^*$ & \K[\MNSneswharpoons]\neswharpoons & \K[\MNSseharpooncw]\seharpooncw \\ +\K[\MNSdownharpooncw]\downharpooncw$^*$ & \K[\MNSneswharpoonsenw]\neswharpoonsenw & \K[\MNSsenwharpoons]\senwharpoons \\ +\K[\MNSdownupharpoons]\downupharpoons & \K[\MNSnwharpoonccw]\nwharpoonccw & \K[\MNSswharpoonccw]\swharpoonccw \\ +\K[\MNSleftharpoonccw]\leftharpoonccw$^*$ & \K[\MNSnwharpooncw]\nwharpooncw & \K[\MNSswharpooncw]\swharpooncw \\ +\K[\MNSleftharpooncw]\leftharpooncw$^*$ & \K[\MNSnwseharpoonnesw]\nwseharpoonnesw & \K[\MNSswneharpoons]\swneharpoons \\ +\K[\MNSleftrightharpoondownup]\leftrightharpoondownup & \K[\MNSnwseharpoons]\nwseharpoons & \K[\MNSupdownharpoonleftright]\updownharpoonleftright \\ +\K[\MNSleftrightharpoons]\leftrightharpoons & \K[\MNSnwseharpoonswne]\nwseharpoonswne & \K[\MNSupdownharpoonrightleft]\updownharpoonrightleft \\ +\K[\MNSleftrightharpoonupdown]\leftrightharpoonupdown & \K[\MNSrightharpoonccw]\rightharpoonccw$^*$ & \K[\MNSupdownharpoons]\updownharpoons \\ +\K[\MNSneharpoonccw]\neharpoonccw & \K[\MNSrightharpooncw]\rightharpooncw$^*$ & \K[\MNSupharpoonccw]\upharpoonccw$^*$ \\ +\K[\MNSneharpooncw]\neharpooncw & \K[\MNSrightleftharpoons]\rightleftharpoons & \K[\MNSupharpooncw]\upharpooncw$^*$ \\ +\K[\MNSneswharpoonnwse]\neswharpoonnwse & \K[\MNSseharpoonccw]\seharpoonccw & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + Where marked, the ``\verb|ccw|'' suffix can be replaced with + ``\verb|up|'' and the ``\verb|cw|'' suffix can be replaced with + ``\verb|down|''. (In addition, \cmdI[\MNSupharpooncw]{\upharpooncw} + can be written as \cmdI[\MNSupharpooncw]{\restriction}.) +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Negated Harpoons} +\index{harpoons} +\label{mns-nharpoons} +\begin{tabular}{*3{ll}} +\K[\MNSndownharpoonccw]\ndownharpoonccw$^*$ & \K[\MNSnneswharpoons]\nneswharpoons & \K[\MNSnseharpooncw]\nseharpooncw \\ +\K[\MNSndownharpooncw]\ndownharpooncw$^*$ & \K[\MNSnneswharpoonsenw]\nneswharpoonsenw & \K[\MNSnsenwharpoons]\nsenwharpoons \\ +\K[\MNSndownupharpoons]\ndownupharpoons & \K[\MNSnnwharpoonccw]\nnwharpoonccw & \K[\MNSnswharpoonccw]\nswharpoonccw \\ +\K[\MNSnleftharpoonccw]\nleftharpoonccw$^*$ & \K[\MNSnnwharpooncw]\nnwharpooncw & \K[\MNSnswharpooncw]\nswharpooncw \\ +\K[\MNSnleftharpooncw]\nleftharpooncw$^*$ & \K[\MNSnnwseharpoonnesw]\nnwseharpoonnesw & \K[\MNSnswneharpoons]\nswneharpoons \\ +\K[\MNSnleftrightharpoondownup]\nleftrightharpoondownup & \K[\MNSnnwseharpoons]\nnwseharpoons & \K[\MNSnupdownharpoonleftright]\nupdownharpoonleftright \\ +\K[\MNSnleftrightharpoons]\nleftrightharpoons & \K[\MNSnnwseharpoonswne]\nnwseharpoonswne & \K[\MNSnupdownharpoonrightleft]\nupdownharpoonrightleft \\ +\K[\MNSnleftrightharpoonupdown]\nleftrightharpoonupdown & \K[\MNSnrightharpoonccw]\nrightharpoonccw$^*$ & \K[\MNSnupdownharpoons]\nupdownharpoons \\ +\K[\MNSnneharpoonccw]\nneharpoonccw & \K[\MNSnrightharpooncw]\nrightharpooncw$^*$ & \K[\MNSnupharpoonccw]\nupharpoonccw$^*$ \\ +\K[\MNSnneharpooncw]\nneharpooncw & \K[\MNSnrightleftharpoons]\nrightleftharpoons & \K[\MNSnupharpooncw]\nupharpooncw$^*$ \\ +\K[\MNSnneswharpoonnwse]\nneswharpoonnwse & \K[\MNSnseharpoonccw]\nseharpoonccw & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + Where marked, the ``\verb|ccw|'' suffix can be replaced with + ``\verb|up|'' and the ``\verb|cw|'' suffix can be replaced with + ``\verb|down|''. (In addition, \cmdI[\MNSnupharpooncw]{\nupharpooncw} + can be written as \cmdI[\MNSnupharpooncw]{\nrestriction}.) +\end{tablenote} +\end{symtable} + + +\begin{symtable}[CHEMB]{\CHEMB\ Arrows} +\index{arrows} +\label{chemarrow-arrows} +\begin{tabular}{ll} +\X\chemarrow +\end{tabular} +\end{symtable} + + +\begin{symtable}[FGE]{\FGE\ Arrows} +\index{arrows} +\idxboth{fletched}{arrows} +\idxboth{Frege logic}{symbols} +\label{fge-arrows} +\begin{tabular}{ll@{\qquad}ll} +\K\fgerightarrow & \K\fgeuparrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Spoons} +\index{binary relations} +\index{relational symbols>binary} +\idxboth{spoon}{symbols} +\label{mns-spoons} +\begin{tabular}{*3{ll}} +\K[\MNSdownfilledspoon]\downfilledspoon & \K[\MNSnnespoon]\nnespoon & \K[\MNSnwfilledspoon]\nwfilledspoon \\ +\K[\MNSdownspoon]\downspoon & \K[\MNSnnwfilledspoon]\nnwfilledspoon & \K[\MNSnwspoon]\nwspoon \\ +\K[\MNSleftfilledspoon]\leftfilledspoon & \K[\MNSnnwspoon]\nnwspoon & \K[\MNSrightfilledspoon]\rightfilledspoon \\ +\K[\MNSleftspoon]\leftspoon & \K[\MNSnrightfilledspoon]\nrightfilledspoon & \K[\MNSrightspoon]\rightspoon$^*$ \\ +\K[\MNSndownfilledspoon]\ndownfilledspoon & \K[\MNSnrightspoon]\nrightspoon$^*$ & \K[\MNSsefilledspoon]\sefilledspoon \\ +\K[\MNSndownspoon]\ndownspoon & \K[\MNSnsefilledspoon]\nsefilledspoon & \K[\MNSsespoon]\sespoon \\ +\K[\MNSnefilledspoon]\nefilledspoon & \K[\MNSnsespoon]\nsespoon & \K[\MNSswfilledspoon]\swfilledspoon \\ +\K[\MNSnespoon]\nespoon & \K[\MNSnswfilledspoon]\nswfilledspoon & \K[\MNSswspoon]\swspoon \\ +\K[\MNSnleftfilledspoon]\nleftfilledspoon & \K[\MNSnswspoon]\nswspoon & \K[\MNSupfilledspoon]\upfilledspoon \\ +\K[\MNSnleftspoon]\nleftspoon & \K[\MNSnupfilledspoon]\nupfilledspoon & \K[\MNSupspoon]\upspoon \\ +\K[\MNSnnefilledspoon]\nnefilledspoon & \K[\MNSnupspoon]\nupspoon & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \MNS\ defines \cmdI[\MNSrightspoon]{\multimap} as a synonym for + \cmdI[\MNSrightspoon]{\rightspoon} and + \cmdI[\MNSnrightspoon]{\nmultimap} as a synonym for + \cmdI[\MNSnrightspoon]{\nrightspoon}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Pitchforks} +\index{binary relations} +\index{relational symbols>binary} +\idxboth{pitchfork}{symbols} +\label{mns-pitchforks} +\begin{tabular}{*3{ll}} +\K[\MNSdownpitchfork]\downpitchfork & \K[\MNSnnwpitchfork]\nnwpitchfork & \K[\MNSrightpitchfork]\rightpitchfork \\ +\K[\MNSleftpitchfork]\leftpitchfork & \K[\MNSnrightpitchfork]\nrightpitchfork & \K[\MNSsepitchfork]\sepitchfork \\ +\K[\MNSndownpitchfork]\ndownpitchfork & \K[\MNSnsepitchfork]\nsepitchfork & \K[\MNSswpitchfork]\swpitchfork \\ +\K[\MNSnepitchfork]\nepitchfork & \K[\MNSnswpitchfork]\nswpitchfork & \K[\MNSuppitchfork]\uppitchfork \\ +\K[\MNSnleftpitchfork]\nleftpitchfork & \K[\MNSnuppitchfork]\nuppitchfork & \\ +\K[\MNSnnepitchfork]\nnepitchfork & \K[\MNSnwpitchfork]\nwpitchfork & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \MNS\ defines \cmdI[\MNSuppitchfork]{\pitchfork} as a synonym for + \cmdI[\MNSuppitchfork]{\uppitchfork} and + \cmdI[\MNSnuppitchfork]{\npitchfork} as a synonym for + \cmdI[\MNSnuppitchfork]{\nuppitchfork}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Smiles and Frowns} +\index{binary relations} +\index{relational symbols>binary} +\idxboth{smile}{symbols} +\idxboth{frown}{symbols} +\label{mns-smile-frown} +\begin{tabular}{*3{ll}} +\K[\MNSdoublefrown]\doublefrown & \K[\MNSnsmileeq]\nsmileeq & \K[\MNSsmileeq]\smileeq \\ +\K[\MNSdoublefrowneq]\doublefrowneq & \K[\MNSnsmileeqfrown]\nsmileeqfrown & \K[\MNSsmileeqfrown]\smileeqfrown \\ +\K[\MNSdoublesmile]\doublesmile & \K[\MNSnsmilefrown]\nsmilefrown & \K[\MNSsmilefrown]\smilefrown \\ +\K[\MNSdoublesmileeq]\doublesmileeq & \K[\MNSnsmilefrowneq]\nsmilefrowneq & \K[\MNSsmilefrowneq]\smilefrowneq \\ +\K[\MNSeqfrown]\eqfrown & \K[\MNSnsqdoublefrown]\nsqdoublefrown & \K[\MNSsqdoublefrown]\sqdoublefrown \\ +\K[\MNSeqsmile]\eqsmile & \K[\MNSnsqdoublefrowneq]\nsqdoublefrowneq & \K[\MNSsqdoublefrowneq]\sqdoublefrowneq \\ +\K[\MNSfrown]\frown & \K[\MNSnsqdoublesmile]\nsqdoublesmile & \K[\MNSsqdoublesmile]\sqdoublesmile \\ +\K[\MNSfrowneq]\frowneq & \K[\MNSnsqdoublesmileeq]\nsqdoublesmileeq & \K[\MNSsqdoublesmileeq]\sqdoublesmileeq \\ +\K[\MNSfrowneqsmile]\frowneqsmile & \K[\MNSnsqeqfrown]\nsqeqfrown & \K[\MNSsqeqfrown]\sqeqfrown \\ +\K[\MNSfrownsmile]\frownsmile & \K[\MNSnsqeqsmile]\nsqeqsmile & \K[\MNSsqeqsmile]\sqeqsmile \\ +\K[\MNSfrownsmileeq]\frownsmileeq & \K[\MNSnsqfrown]\nsqfrown & \K[\MNSsqfrown]\sqfrown \\ +\K[\MNSndoublefrown]\ndoublefrown & \K[\MNSnsqfrowneq]\nsqfrowneq & \K[\MNSsqfrowneq]\sqfrowneq \\ +\K[\MNSndoublefrowneq]\ndoublefrowneq & \K[\MNSnsqfrowneqsmile]\nsqfrowneqsmile & \K[\MNSsqfrowneqsmile]\sqfrowneqsmile \\ +\K[\MNSndoublesmile]\ndoublesmile & \K[\MNSnsqfrownsmile]\nsqfrownsmile & \K[\MNSsqfrownsmile]\sqfrownsmile \\ +\K[\MNSndoublesmileeq]\ndoublesmileeq & \K[\MNSnsqsmile]\nsqsmile & \K[\MNSsqsmile]\sqsmile \\ +\K[\MNSneqfrown]\neqfrown & \K[\MNSnsqsmileeq]\nsqsmileeq & \K[\MNSsqsmileeq]\sqsmileeq \\ +\K[\MNSneqsmile]\neqsmile & \K[\MNSnsqsmileeqfrown]\nsqsmileeqfrown & \K[\MNSsqsmileeqfrown]\sqsmileeqfrown \\ +\K[\MNSnfrown]\nfrown & \K[\MNSnsqsmilefrown]\nsqsmilefrown & \K[\MNSsqsmilefrown]\sqsmilefrown \\ +\K[\MNSnfrowneq]\nfrowneq & \K[\MNSnsqtriplefrown]\nsqtriplefrown & \K[\MNSsqtriplefrown]\sqtriplefrown \\ +\K[\MNSnfrowneqsmile]\nfrowneqsmile & \K[\MNSnsqtriplesmile]\nsqtriplesmile & \K[\MNSsqtriplesmile]\sqtriplesmile \\ +\K[\MNSnfrownsmile]\nfrownsmile & \K[\MNSntriplefrown]\ntriplefrown & \K[\MNStriplefrown]\triplefrown \\ +\K[\MNSnfrownsmileeq]\nfrownsmileeq & \K[\MNSntriplesmile]\ntriplesmile & \K[\MNStriplesmile]\triplesmile \\ +\K[\MNSnsmile]\nsmile & \K[\MNSsmile]\smile & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \MNS\ defines \cmdI[\MNSsmile]{\smallsmile} as a synonym for + \cmdI[\MNSsmile]{\smile}, \cmdI[\MNSfrown]{\smallfrown} as a synonym + for \cmdI[\MNSfrown]{\frown}, \cmdI[\MNSsmilefrown]{\asymp} as a + synonym for \cmdI[\MNSsmilefrown]{\smilefrown}, and + \cmdI[\MNSnsmilefrown]{\nasymp} as a synonym for + \cmdI[\MNSnsmilefrown]{\nsmilefrown}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ULSY]{\ULSY\ Contradiction Symbols} +\idxboth{contradiction}{symbols} +\label{ulsy}\medskip +\begin{tabular}{*6{ll}} +\K\blitza & \K\blitzb & \K\blitzc & \K\blitzd & \K\blitze \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Extension Characters} +\index{extension characters} +\label{ext} +\begin{tabular}{*2{ll}} +\X\relbar & \X\Relbar \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Extension Characters} +\index{extension characters} +\label{st-ext} +\begin{tabular}{*3{ll}} +\X\Arrownot &\X\Mapsfromchar &\X\Mapstochar \\ +\X\arrownot &\X\mapsfromchar +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Extension Characters} +\index{extension characters} +\label{txpx-ext} +\begin{tabular}{*3{ll}} +\X\Mappedfromchar & \X\Mmappedfromchar & \X\Mmapstochar \\ +\X\mappedfromchar & \X\mmappedfromchar & \X\mmapstochar \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Extension Characters} +\index{extension characters} +\label{abx-ext} +\begin{tabular}{*3{ll}} +\X[\ABXmapsfromchar]\mapsfromchar & \X[\ABXmapstochar]\mapstochar \\ +\X[\ABXMapsfromchar]\Mapsfromchar & \X[\ABXMapstochar]\Mapstochar \\ +\end{tabular} +\end{symtable} + + + +\begin{symtable}{Log-like Symbols} +\idxboth{log-like}{symbols} +\index{atomic math objects} +\index{limits} +\label{log} +\begin{tabular}{*8l} +\Z\arccos & \Z\cos & \Z\csc & \Z\exp & \Z\ker & \Z\limsup & \Z\min & \Z\sinh \\ +\Z\arcsin & \Z\cosh & \Z\deg & \Z\gcd & \Z\lg & \Z\ln & \Z\Pr & \Z\sup \\ +\Z\arctan & \Z\cot & \Z\det & \Z\hom & \Z\lim & \Z\log & \Z\sec & \Z\tan \\ +\Z\arg & \Z\coth & \Z\dim & \Z\inf & \Z\liminf & \Z\max & \Z\sin & \Z\tanh +\end{tabular} + +\bigskip +\begin{tablenote} + Calling the above ``symbols'' may be a bit + misleading.\footnotemark{} Each log-like symbol merely produces the + eponymous textual equivalent, but with proper surrounding spacing. + See Section~\ref{math-spacing} for more information about log-like + symbols. As \cmd{\bmod} and \cmd{\pmod} are arguably not symbols we + refer the reader to the Short Math Guide for + \latex~\cite{Downes:smg} for samples. +\end{tablenote} +\end{symtable} +\footnotetext{Michael\index{Downes, Michael J.} J. Downes prefers the +more general term, ``atomic\index{atomic math objects} math objects''.} + + +\begin{symtable}[AMS]{\AMS\ Log-like Symbols} +\idxboth{log-like}{symbols} +\index{atomic math objects} +\index{limits} +\label{ams-log} +\renewcommand{\arraystretch}{1.5} % Keep tall symbols from touching. +\begin{tabular}{*2{ll@{\qquad}}ll} +\X\injlim & \X\varinjlim & \X\varlimsup \\ +\X\projlim & \X\varliminf & \X\varprojlim +\end{tabular} + +\bigskip +\begin{tablenote} + Load the \pkgname{amsmath} package to get these symbols. See + Section~\ref{math-spacing} for some additional comments regarding + log-like symbols. As \cmd{\mod} and \cmd{\pod} are arguably not + symbols we refer the reader to the Short Math Guide for + \latex~\cite{Downes:smg} for samples. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Greek Letters} +\index{Greek}\index{alphabets>Greek} +\label{greek} +\begin{tabular}{*8l} +\X\alpha &\X\theta &\X o &\X\tau \\ +\X\beta &\X\vartheta &\X\pi &\X\upsilon \\ +\X\gamma &\X\iota &\X\varpi &\X\phi \\ +\X\delta &\X\kappa &\X\rho &\X\varphi \\ +\X\epsilon &\X\lambda &\X\varrho &\X\chi \\ +\X\varepsilon &\X\mu &\X\sigma &\X\psi \\ +\X\zeta &\X\nu &\X\varsigma &\X\omega \\ +\X\eta &\X\xi \\ + \\ +\X\Gamma &\X\Lambda &\X\Sigma &\X\Psi \\ +\X\Delta &\X\Xi &\X\Upsilon &\X\Omega \\ +\X\Theta &\X\Pi &\X\Phi +\end{tabular} + +\bigskip +\begin{tablenote} + The remaining Greek majuscules\index{majuscules} can be produced + with ordinary Latin letters. The symbol ``M'', for instance, is + used for both an uppercase ``m'' and an uppercase ``$\mu$''. See + Section~\ref{bold-math} for examples of how to produce bold Greek + letters.\index{Greek>bold} +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Greek Letters} +\index{Greek}\index{alphabets>Greek} +\label{ams-greek} +\begin{tabular}{*4l} +\X\digamma &\X\varkappa +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Upright Greek Letters} +\index{Greek}\index{alphabets>Greek} +\index{Greek>upright} +\index{upright Greek letters} +\label{txpx-greek} +\begin{tabular}{*4{ll}} +\X\alphaup & \X\thetaup & \X\piup & \X\phiup \\ +\X\betaup & \X\varthetaup & \X\varpiup & \X\varphiup \\ +\X\gammaup & \X\iotaup & \X\rhoup & \X\chiup \\ +\X\deltaup & \X\kappaup & \X\varrhoup & \X\psiup \\ +\X\epsilonup & \X\lambdaup & \X\sigmaup & \X\omegaup \\ +\X\varepsilonup & \X\muup & \X\varsigmaup \\ +\X\zetaup & \X\nuup & \X\tauup \\ +\X\etaup & \X\xiup & \X\upsilonup \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[UPGR]{\UPGR\ Upright Greek Letters} +\index{Greek}\index{alphabets>Greek} +\index{Greek>upright} +\index{upright Greek letters} +\label{upgreek-greek} +\begin{tabular}{*4{ll}} +\K\upalpha & \K\uptheta & \K\uppi & \K\upphi \\ +\K\upbeta & \K\upvartheta & \K\upvarpi & \K\upvarphi \\ +\K\upgamma & \K\upiota & \K\uprho & \K\upchi \\ +\K\updelta & \K\upkappa & \K\upvarrho & \K\uppsi \\ +\K\upepsilon & \K\uplambda & \K\upsigma & \K\upomega \\ +\K\upvarepsilon & \K\upmu & \K\upvarsigma \\ +\K\upzeta & \K\upnu & \K\uptau \\ +\K\upeta & \K\upxi & \K\upupsilon \\ + \\ +\K\Upgamma & \K\Uplambda & \K\Upsigma & \K\Uppsi \\ +\K\Updelta & \K\Upxi & \K\Upupsilon & \K\Upomega \\ +\K\Uptheta & \K\Uppi & \K\Upphi \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \UPGR\ utilizes upright Greek characters from either the + \postscript \PSfont{Symbol} font (depicted above) or Euler + Roman.\index{Euler Roman} As a result, the glyphs may appear + slightly different from the above. Contrast, for example, + ``\Upgamma\Updelta\Uptheta\upalpha\upbeta\upgamma''~(Symbol) with + ``{\usefont{U}{eur}{m}{n}\char"00\char"01\char"02\char"0B\char"0C\char"0D}''~(Euler). +\end{tablenote} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Variant Latin Letters} +\index{letters>variant Latin} +\label{txpx-variant} +\begin{tabular}{*3{ll@{\qquad}}ll} +\X\varg & \X\varv & \X\varw & \X\vary \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \newcommand*{\txital}[1]{{\usefont{T1}{txr}{m}{it}#1}} + Pass the \optname{txfonts/pxfonts}{varg} option to \TXPX\ to + replace~\txital{g}, \txital{v}, \txital{w}, and~\txital{y} + with~$\varg$, $\varv$, $\varw$, and~$\vary$ in every mathematical + expression in your document. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Hebrew Letters} +\index{Hebrew}\index{alphabets>Hebrew} +\label{ams-hebrew} +\begin{tabular}{*6l} +\X\beth & \X\gimel & \X\daleth +\end{tabular} + +\bigskip +\begin{tablenote} +\cmdX{\aleph}~($\aleph$) appears in Table~\vref{ord}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Hebrew Letters} +\index{Hebrew}\index{alphabets>Hebrew} +\label{mns-hebrew} +\begin{tabular}{*8l} +\K[\MNSaleph]\aleph & \K[\MNSbeth]\beth & \K[\MNSgimel]\gimel & \K[\MNSdaleth]\daleth +\end{tabular} +\end{symtable} + + +\begin{symtable}{Letter-like Symbols} +\idxboth{letter-like}{symbols} +\index{tacks} +\label{letter-like} +\begin{tabular}{*5{ll}} +\X\bot & \X\forall & \X\imath & \X\ni & \X\top \\ +\X\ell & \X\hbar & \X\in & \X\partial & \X\wp \\ +\X\exists & \X\Im & \X\jmath & \X\Re \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Letter-like Symbols} +\idxboth{letter-like}{symbols} +\label{ams-letter-like} +\begin{tabular}{*3{ll}} +\X\Bbbk & \X\complement & \X\hbar \\ +\X\circledR & \X\Finv & \X\hslash \\ +\X\circledS & \X\Game & \X\nexists \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[TX]{\TXPX\ Letter-like Symbols} +\idxboth{letter-like}{symbols} +\label{txpx-letter-like} +\begin{tabular}{*4{ll}} +\X\mathcent & \X\mathsterling$^*$ & \X\notin & \X\notni \\ +\end{tabular} + +\bigskip +\usetextmathmessage[*] + +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Letter-like Symbols} +\idxboth{letter-like}{symbols} +\label{abx-letter-like} +\begin{tabular}{*4{ll}} +\X[\ABXbarin]\barin & \X[\ABXin]\in & \X[\ABXnottop]\nottop & \X[\ABXvarnotin]\varnotin \\ +\X[\ABXcomplement]\complement & \X[\ABXnexists]\nexists & \X[\ABXowns]\owns & \X[\ABXvarnotowner]\varnotowner \\ +\X[\ABXexists]\exists & \X[\ABXnotbot]\notbot & \X[\ABXownsbar]\ownsbar \\ +\X[\ABXFinv]\Finv & \X[\ABXnotin]\notin & \X[\ABXpartial]\partial \\ +\X[\ABXGame]\Game & \X[\ABXnotowner]\notowner & \X[\ABXpartialslash]\partialslash \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Letter-like Symbols} +\idxboth{letter-like}{symbols} +\label{mns-letter-like} +\begin{tabular}{*4{ll}} +\K[\MNSbot]\bot & \K[\MNSin]\in & \K[\MNSnowns]\nowns$^*$ & \K[\MNStop]\top \\ +\K[\MNSexists]\exists & \K[\MNSnexists]\nexists & \K[\MNSowns]\owns & \K[\MNSwp]\wp \\ +\K[\MNSforall]\forall & \K[\MNSnin]\nin$^*$ & \K[\MNSpowerset]\powerset \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + \MNS\ provides synonyms \cmdI[\MNSnin]{\notin} for + \cmdI[\MNSnin]{\nin}, \cmdI[\MNSowns]{\ni} for + \cmdI[\MNSowns]{\owns}, and \cmdI[\MNStop]{\intercal} for + \cmdI[\MNStop]{\top}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[TRF]{\TRF\ Letter-like Symbols} +\idxboth{letter-like}{symbols} +\label{trf-letter-like} +\begin{tabular}{ll@{\hspace*{3em}}ll} +\X\e & \X\im \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MDES]{\MDES\ Letter-like Symbols} +\idxboth{letter-like}{symbols} +\label{mdes-letter-like} +\begin{tabular}{*2{ll}} +\K[\MDESin]\in & \K[\MDESowns]\owns \\ +\K[\MDESnotin]\notin & \K[\MDESsmallin]\smallin \\ +\K[\MDESnotsmallin]\notsmallin & \K[\MDESsmallowns]\smallowns \\ +\K[\MDESnotsmallowns]\notsmallowns & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} +\ifAMS + The \MDES\ package additionally provides versions of each of the + letter-like symbols shown in Table~\vref{ams-letter-like}. +\else + The \MDES\ package additionally provides versions of each of the + \AMS\ letter-like symbols. +\fi +\end{tablenote} +\end{symtable} + + +\begin{symtable}[FGE]{\FGE\ Letter-like Symbols} +\idxboth{letter-like}{symbols} +\idxboth{Frege logic}{symbols} +\label{fge-letter-like} +\begin{tabular}{*3{ll@{\hspace*{3em}}}ll} +\K\fgeA & \K\fgeeszett & \K\fgeleftB & \K\fgeU \\ +\K\fgec & \K\fgeF & \K\fgeleftC & \\ +\K\fged & \K\fgef & \K\fgerightB & \\ +\K\fgee & \K\fgelb$^*$ & \K\fges & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + The \FGE\ package defines \cmdI[\fgelb]{\fgeeta}, + \cmdI[\fgelb]{\fgeN}, and \cmdI[\fgelb]{\fgeoverU} as synonyms for + \cmd{\fgelb}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Delimiters} +\index{delimiters} +\label{ams-del} +\begin{tabular}{*2{ll}} +\X\ulcorner & \X\urcorner \\ +\X\llcorner & \X\lrcorner +\end{tabular} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Delimiters} +\index{delimiters} +\label{st-del} +\begin{tabular}{*4{ll}} +\X\Lbag &\X\Rbag &\X\lbag &\X\rbag \\ +\X\llceil &\X\rrceil &\X\llfloor &\X\rrfloor \\ +\X\llparenthesis &\X\rrparenthesis +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Delimiters} +\index{delimiters} +\label{abx-del} +\begin{tabular}{ll@{\hspace*{2em}}ll} +\X[\ABXlcorners]\lcorners & \X[\ABXrcorners]\rcorners \\[3ex] +\X[\ABXulcorner]\ulcorner & \X[\ABXurcorner]\urcorner \\ +\X[\ABXllcorner]\llcorner & \X[\ABXlrcorner]\lrcorner \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[NATH]{\NATH\ Delimiters} +\index{delimiters} +\label{nath-del} +\begin{tabular}{ll@{\hspace*{3em}}ll} +\X\niv & \X\vin \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Variable-sized Delimiters} +\index{delimiters} +\index{delimiters>variable-sized} +\label{dels} +\renewcommand{\arraystretch}{1.75} % Keep tall symbols from touching. +\begin{tabular}{lll@{\qquad}lll@{\hspace*{1.5cm}}lll@{\qquad}lll} +\N\downarrow & \N\Downarrow & \N{[} & \N[\magicrbrack]{]} \\ +\N\langle & \N\rangle & \Np[\vert][\magicvertname]| + & \Np[\Vert][\magicVertname]\| \\ +\N\lceil & \N\rceil & \N\uparrow & \N\Uparrow \\ +\N\lfloor & \N\rfloor & \N\updownarrow & \N\Updownarrow \\ +\N( & \N) & \Np\{ & \Np\} \\ +\N/ & \N\backslash \\ +\end{tabular} + +\bigskip +\begin{tablenote} + When used with \cmd{\left} and \cmd{\right}, these symbols expand to + the height of the enclosed math expression. Note that \cmdX{\vert} + is a synonym for \verb+|+, and \cmdX{\Vert} is a synonym for + \verb+\|+. + + $\varepsilon$-\TeX{}\index{e-tex=$\varepsilon$-\TeX} provides a + \cmd{\middle} analogue to \cmd{\left} and \cmd{\right}. + \cmd{\middle} can be used, for example, to make an internal ``$|$'' + expand to the height of the surrounding \cmd{\left} and \cmd{\right} + symbols. (This capability is commonly needed when typesetting + adjacent bras\index{bra} and kets\index{ket} in Dirac\index{Dirac + notation} notation: ``$\langle\phi\vert\psi\rangle$''). A similar + effect can be achieved in conventional \latex using the + \pkgname{braket} package. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Large, Variable-sized Delimiters} +\index{delimiters} +\index{delimiters>variable-sized} +\label{ldels} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{*3{lll@{\qquad}}lll} +\Y\lmoustache & \Y\rmoustache & \Y\lgroup & \Y\rgroup \\ +\Y\arrowvert & \Y\Arrowvert & \Y\bracevert +\end{tabular} + +\bigskip +\begin{tablenote} + These symbols \emph{must} be used with \cmd{\left} and \cmd{\right}. + The \ABX\ package, however, redefines + \cmdI[$\string\big\string\lgroup$]{\lgroup} and + \cmdI[$\string\big\string\rgroup$]{\rgroup} so that those symbols + can work without \cmd{\left} and \cmd{\right}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Variable-sized Delimiters} +\index{delimiters} +\index{delimiters>variable-sized} +\label{ams-var-del} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{lll@{\qquad}lll} +\N\lvert & \N\rvert \\ +\N\lVert & \N\rVert \\ +\end{tabular} + +\bigskip +\begin{tablenote} + According to the \texttt{amsmath} + documentation~\cite{AMS1999:amsmath}, the preceding symbols are + intended to be used as delimiters (e.g.,~as in ``$\lvert -z + \rvert$'') while the \cmdX{\vert} and \cmdX{\Vert} symbols + (Table~\vref{dels}) are intended to be used as operators (e.g.,~as + in ``$p \vert q$''). +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ST]{\ST\ Variable-sized Delimiters} +\index{delimiters} +\index{delimiters>variable-sized} +\label{st-var-del} +\begin{tabular}{lll@{\qquad}lll} +\N\llbracket & \N\rrbracket +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Variable-sized Delimiters} +\index{delimiters} +\index{delimiters>variable-sized} +\idxboth{wavy-line}{delimiters} +\label{abx-var-dels} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{lll@{\qquad}lll} +\N[\ABXldbrack]\ldbrack & \N[\ABXrdbrack]\rdbrack \\ +\Nbig[\ABXlfilet]\lfilet & \Nbig[\ABXrfilet]\rfilet \\ +\N[\ABXthickvert]\thickvert & \N[\ABXvvvert]\vvvert \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Variable-sized Delimiters} +\index{delimiters} +\index{delimiters>variable-sized} +\idxboth{wavy-line}{delimiters} +\label{mns-var-dels} +\renewcommand{\arraystretch}{3} % Keep tall symbols from touching. +\begin{tabular}{lll@{\qquad}lll@{\hspace*{3em}}lll@{\qquad}lll} + +\KNbig[\MNStlceil][\MNSdlceil]\lceil & \KNbig[\MNStrceil][\MNSdrceil]\rceil & \KNbig[\MNStulcorner][\MNSdulcorner]\ulcorner & \KNbig[\MNSturcorner][\MNSdurcorner]\urcorner \\ +\KNbig[\MNStlfloor][\MNSdlfloor]\lfloor & \KNbig[\MNStrfloor][\MNSdrfloor]\rfloor & \KNbig[\MNStllcorner][\MNSdllcorner]\llcorner & \KNbig[\MNStlrcorner][\MNSdlrcorner]\lrcorner \\ +\KNbig[\MNStlwavy][\MNSdlwavy]\lwavy & \KNbig[\MNStrwavy][\MNSdrwavy]\rwavy & \KNbig[\MNStlangle][\MNSdlangle]\langle & \KNbig[\MNStrangle][\MNSdrangle]\rangle \\ +\KNbig[\MNStlWavy][\MNSdlWavy]\lWavy & \KNbig[\MNStrWavy][\MNSdrWavy]\rWavy & \KNbig[\MNStlanglebar][\MNSdlanglebar]\langlebar & \KNbig[\MNStranglebar][\MNSdranglebar]\ranglebar \\ +\KNbig[\MNStlparen][\MNSdlparen]( & \KNbig[\MNStrparen][\MNSdrparen]) & \KNbig[\MNStlgroup][\MNSdlgroup]\lgroup & \KNbig[\MNStrgroup][\MNSdrgroup]\rgroup \\ +\KNbig[\MNStlsem][\MNSdlsem]\lsem & \KNbig[\MNStrsem][\MNSdrsem]\rsem & \KNbig[\MNStllangle][\MNSdllangle]\llangle & \KNbig[\MNStrrangle][\MNSdrrangle]\rrangle \\ +\KNbig[\MNStlmoustache][\MNSdlmoustache]\lmoustache & \KNbig[\MNStrmoustache][\MNSdrmoustache]\rmoustache & \KNbig[\MNStlbrace][\MNSdlbrace]\lbrace & \KNbig[\MNStrbrace][\MNSdrbrace]\rbrace \\ +\KNbig[\MNStslash][\MNSdslash]/ & \KNbig[\MNStbackslash][\MNSdbackslash]\backslash & \KNbig[\MNStless][\MNSdless]< & \KNbig[\MNStgreater][\MNSdgreater]> \\ +\KNbig[\MNStlbracket][\MNSdlbracket]{[} & \KNbig[\MNStrbracket][\MNSdrbracket]{]} & \KNbig[\MNStullcorner][\MNSdullcorner]\ullcorner & \KNbig[\MNStulrcorner][\MNSdulrcorner]\ulrcorner \\ +\KNbig[\MNStvert][\MNSdvert]| & \KNbig[\MNStVert][\MNSdVert]\| & \KNbig[\MNStbracevert][\MNSdbracevert]\bracevert \\ +\KNbig[\MNStarrowvert][\MNSdarrowvert]\arrowvert & \KNbig[\MNStArrowvert][\MNSdArrowvert]\Arrowvert \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \cmdX{\vert} is a synonym for \verb+|+. \cmdX{\Vert} is a synonym + for \verb+\|+. \cmdX{\mid} and \verb|\mvert| produce the same + symbol as \cmdX{\vert} but designated as math relations instead of + ordinals. \verb|\divides| produces the same symbol as \cmdX{\vert} + but designated as a binary operator instead of an ordinal. + \cmdX{\parallel} and \verb|\mVert| produce the same symbol as + \cmdX{\Vert} but designated as math relations instead of ordinals. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MDES]{\MDES\ Variable-sized Delimiters} +\index{delimiters} +\index{delimiters>variable-sized} +\idxboth{wavy-line}{delimiters} +\label{mdes-var-dels} +\renewcommand{\arraystretch}{2.75} % Keep tall symbols from touching. +\begin{tabular}{lll@{\qquad}lll} +\KNbig[\MDESleftwavelet][\MDESleftwave]\leftwave & +\KNbig[\MDESleftwavelet][\MDESleftwave]\rightwave \\ +\KNbig[\MDESleftevawlet][\MDESleftevaw]\leftevaw & +\KNbig[\MDESleftevawlet][\MDESleftevaw]\rightevaw \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The definitions of these symbols include a preceding \cmd{\left} or + \cmd{\right}. It is therefore an error to specify \cmd{\left} or + \cmd{\right} explicitly. The internal, ``primitive'' versions of + these symbols are called \cmdI[\MDESleftwave]{\lwave}, + \cmdI[\MDESleftwave]{\rwave}, \cmdI[\MDESleftevaw]{\levaw}, and + \cmdI[\MDESleftevaw]{\revaw}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[NATH]{\NATH\ Variable-sized Delimiters (Double)} +\index{delimiters} +\index{delimiters>variable-sized} +\label{nath-var-dels-double} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{lll@{\qquad}lll} +\Nn[\langle]\lAngle & \Nn[\rangle]\rAngle \\ +\Nn[{[}]\lBrack & \Nn[\magicrbrack]\rBrack \\ +\Nn[\lceil]\lCeil & \Nn[\rceil]\rCeil \\ +\Nn[\lfloor]\lFloor & \Nn[\rfloor]\rFloor \\ +\Nn[\vert]\lVert$^*$ & \Nn[\vert]\rVert$^*$ \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + \NATH\ redefines all of the above to include implicit \cmd{\left} + and \cmd{\right} commands. Hence, separate \verb+\lVert+ and + \verb+\rVert+ commands are needed to disambiguate whether + ``\verb+|+'' is a left or right delimiter. +\end{tablenote} + +\bigskip +\begin{tablenote} + All of the symbols in Table~\ref{nath-var-dels-double} can also be + expressed using the \cmd{\double} macro. See the \NATH\ + documentation for examples and additional information. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[NATH]{\NATH\ Variable-sized Delimiters (Triple)} +\index{delimiters} +\index{delimiters>variable-sized} +\label{nath-var-dels-triple} +\renewcommand{\arraystretch}{2.5} % Keep tall symbols from touching. +\begin{tabular}{lll@{\qquad}lll} +\Nnt{}[\langle]< & \Nnt{}[\rangle]> \\ +\Nnt{}[{[}]{[} & \Nnt{}[\magicrbrack]{]} \\ +\Nnt{l}[\vert]|$^*$ & \Nnt{r}[\vert]|$^*$ \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + Similar to \verb+\lVert+ and \verb+\rVert+ in + Table~\ref{nath-var-dels-double}, \cmd{\ltriple} and \cmd{\rtriple} + must be used instead of \cmd{\triple} to disambiguate whether + ``\verb+|+'' is a left or right delimiter. +\end{tablenote} + +\bigskip +\begin{tablenote} + Note that \cmd{\triple}---and the corresponding \cmd{\double}---is + actually a macro that takes a delimiter as an argument. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{\TC\ Text-mode Delimiters} +\index{delimiters} +\index{delimiters>text-mode} +\label{tc-delimiters} +\begin{tabular}{*2{ll}} +\K\textlangle & \K\textrangle \\ +\K\textlbrackdbl & \K\textrbrackdbl \\ +\K\textlquill & \K\textrquill \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[METRE]{\METRE\ Text-mode Delimiters} +\index{delimiters} +\index{delimiters>text-mode} +\label{metre-delimiters} +\begin{tabular}{*2{ll}@{\hspace*{3em}}*2{ll}} +\K\alad & \K\Alad & \K\crux & \K\Crux \\ +\K\alas & \K\Alas & \K\quadrad & \K\Quadrad \\ +\K\angud & \K\Angud & \K\quadras & \K\Quadras \\ +\K\angus & \K\Angus \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Math-mode Accents} +\index{accents} +\index{tilde} +\label{math-accents} +\begin{tabular}{*4{ll}} +\W\acute{a} & \W\check{a} & \W\grave{a} & \W\tilde{a} \\ +\W\bar{a} & \W\ddot{a} & \W\hat{a} & \W\vec{a} \\ +\W\breve{a} & \W\dot{a} & \W\mathring{a} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \index{dotless i=dotless $i~(\imath)$>math mode} + \index{dotless j=dotless $j~(\jmath)$>math mode} + Also note the existence of \cmdX{\imath} and \cmdX{\jmath}, which + produce dotless versions of ``\textit{i}'' and ``\textit{j}''. (See + Table~\vref{ord}.) These are useful when the accent is supposed to + replace the dot. For example, ``\verb|\hat{\imath}|'' produces a + correct ``$\,\hat{\imath}\,$'', while ``\verb|\hat{i}|'' would yield + the rather odd-looking ``\,$\hat{i}\,$''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Math-mode Accents} +\index{accents} +\label{ams-math-accents} +\begin{tabular}{ll@{\hspace*{2em}}ll} +\W\dddot{a} & \W\ddddot{a} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + These accents are also provided by the \ABX\ and \pkgname{accents} + packages and are redefined by the \MDOTS\ package if the + \pkgname{amsmath} and \pkgname{amssymb} packages have previously + been loaded. All of the variations except for the original \AMS\ + ones tighten the space between the dots% +\ifMDOTS + ~(from~$\dddot{a}$ to~$\MDOTSdddot{a}$)% +\else + \ifABX + ~(from~$\dddot{a}$ to~$\ABXdddot{a}$)% + \else + \ifACCENTS + ~(from~$\dddot{a}$ to~$\ACCENTSdddot{a}$)% + \fi + \fi +\fi +. The \ABX\ and \MDOTS\ versions also function properly +within subscripts and superscripts% +\ifMDOTS + ~($x^{\MDOTSdddot{a}}$ instead of~$x^{\dddot{a}}$) +\else + \ifABX + ~($x^{\ABXdddot{a}}$ instead of~$x^{\dddot{a}}$) + \fi +\fi +. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Math-mode Accents} +\index{accents} +\label{mns-math-accents} +\begin{tabular}{ll} +\W[\MNSvec]\vec{a} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[FGE]{\FGE\ Math-mode Accents} +\index{accents} +\label{fge-math-accents} +\begin{tabular}{ll} +\Q\spirituslenis$^*$ \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + When \FGE\ is passed the \optname{fge}{crescent} option, + \cmdI[\string\blackacc{\string\spirituslenisB}]{\spirituslenis} + instead uses a crescent accent as in~``\,\spirituslenisB{a}\,''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[YH]{\YH\ Math-mode Accents} +\index{accents} +\label{yhmath-accents} +\begin{tabular}{ll} +\W\ring{a} +\end{tabular} + +\bigskip + +\begin{tablenote} + This symbol is largely obsolete, as standard \latexE has supported + \cmdI[$\string\blackacc{\string\mathring}$]{\mathring} since + June,~1998~\cite{ltnews09}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Extensible Accents} +\index{accents} +\idxboth{extensible}{accents} +\idxboth{extensible}{arrows} +\index{tilde} +\index{tilde>extensible} +\index{extensible tildes} +\index{symbols>extensible} +\label{extensible-accents} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{*4l} +\W\widetilde{abc}$^*$ & \W\widehat{abc}$^*$ \\ +\W\overleftarrow{abc}$^\dag$ & \W\overrightarrow{abc}$^\dag$ \\ +\W\overline{abc} & \W\underline{abc} \\ +\W\overbrace{abc} & \W\underbrace{abc} \\[5pt] +\W\sqrt{abc}$^\ddag$ \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \def\longdivsign{% + \ensuremath{\overline{\vphantom{)}% + \hbox{\smash{\raise3.5\fontdimen8\textfont3\hbox{$)$}}}% + abc}}} + + \index{long division|(} + \index{division|(} + \index{polynomial division|(} + + As demonstrated in a 1997 TUGboat\index{TUGboat} article about + typesetting long-division problems~\cite{Gibbons:longdiv}, an + extensible long-division sign (``\,\longdivsign\,'') can be faked by + putting a ``\verb|\big)|'' in a \texttt{tabular} environment with an + \verb|\hline| or \verb|\cline| in the preceding row. The article + also presents a piece of code (uploaded to CTAN\idxCTAN{} as + \texttt{longdiv.tex}% + \index{longdiv=\textsf{longdiv} (package)}% + \index{packages>\textsf{longdiv}}) that automatically solves and + typesets---by putting an \cmdW{\overline} atop ``\verb|\big)|'' and + the desired text---long-division problems. See also the + \pkgname{polynom} package, which automatically solves and typesets + polynomial-division problems in a similar manner. + + \index{long division|)} + \index{division|)} + \index{polynomial division|)} +\end{tablenote} + +\bigskip + +\begin{tablenote}[*] + These symbols are made more extensible by the \MNS\ package and even + more extensible by the \YH\ package. +\end{tablenote} + +\bigskip + +\begin{tablenote}[\dag] + If you're looking for an extensible \emph{diagonal} line or arrow to + be used for canceling or reducing mathematical + subexpressions\index{arrows>diagonal, for reducing subexpressions} +\ifhavecancel + (e.g.,~``$\cancel{x + -x}$'' or ``$\cancelto{5}{3+2}\quad$'') +\fi + then consider using the \pkgname{cancel} package. +\end{tablenote} + +\bigskip + +\begin{tablenote}[\ddag] + With an optional argument, \verb|\sqrt| typesets nth roots. For + example, ``\verb|\sqrt[3]{abc}|'' produces~``$\!\sqrt[3]{abc}$\,'' + and ``\verb|\sqrt[n]{abc}|'' produces~``$\!\sqrt[n]{abc}$\,''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ORA]{\ORA\ Extensible Accents} +\index{accents} +\idxboth{extensible}{accents} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{ora-extensible-accents} +\begin{tabular}{ll} +\W\Overrightarrow{abc} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[YH]{\YH\ Extensible Accents} +\idxboth{extensible}{accents} +\index{symbols>extensible} +\label{yhmath-extensible-accents} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{*4l} +\W\wideparen{abc} & \W\widetriangle{abc} \\[5pt] +\W\widering{abc} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Extensible Accents} +\idxboth{extensible}{accents} +\index{symbols>extensible} +\label{ams-extensible-accents} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{ll@{\qquad}ll} +\W\overleftrightarrow{abc} & \W\underleftrightarrow{abc} \\ +\W\underleftarrow{abc} & \W\underrightarrow{abc} \\[2ex] +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Extensible Accents} +\idxboth{extensible}{accents} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{mns-extensible-accents} +\renewcommand{\arraystretch}{1.75} +\begin{tabular}{ll@{\qquad}ll} +\W[\MNSoverbrace]\overbrace{abc} & \W[\MNSunderbrace]\underbrace{abc} \\ +\W[\MNSovergroup]\overgroup{abc} & \W[\MNSundergroup]\undergroup{abc} \\ +\W[\MNSoverlinesegment]\overlinesegment{abc} & \W[\MNSunderlinesegment]\underlinesegment{abc} \\ +\W[\MNSoverleftharpoon]\overleftharpoon{abc} & \W[\MNSoverrightharpoon]\overrightharpoon{abc} \\ +\W[\MNSwidehat]\widehat{abc} & \W[\MNSwidetilde]\widetilde{abc} \\ +\W[\MNSwideparen]\wideparen{abc} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MTOOLS]{\MTOOLS\ Extensible Accents} +\idxboth{extensible}{accents} +\index{symbols>extensible} +\label{mathtools-extensible-accents} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{ll@{\qquad}ll} +\W[\MTOOLSoverbrace]\overbrace{abc} & \W[\MTOOLSunderbrace]\underbrace{abc} \\ +\W[\MTOOLSoverbracket]\overbracket{abc}$^*$ & \W[\MTOOLSunderbracket]\underbracket{abc}$^*$ \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \verb|\overbracket| and \verb|\underbracket| accept optional + arguments that specify the bracket height and thickness. + \seedocs{\MTOOLS}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Extensible Accents} +\index{accents} +\idxboth{extensible}{accents} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{abx-extensible-accents} +\renewcommand{\arraystretch}{1.75} +\begin{tabular}{ll@{\qquad}ll} +\W[\ABXoverbrace]\overbrace{abc} & \W[\ABXwidebar]\widebar{abc} \\ +\W[\ABXovergroup]\overgroup{abc} & \W[\ABXwidecheck]\widecheck{abc} \\ +\W[\ABXunderbrace]\underbrace{abc} & \W[\ABXwideparen]\wideparen{abc} \\ +\W[\ABXundergroup]\undergroup{abc} & \W[\ABXwidering]\widering{abc} \\ +\W[\ABXwidearrow]\widearrow{abc} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The braces shown for \verb|\overbrace| and \verb|\underbrace| appear + in their minimum size. They can expand arbitrarily wide, however. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ESV]{\ESV\ Extensible Accents} +\index{accents} +\idxboth{extensible}{accents} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{esv-extensible-accents} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{ll} +\VV{a}{abc} \\ +\VV{b}{abc} \\ +\VV{c}{abc} \\ +\VV{d}{abc} \\ +\VV{e}{abc} \\ +\VV{f}{abc} \\ +\VV{g}{abc} \\ +\VV{h}{abc} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \ESV\ also defines a \verb|\vv*| macro which is used to typeset + arrows over vector variables with subscripts. \seedocs{\ESV}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[UTILD]{\UTILD\ Extensible Accents} +\index{accents} +\idxboth{extensible}{accents} +\index{tilde>extensible} +\index{extensible tildes} +\index{tilde} +\index{symbols>extensible} +\label{utild-extensible-accents} +\begin{tabular}{ll} +\W\utilde{abc} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + Because \verb|\utilde| is based on \verb|\widetilde|% + \index{widetilde=\verb+\widetilde+ ($\blackacc{\widetilde}$)} + it is also made more extensible by the \YH\ package. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Extensible Arrows} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{ams-extensible-arrows} +\begin{tabular}{ll@{\qquad}ll} +\W\xleftarrow{abc} & \W\xrightarrow{abc} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MTOOLS]{\MTOOLS\ Extensible Arrows} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{mathtools-extensible-arrows} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{ll@{\qquad}ll} +\W[\MTOOLSxhookleftarrow]\xhookleftarrow{abc} & \W[\MTOOLSxleftrightharpoons]\xleftrightharpoons{abc} \\ +\W[\MTOOLSxhookrightarrow]\xhookrightarrow{abc} & \W[\MTOOLSxmapsto]\xmapsto{abc} \\ +\W[\MTOOLSxLeftarrow]\xLeftarrow{abc} & \W[\MTOOLSxRightarrow]\xRightarrow{abc} \\ +\W[\MTOOLSxleftharpoondown]\xleftharpoondown{abc} & \W[\MTOOLSxrightharpoondown]\xrightharpoondown{abc} \\ +\W[\MTOOLSxleftharpoonup]\xleftharpoonup{abc} & \W[\MTOOLSxrightharpoonup]\xrightharpoonup{abc} \\ +\W[\MTOOLSxleftrightarrow]\xleftrightarrow{abc} & \W[\MTOOLSxrightleftharpoons]\xrightleftharpoons{abc} \\ +\W[\MTOOLSxLeftrightarrow]\xLeftrightarrow{abc} & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[CHEMA]{\CHEMA\ Extensible Arrows} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{chemarr-extensible-arrows} +\begin{tabular}{ll} +\W\xrightleftharpoons{abc} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[CHEMB]{\CHEMB\ Extensible Arrows} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{chemarrow-extensible-arrows} +\renewcommand{\arraystretch}{4} % Keep upper and lower strings from touching. +\begin{tabular}{ll@{\qquad}ll} +\Wul\autoleftarrow{abc}{def} & \Wul\autorightarrow{abc}{def} \\ +\Wul\autoleftrightharpoons{abc}{def} & \Wul\autorightleftharpoons{abc}{def} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + In addition to the symbols shown above, \CHEMB\ also provides + \cmd{\larrowfill}, \cmd{\rarrowfill}, \cmd{\leftrightharpoonsfill}, + and \cmd{\rightleftharpoonsfill} macros. Each of these takes a + length argument and produces an arrow of the specified length. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[TRF]{\TRF\ Extensible Arrows} +\index{accents} +\index{transforms} +\index{symbols>extensible} +\label{trf-arrows} +\begin{tabular}{ll@{\hspace*{2em}}ll} +\W\dft{a} & \W\DFT{a} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[EXTAR]{\EXTAR\ Extensible Arrows} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{extarrows-extensible-arrows} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{ll@{\qquad}ll} +\W[\EXTARxLeftrightarrow]\xLeftrightarrow{abc} & \W\xLongleftrightarrow{abc} \\ +\W[\EXTARxleftrightarrow]\xleftrightarrow{abc} & \W\xlongleftrightarrow{abc} \\ +\W\xlongequal{abc} & \W\xLongrightarrow{abc} \\ +\W\xLongleftarrow{abc} & \W\xlongrightarrow{abc} \\ +\W\xlongleftarrow{abc} & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[XPFEIL]{\XPFEIL\ Extensible Arrows} +\idxboth{extensible}{arrows} +\index{symbols>extensible} +\label{extpfeil-extensible-arrows} +\renewcommand{\arraystretch}{1.5} +\begin{tabular}{ll@{\qquad}ll} +\W[\XPFEILxlongequal]\xlongequal{abc} & \W[\XPFEILxmapsto]\xmapsto{abc} \\ +\W\xtwoheadleftarrow{abc} & \W\xtwoheadrightarrow{abc} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The \XPFEIL\ package also provides a \cmd{\newextarrow} command to + help you define your own extensible arrow symbols. \seedocs{\XPFEIL}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[HOPO]{\HOPO\ Non-commutative Division Symbols} +\idxboth{extensible}{accents} +\idxboth{non-commutative}{division} +\index{symbols>non-commutative division} +\label{holtpolt} +\begin{tabular}{ll@{\qquad}ll} +\Wul\holter{abc}{def} & \Wul\polter{abc}{def} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Dots} +\idxboth{dot}{symbols} +\index{dots (ellipses)} \index{ellipses (dots)} +\label{dots} +\begin{tabular}{*{3}{ll@{\hspace*{1.5cm}}}ll} +\X\cdotp & \X\colon$^*$ & \X\ldotp & \X\vdots$^\dag$ \\ +\X\cdots & \X\ddots$^\dag$ & \X\ldots \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + While ``\texttt{:}'' is valid in math mode, \cmd{\colon} uses + different surrounding spacing. See Section~\ref{math-spacing} and the + Short Math Guide for \latex~\cite{Downes:smg} for more information on + math-mode spacing. +\end{tablenote} + +\bigskip + +\begin{tablenote}[\dag] + \ifMDOTS + \let\mdcmdX=\cmdX + \else + \let\mdcmdX=\cmd + \fi + The \MDOTS\ package redefines \cmdX{\ddots} and \cmdX{\vdots} to + make them scale properly with font size. (They normally scale + horizontally but not vertically.) \mdcmdX{\fixedddots} and + \mdcmdX{\fixedvdots} provide the original, fixed-height + functionality of \latexE's \cmdX{\ddots} and \cmdX{\vdots} macros. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AMS]{\AMS\ Dots} +\idxboth{dot}{symbols} +\index{dots (ellipses)} \index{ellipses (dots)} +\label{ams-dots} +\begin{tabular}{*{2}{ll@{\hspace*{1.5cm}}}ll} +\X\because$^*$ & \X[\cdots]\dotsi & \X\therefore$^*$ \\ +\X[\cdots]\dotsb & \X[\cdots]\dotsm & \\ +\X[\ldots]\dotsc & \X[\ldots]\dotso & \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \cmdX{\because} and \cmdX{\therefore} are defined as binary + relations and therefore also appear in Table~\vref{ams-rel}. +\end{tablenote} + +\bigskip + +\begin{tablenote} + The \AMS\ \verb*|\dots|\hbox to 0.75em{\hrulefill} symbols are named + according to their intended usage: \cmdI[$\string\cdots$]{\dotsb} + between pairs of binary operators/relations, + \cmdI[$\string\ldots$]{\dotsc} between pairs of commas, + \cmdI[$\string\cdots$]{\dotsi} between pairs of integrals, + \cmdI[$\string\cdots$]{\dotsm} between pairs of multiplication + signs, and \cmdI[$\string\ldots$]{\dotso} between other symbol + pairs. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Dots} +\idxboth{dot}{symbols} +\label{wasy-dots} +\begin{tabular}{ll} +\K\wasytherefore +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Dots} +\idxboth{dot}{symbols} +\index{dots (ellipses)} \index{ellipses (dots)} +\label{mns-dots} +\begin{tabular}{*{2}{ll@{\hspace*{1.5cm}}}ll} +\K[\MNScdot]\cdot & \K[\MNShdotdot]\hdotdot & \K[\MNSudots]\udots \\ +\K[\MNSddotdot]\ddotdot & \K[\MNShdots]\hdots & \K[\MNSuptherefore]\uptherefore \\ +\K[\MNSddots]\ddots & \K[\MNSlefttherefore]\lefttherefore & \K[\MNSvdotdot]\vdotdot \\ +\K[\MNSdiamonddots]\diamonddots & \K[\MNSrighttherefore]\righttherefore & \K[\MNSvdots]\vdots \\ +\K[\MNSdowntherefore]\downtherefore & \K[\MNSsquaredots]\squaredots & \\ +\K[\MNSfivedots]\fivedots & \K[\MNSudotdot]\udotdot & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ defines \cmdI[\MNSuptherefore]{\therefore} as + \cmdI[\MNSuptherefore]{\uptherefore} and + \cmdI[\MNSdowntherefore]{\because} as + \cmdI[\MNSdowntherefore]{\downtherefore}. Furthermore, + \cmdI[\MNScdot]{\cdotp} and \cmdI[\MNSvdotdot]{\colon} produce the + same glyphs as \cmdI[\MNScdot]{\cdot} and + \cmdI[\MNSvdotdot]{\vdotdot} respectively but serve as \tex\ math + punctuation (class~6 symbols) instead of \tex\ binary operators + (class~2). +\end{tablenote} + +\bigskip + +\begin{tablenote} + All of the above except \cmdI[\MNShdots]\hdots\ and + \cmdI[\MNSvdots]\vdots\ are defined as binary operators and + therefore also appear in Table~\vref{mns-bin}. Also, unlike most of + the other dot symbols in this document, \MNS's dots are defined as + single characters instead of as composites of multiple single-dot + characters. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MDOTS]{\MDOTS\ Dots} +\index{dots (ellipses)} \index{ellipses (dots)} +\idxboth{dot}{symbols} +\label{mathdots-dots} +\begin{tabular}{ll} +\X[\MDOTSiddots]\iddots +\end{tabular} +\end{symtable} + + +\begin{symtable}[YH]{\YH\ Dots} +\index{dots (ellipses)} \index{ellipses (dots)} +\idxboth{dot}{symbols} +\label{yhmath-dots} +\begin{tabular}{ll} +\X\adots +\end{tabular} +\end{symtable} + + +\begin{symtable}{\MC\ Math Symbols} +\label{mc-math} +\begin{tabular}{*3{ll}} +\K[\textcelsius]\tccentigrade & \K[\textohm]\tcohm & \K[\textperthousand]\tcperthousand \\ +\K[\textmu]\tcmu & \K[\textpertenthousand]\tcpertenthousand & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Mayan Digits} +\index{digits>Mayan} +\label{abx-mayan} +\begin{tabular}{*2{ll@{\qquad}}ll} + \Tm{0} & \Tm{2} & \Tm{4} \\ + \Tm{1} & \Tm{3} & \Tm{5} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Digits} +\index{digits} +\label{marv-digits} +\begin{tabular}{*4{ll@{\qquad}}ll} +\K\MVZero & \K\MVTwo & \K\MVFour & \K\MVSix & \K\MVEight \\ +\K\MVOne & \K\MVThree & \K\MVFive & \K\MVSeven & \K\MVNine \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[FGE]{\FGE\ Digits} +\index{fge-digits} +\idxboth{Frege logic}{symbols} +\label{fge-digits} +\begin{tabular}{ll@{\qquad}ll} +\K\fgestruckzero & \K\fgestruckone \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}{Miscellaneous \latexE{} Math Symbols} +\idxboth{miscellaneous}{symbols} +\index{card suits} +\index{diamonds (suit)} +\index{hearts (suit)} +\index{clubs (suit)} +\index{spades (suit)} +\idxboth{musical}{symbols} +\index{dots (ellipses)} +\index{ellipses (dots)} +\index{null set} +\index{dotless i=dotless $i~(\imath)$>math mode} +\index{dotless j=dotless $j~(\jmath)$>math mode} +\index{angles} +\label{ord} +\ifAMS + \def\AMSfn{$^\ddag$} +\else + \def\AMSfn{} +\fi +\begin{tabular}{*4{ll}} +\X\aleph & \X\Diamond$^*$ & \X\infty & \X\prime \\ +\X\angle & \X\diamondsuit & \X\mho$^*$ & \X\sharp \\ +\X\backslash & \X\emptyset\AMSfn & \X\nabla & \X\spadesuit \\ +\X\Box$^{*,\dag}$ & \X\flat & \X\natural & \X\surd \\ +\X\clubsuit & \X\heartsuit & \X\neg & \X\triangle \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + Not predefined in \latexE. Use one of the packages + \pkgname{latexsym}, \pkgname{amsfonts}, \pkgname{amssymb}, + \pkgname{txfonts}, \pkgname{pxfonts}, or \pkgname{wasysym}. Note, + however, that \pkgname{amsfonts} and \pkgname{amssymb} define + \cmdX{\Diamond} to produce the same glyph as +\ifAMS + \cmdX{\lozenge}~(``$\lozenge$''); +\else + \cmd{\lozenge}; +\fi + the other packages produce a squarer \cmdX{\Diamond} as depicted above. +\end{tablenote} + +\bigskip +\begin{tablenote}[\dag] + To use \cmdX{\Box}---or any other symbol---as an end-of-proof + (Q.E.D\@.)\index{Q.E.D.}\index{end of proof}\index{proof, end of} + marker, consider using the \pkgname{ntheorem} package, which + properly juxtaposes a symbol with the end of the proof text. +\end{tablenote} + +\ifAMS + \bigskip + \begin{tablenote}[\ddag] + Many people prefer the look of \AMS's \cmdX{\varnothing} + (``$\varnothing$'', Table~\ref{ams-misc}) to that of \latex's + \cmdX{\emptyset}. + \end{tablenote} +\fi % AMS test + +\end{symtable} + + +\begin{symtable}[AMS]{Miscellaneous \AMS\ Math Symbols} +\idxboth{miscellaneous}{symbols} +\index{stars} +\index{triangles} +\index{null set} +\index{angles} +\label{ams-misc} +\begin{tabular}{*3{ll}} +\X[\AMSangle]\angle & \X\blacktriangledown & \X\mho \\ +\X\backprime & \X\diagdown & \X\sphericalangle \\ +\X\bigstar & \X\diagup & \X\square \\ +\X\blacklozenge & \X\eth & \X\triangledown \\ +\X\blacksquare & \X\lozenge & \X\varnothing \\ +\X\blacktriangle & \X\measuredangle & \X\vartriangle \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{Miscellaneous \WASY\ Math Symbols} +\index{angles} +\label{wasy-math} +\begin{tabular}{*4{ll}} +\X[\WASYBox]\Box & \X[\WASYDiamond]\Diamond & \X\mho$^*$ & \K\varangle \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + \WASY\ also defines an \cmdI{\agemO} symbol, which is the same glyph + as \cmdX{\mho} but is intended for use in text mode. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[TX]{Miscellaneous \TXPX\ Math Symbols} +\idxboth{miscellaneous}{symbols} +\index{card suits} +\index{diamonds (suit)} +\index{hearts (suit)} +\index{clubs (suit)} +\index{spades (suit)} +\label{txpx-misc} +\begin{tabular}{*3{ll}} +\X\Diamondblack & \X\lambdaslash & \X\varheartsuit \\ +\X\Diamonddot & \X\varclubsuit & \X\varspadesuit \\ +\X\lambdabar & \X\vardiamondsuit \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{Miscellaneous \ABX\ Math Symbols} +\idxboth{miscellaneous}{symbols} +\index{null set} +\index{semidirect products} +\index{angles} +\label{abx-misc} +\begin{tabular}{*4{ll}} +\X[\ABXdegree]\degree & \X[\ABXfourth]\fourth & \X[\ABXmeasuredangle]\measuredangle & \X[\ABXsecond]\second \\ +\X[\ABXdiagdown]\diagdown & \X[\ABXhash]\hash & \X[\ABXpitchfork]\pitchfork & \X[\ABXsphericalangle]\sphericalangle \\ +\X[\ABXdiagup]\diagup & \X[\ABXinfty]\infty & \X[\ABXpropto]\propto & \X[\ABXthird]\third \\ +\X[\ABXdiameter]\diameter & \X[\ABXleftthreetimes]\leftthreetimes & \X[\ABXrightthreetimes]\rightthreetimes & \X[\ABXvarhash]\varhash \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{Miscellaneous \MNS\ Math Symbols} +\idxboth{miscellaneous}{symbols} +\index{null set} +\index{angles} +\index{card suits} +\index{diamonds (suit)} +\index{hearts (suit)} +\index{clubs (suit)} +\index{spades (suit)} +\index{integrals} +\idxboth{musical}{symbols} +\label{mns-misc} +\begin{tabular}{*4{ll}} +\K[\MNSangle]\angle & \K[\MNSdiamondsuit]\diamondsuit & \K[\MNSmaltese]\maltese & \K[\MNSsharp]\sharp \\ +\K[\MNSbackneg]\backneg & \K[\MNSflat]\flat & \K[\MNSmeasuredangle]\measuredangle & \K[\MNSsmallint]\smallint \\ +\K[\MNSbackprime]\backprime & \K[\MNSheartsuit]\heartsuit & \K[\MNSnabla]\nabla & \K[\MNSspadesuit]\spadesuit \\ +\K[\MNScheckmark]\checkmark & \K[\MNSinfty]\infty & \K[\MNSnatural]\natural & \K[\MNSsphericalangle]\sphericalangle \\ +\K[\MNSclubsuit]\clubsuit & \K[\MNSinvbackneg]\invbackneg & \K[\MNSneg]\neg & \\ +\K[\MNSdiameter]\diameter & \K[\MNSinvneg]\invneg & \K[\MNSprime]\prime & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ defines \cmdI[\MNSdiameter]{\emptyset} and + \cmdI[\MNSdiameter]{\varnothing} as synonyms for + \cmdI[\MNSdiameter]{\diameter}; \cmdI[\MNSneg]{\lnot} and + \cmdI[\MNSneg]{\minushookdown} as synonyms for \cmdI[\MNSneg]{\neg}; + \cmdI[\MNSinvneg]{\minushookup} as a synonym for + \cmdI[\MNSinvneg]{\invneg}; \cmdI[\MNSbackneg]{\hookdownminus} as a + synonym for \cmdI[\MNSbackneg]{\backneg}; and, + \cmdI[\MNSinvbackneg]{\hookupminus} as a synonym for + \cmdI[\MNSinvbackneg]{\invbackneg}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MNS]{Miscellaneous Internal \MNS\ Math Symbols} +\idxboth{miscellaneous}{symbols} +\label{mns-misc-internal} +\begin{tabular}{*2{ll}} +\K[\smash\MNSpartialvardint]\partialvardint & \K[\smash\MNSpartialvartint]\partialvartint \\ +\K[\smash\MNSpartialvardlanddownint]\partialvardlanddownint & \K[\smash\MNSpartialvartlanddownint]\partialvartlanddownint \\ +\K[\smash\MNSpartialvardlandupint]\partialvardlandupint & \K[\smash\MNSpartialvartlandupint]\partialvartlandupint \\ +\K[\smash\MNSpartialvardlcircleleftint]\partialvardlcircleleftint & \K[\smash\MNSpartialvartlcircleleftint]\partialvartlcircleleftint \\ +\K[\smash\MNSpartialvardlcirclerightint]\partialvardlcirclerightint & \K[\smash\MNSpartialvartlcirclerightint]\partialvartlcirclerightint \\ +\K[\smash\MNSpartialvardoiint]\partialvardoiint & \K[\smash\MNSpartialvartoiint]\partialvartoiint \\ +\K[\smash\MNSpartialvardoint]\partialvardoint & \K[\smash\MNSpartialvartoint]\partialvartoint \\ +\K[\smash\MNSpartialvardrcircleleftint]\partialvardrcircleleftint & \K[\smash\MNSpartialvartrcircleleftint]\partialvartrcircleleftint \\ +\K[\smash\MNSpartialvardrcirclerightint]\partialvardrcirclerightint & \K[\smash\MNSpartialvartrcirclerightint]\partialvartrcirclerightint \\ +\K[\smash\MNSpartialvardstrokedint]\partialvardstrokedint & \K[\smash\MNSpartialvartstrokedint]\partialvartstrokedint \\ +\K[\smash\MNSpartialvardsumint]\partialvardsumint & \K[\smash\MNSpartialvartsumint]\partialvartsumint \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + These symbols are intended to be used internally by \MNS\ to + construct the integrals appearing in Table~\vref{mns-large} but can + nevertheless be used in isolation. +\end{tablenote} +\end{symtable} + + +\begin{symtable}{Miscellaneous \TC\ Text-mode Math Symbols} +\index{fractions} +\label{tc-math} +\ifFRAC + \def\FRACfn{$^\dag$} +\else + \def\FRACfn{} +\fi +\begin{tabular}{*3{ll}} +\K\textdegree$^*$ & \K\textonehalf\FRACfn & \K\textthreequarters\FRACfn \\ +\K\textdiv & \K\textonequarter\FRACfn & \K\textthreesuperior \\ +\K\textfractionsolidus & \K\textonesuperior & \K\texttimes \\ +\K\textlnot & \K\textpm & \K\texttwosuperior \\ +\K\textminus & \K\textsurd \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + If you prefer a larger degree symbol you might consider defining one + as ``\verb|\ensuremath{^\circ}|''~(``$^\circ$'')% + \indexcommand[$\string\circ$]{\circ}. +\end{tablenote} + +\ifFRAC + \bigskip + \begin{tablenote}[\dag] + \pkgname{nicefrac} (part of the \pkgname{units} package) can be + used to construct vulgar fractions like ``\nicefrac{1}{2}'', + ``\nicefrac{1}{4}'', ``\nicefrac{3}{4}'', and even + ``\nicefrac{c}{o}''\index{care of=care of (\nicefrac{c}{o})}. + \end{tablenote} +\fi % FRAC test +\end{symtable} + + +\begin{symtable}[MARV]{Miscellaneous \MARV\ Math Symbols} +\index{angles} +\label{marv-misc} +\begin{tabular}{*3{ll@{\qquad}}ll} +\K\Anglesign & \K\Squaredot & \K\Vectorarrowhigh \\ +\K\Corresponds & \K\Vectorarrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[FGE]{Miscellaneous \FGE\ Math Symbols} +\index{angles} +\idxboth{Frege logic}{symbols} +\label{fge-misc} +\begin{tabular}{*3{ll@{\qquad}}ll} +\K\fgebackslash & \K\fgecap & \K\fgecupacute & \K\fgelangle \\ +\K\fgebaracute & \K\fgecapbar & \K\fgecupbar & \K\fgeupbracket \\ +\K\fgebarcap & \K\fgecup & \K\fgeinfty & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MDES]{Miscellaneous \MDES\ Math Symbols} +\idxboth{miscellaneous}{symbols} +\index{angles} +\label{mdes-misc} +\begin{tabular}{ll} +\K[\MDESrightangle]\rightangle +\end{tabular} +\end{symtable} + + +\begin{symtable}[AREV]{Miscellaneous \AREV\ Math Symbols} +\idxboth{miscellaneous}{symbols} +\index{card suits} +\index{diamonds (suit)} +\index{hearts (suit)} +\index{clubs (suit)} +\index{spades (suit)} +\label{arev-misc} +\begin{tabular}{*3{ll}} +\K\steaming & \K\vardiamond & \K\varspade \\ +\K\varclub & \K\varheart & \\ +\end{tabular} +\end{symtable} + + +% Because the Math Alphabets table is a bit different from the symbol +% tables in this document we start it on its own page to emphasize it +% and to include enough room for some of the table notes. +\clearpage + +\begin{symtable}{Math Alphabets} +\idxboth{math}{alphabets} +\label{alphabets} +\begin{tabular}{@{}*3l@{}} +\toprule +Font sample & Generating command & Required package \\ +\midrule +\Wf\mathrm{ABCdef123} & \textit{none} \\ +\Ww\textit\mathit{ABCdef123} & \textit{none} \\ +\Wf\mathnormal{ABCdef123}& \textit{none} \\ +\Ww\CMcal\mathcal{ABC} & \textit{none} \\ + +\ifx\mathscr\undefined\else +\Wf\mathscr{ABC} & \pkgname{mathrsfs} \\ +\multicolumn{1}{r@{}}{\emph{or}} + &\verb|\mathcal{ABC}| + & \pkgname{calrsfs} \\ +\fi + +\ifEU +\Wf\mathcal{ABC} & \pkgname{euscript} with the + \optname{euscript}{mathcal} option \\ +\multicolumn{1}{r@{}}{\emph{or}} + &\verb|\mathscr{ABC}| + & \pkgname{euscript} with the + \optname{euscript}{mathscr} option \\ +\fi + +\ifx\mathpzc\undefined\else +\Wf\mathpzc{ABCdef123} & \textit{none}; manually defined$^*$ \\ +\fi + +\ifx\mathbb\undefined\else +\Wf\mathbb{ABC} & \pkgname{amsfonts},% + \ifx\MSYMmathbb\undefined\else$^\S$~\fi + \pkgname{amssymb}, \pkgname{txfonts}, or + \pkgname{pxfonts} \\ +\fi + +\ifx\varmathbb\undefined\else +\Wf\varmathbb{ABC} & \pkgname{txfonts} or \pkgname{pxfonts} \\ +\fi + +\ifx\BBmathbb\undefined\else +\Ww\BBmathbb\mathbb{ABCdef123} + & \pkgname{bbold} or \pkgname{mathbbol}$^\dag$ \\ +\fi + +\ifx\MBBmathbb\undefined\else +\Ww\MBBmathbb\mathbb{ABCdef123} + & \pkgname{mbboard}$^\dag$ \\ +\fi + +\ifx\mathbbm\undefined\else +\Wf\mathbbm{ABCdef12} & \pkgname{bbm} \\ +\Wf\mathbbmss{ABCdef12} & \pkgname{bbm} \\ +\Wf\mathbbmtt{ABCdef12} & \pkgname{bbm} \\ +\fi + +\ifx\mathds\undefined\else +\Wf\mathds{ABC1} & \pkgname{dsfont} \\ +\Ww\mathdsss\mathds{ABC1} + & \pkgname{dsfont} with the + \optname{dsfont}{sans} option \\ +\fi + +\ifx\mathfrak\undefined\else +\Wf\mathfrak{ABCdef123} & \pkgname{eufrak} \\ +\fi + +\ifx\textfrak\undefined\else +\Wf\textfrak{ABCdef123} & \pkgname{yfonts}$^\ddag$ \\ +\Wf\textswab{ABCdef123} & \pkgname{yfonts}$^\ddag$ \\ +\Wf\textgoth{ABCdef123} & \pkgname{yfonts}$^\ddag$ \\ +\fi +\bottomrule +\end{tabular} +\end{symtable} +\unskip + +% Because we have so much text and because we're at the end of the +% section, we put all of the table notes after the symtable to give +% LaTeX the opportunity to split them across pages. +\begin{center} +\ifx\mathpzc\undefined\else +\bigskip +\begin{tablenote}[*] + Put ``\verb|\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}|'' in your + document's preamble to make \verb|\mathpzc| typeset its argument in + \PSfont{Zapf Chancery}. +\ifx\mathcalligra\undefined\else + As a similar trick, you can typeset the \PSfont{Calligra} font's + script ``{\Large\mathcalligra{r}\,}'' (or other calligraphic symbols) + in math mode by loading the \pkgname{calligra} package and putting + ``\verb|\DeclareMathAlphabet{\mathcalligra}{T1}{calligra}{m}{n}|'' + in your document's preamble to make \verb|\mathcalligra| typeset its + argument in the \PSfont{Calligra} font. (You may also want to + specify + ``\verb|\DeclareFontShape{T1}{calligra}{m}{n}{<->s*[2.2]callig15}{}|'' + to set \PSfont{Calligra} at 2.2~times its design size for a better + blend with typical body fonts.) +\fi +\end{tablenote} +\fi + +\ifx\BBmathbb\undefined\else +\bigskip +\begin{tablenote}[\dag] + The \pkgname{mathbbol} package defines some additional blackboard bold + characters: parentheses, square brackets, angle brackets, and---if + the \optname{mathbbol}{bbgreekl} option is passed to + \pkgname{matbbol}---Greek\index{Greek>blackboard bold} letters. For + instance, + ``$\BBmathbb{\char`<\char`[\char`(\char"0B\char"0C\char"0D\char`)\char`]\char`>}$'' + is produced by + ``\cmd{\mathbb}\verb|{|\cmdI{\Langle}\linebreak[1]% + \cmdI{\Lbrack}\linebreak[1]\cmdI{\Lparen}\linebreak[1]% + \cmdI{\bbalpha}\linebreak[1]\cmdI{\bbbeta}\linebreak[1]% + \cmdI{\bbgamma}\linebreak[1]\cmdI{\Rparen}\linebreak[1]% + \cmdI{\Rbrack}\linebreak[1]\cmdI{\Rangle}\verb|}|''. + + \ifx\MBBmathbb\undefined + \pkgname{mbboard} extends the blackboard bold symbol set + significantly further. It supports not only the + Greek\index{Greek>blackboard bold}\index{alphabets>Greek} + alphabet---including ``Greek-like'' symbols such as + \cmd{\bbnabla}---but also \emph{all} punctuation marks, various + currency\idxboth{currency}{symbols}\idxboth{monetary}{symbols} + symbols such as \cmd{\bbdollar} and \cmd{\bbeuro},\index{euro + signs>blackboard bold} and the + Hebrew\index{Hebrew}\index{alphabets>Hebrew} alphabet. + \else + \pkgname{mbboard} extends the blackboard bold symbol set + significantly further. It supports not only the + Greek\index{Greek>blackboard bold}\index{alphabets>Greek} + alphabet---including ``Greek-like'' symbols such as + \cmdI{\bbnabla}~(``\bbnabla'')---but also \emph{all} punctuation + marks, various + currency\idxboth{currency}{symbols}\idxboth{monetary}{symbols} + symbols such as \cmdI{\bbdollar}~(``\bbdollar'') and + \cmdI{\bbeuro}~(``\bbeuro''),\index{euro signs>blackboard bold} + and the Hebrew\index{Hebrew}\index{alphabets>Hebrew} + alphabet~(e.g.,~``\cmdI{\bbfinalnun}\linebreak[1]\cmdI{\bbyod}% + \linebreak[1]\cmdI{\bbqof}\linebreak[1]\cmdI{\bbpe}''~$\rightarrow$ + ``\bbfinalnun\bbyod\bbqof\bbpe''). + \fi % MBBmathbb test +\end{tablenote} +\fi + +\ifx\textfrak\undefined\else +\bigskip +\begin{tablenote}[\ddag] + As their \verb|\text|\dots{} names imply, the fonts provided by the + \pkgname{yfonts} package are actually text fonts. They are + included in Table~\ref{alphabets} because they are frequently used + in a mathematical context. +\end{tablenote} +\fi + +\ifx\MSYMmathbb\undefined\else +\bigskip +\begin{tablenote}[\S] + An older (i.e.,~prior to~1991) version of the \AMS's fonts rendered + $\mathbb{C}$, $\mathbb{N}$, $\mathbb{R}$, $\mathbb{S}$, + and~$\mathbb{Z}$ as $\MSYMmathbb{C}$, $\MSYMmathbb{N}$, + $\MSYMmathbb{R}$, $\MSYMmathbb{S}$, and~$\MSYMmathbb{Z}$. As some + people prefer the older glyphs---much to the \AMS's surprise---and + because those glyphs fail to build under modern versions of + \metafont, \person{Berthold}{Horn} uploaded \postscript fonts for + the older blackboard-bold glyphs to CTAN\idxCTAN{}, to the + \texttt{fonts/msym10} directory. As of this writing, however, there + are no \latexE packages for utilizing the now-obsolete glyphs. +\end{tablenote} +\fi +\end{center} + + +\idxbothend{mathematical}{symbols} + + +\section{Science and technology symbols} +\idxbothbegin{scientific}{symbols} +\idxbothbegin{technological}{symbols} + +This section lists symbols that are employed in various branches of +science and engineering. + +\bigskip + + +\begin{symtable}{\GSYMB\ Symbols Defined to Work in Both Math and Text Mode} +\label{gsymb-math} +\begin{tabular}{*2{ll@{\qquad}}ll} +\K[\textcelsius]\celsius & \K[\textmu]\micro & \K[\textperthousand]\perthousand \\ +\K[\textdegree]\degree & \K[\textohm]\ohm & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Electrical and Physical Symbols} +\idxboth{electrical}{symbols} +\idxboth{physical}{symbols} +\label{wasy-electic} +\begin{tabular}{*{9}{ll@{\qquad}}ll} +\K\AC & \K\VHF & \K\photon & +\K\HF & \K\gluon \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[IFS]{\IFS\ Pulse Diagram Symbols} +\idxboth{pulse diagram}{symbols} +\idxboth{engineering}{symbols} +\label{pulse-diagram} +\begin{tabular}{*4{ll}} +\K\FallingEdge & \K\LongPulseLow & \K\PulseLow & \K\ShortPulseHigh \\ +\K\LongPulseHigh & \K\PulseHigh & \K\RaisingEdge & \K\ShortPulseLow \\ +\end{tabular} + +\bigskip +\begin{tablenote} + In addition, within + \verb|\textifsym{|$\ldots$\verb|}|\indexcommand{\textifsym}, the + following codes are valid: + + \begin{center} + \begin{tabular}{*5{ll@{\hspace{3em}}}ll} + \textifsym{l} & l & + \textifsym{m} & m & + \textifsym{h} & h & + \textifsym{d} & d & + \textifsym{<} & \textless & + \textifsym{>} & \textgreater \\[4pt] + + \textifsym{L} & L & + \textifsym{M} & M & + \textifsym{H} & H & + \textifsym{D} & D & + \textifsym{<<} & \textless\textless & + \textifsym{>>} & \textgreater\textgreater \\ + \end{tabular} + \end{center} + + This enables one to write ``\verb|\textifsym{mmmm}|'' to get + ``\textifsym{mmmm}'' or ``\verb+\textifsym{L|H|L|H|L}+'' to get + ``\textifsym{L|H|L|H|L}''. See also the \pkgname{timing} package, + which provides a wide variety of pulse-diagram symbols within an + environment designed specifically for typesetting pulse diagrams. + + Finally, \cmd{\textifsym} supports the display of + segmented\idxboth{segmented}{digits} digits, as would appear on an + LCD\idxboth{LCD}{digits}: ``\verb|\textifsym{-123.456}|'' produces + ``\textifsym{-123.456}''. ``\verb|\textifsym{b}|'' outputs a blank + with the same width as an ``\textifsym{8}''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ASP]{\ASP\ Aspect Ratio Symbol} +\index{aspect ratio} +\label{aspect-ratio} +\begin{tabular}{ll} +\K\AR +\end{tabular} +\end{symtable} + + +\begin{symtable}{\TC\ Text-mode Science and Engineering Symbols} +\label{tc-science} +\begin{tabular}{*4{ll}} +\K\textcelsius & \K\textmho & \K\textmu & \K\textohm \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Astronomical Symbols} +\idxboth{astronomical}{symbols} +\idxboth{astrological}{symbols} +\idxboth{zodiacal}{symbols} +\index{planets} +\index{celestial bodies} +\label{wasy-astro} +\begin{tabular}{*5{ll}} +\K\mercury & \K\earth & \K\jupiter & \K\uranus & \K\pluto \\ +\K\venus & \K\mars & \K\saturn & \K\neptune & \\[3ex] + +\K\astrosun & \K\fullmoon & \K\leftmoon & \K\newmoon & \K\rightmoon \\[3ex] + +\K\aries & \K\cancer & \K\libra & \K\aquarius \\ +\K\taurus & \K\leo & \K\scorpio & \K\capricornus \\ +\K\gemini & \K\virgo & \K\sagittarius & \K\pisces \\[3ex] + +\K\ascnode & \K\descnode & \K\conjunction & \K\opposition & \K\vernal \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Astronomical Symbols} +\idxboth{astronomical}{symbols} +\idxboth{astrological}{symbols} +\idxboth{zodiacal}{symbols} +\index{planets} +\index{celestial bodies} +\label{marv-astro} +\begin{tabular}{*5{ll}} +\K\Mercury & \K\Earth & \K\Jupiter & \K\Uranus & \K\Pluto \\ +\K\Venus & \K\Mars & \K\Saturn & \K\Neptune & \\[3ex] + +\K\Moon & \K\Sun \\[3ex] + +\K\Aries & \K\Cancer & \K\Libra & \K\Capricorn \\ +\K\Taurus & \K\Leo & \K\Scorpio & \K\Aquarius \\ +\K\Gemini & \K\Virgo & \K\Sagittarius & \K\Pisces \\ +\end{tabular} + +\bigskip +\begin{tablenote} + Note that \cmdI{\Aries}\,$\ldots$\,\linebreak[1]\cmdI{\Pisces} can also be + specified with + \cmd{\Zodiac}\verb|{1}|\,$\ldots$\,\linebreak[1]\cmd{\Zodiac}\verb|{12}|. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ABX]{\ABX\ Astronomical Symbols} +\idxboth{astronomical}{symbols} +\idxboth{astrological}{symbols} +\idxboth{zodiacal}{symbols} +\index{planets} +\index{celestial bodies} +\label{abx-astro} +\begin{tabular}{*5{ll}} +\X[\ABXMercury]\Mercury & \X[\ABXEarth]\Earth & \X[\ABXJupiter]\Jupiter & \X[\ABXUranus]\Uranus & \X[\ABXPluto]\Pluto \\ +\X[\ABXVenus]\Venus & \X[\ABXMars]\Mars & \X[\ABXSaturn]\Saturn & \X[\ABXNeptune]\Neptune & \X[\ABXvarEarth]\varEarth \\[3ex] + +\X[\ABXfullmoon]\fullmoon & \X[\ABXleftmoon]\leftmoon & \X[\ABXnewmoon]\newmoon & \X[\ABXrightmoon]\rightmoon & \X[\ABXSun]\Sun \\[3ex] + +\X[\ABXAries]\Aries & \X[\ABXTaurus]\Taurus & \X[\ABXGemini]\Gemini \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \ABX\ also defines \cmdI[$\string\ABXVenus$]{\girl} as an alias for + \cmdI[$\string\ABXVenus$]{\Venus}, \cmdI[$\string\ABXMars$]{\boy} as + an alias for \cmdI[$\string\ABXMars$]{\Mars}, and + \cmdI[$\string\ABXleftmoon$]{\Moon} as an alias for + \cmdI[$\string\ABXleftmoon$]{\leftmoon}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ APL Symbols} +\index{APL>symbols} +\index{symbols>APL} +\label{wasy-APLsym} +\begin{tabular}{*6l} +\K\APLbox & \K\APLinv & \K\APLstar \\ +\K\APLcomment & \K\APLleftarrowbox & \K\APLup \\ +\K\APLdown & \K\APLlog & \K\APLuparrowbox \\ +\K\APLdownarrowbox & \K\APLminus & \K\notbackslash \\ +\K\APLinput & \K\APLrightarrowbox & \K\notslash \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ APL Modifiers} +\index{APL>modifiers} +\index{accents} +\label{wasy-APLmod} +\begin{tabular}{*2{ll@{\qqquad}}ll} +\W\APLcirc{} & \W\APLnot{} & \W\APLvert{} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Computer Hardware Symbols} +\idxboth{computer hardware}{symbols} +\label{marv-computer} +\begin{tabular}{*2{ll}ll} +\K\ComputerMouse & \K\ParallelPort & \K\SerialInterface \\ +\K\Keyboard & \K\Printer & \K\SerialPort \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[KEYS]{\KEYS\ Computer Keys} +\idxboth{keyboard}{symbols} +\index{computer keys} +\index{keys, computer} +\index{arrows} +\index{carriage return} +\label{keystroke} +\renewcommand{\arraystretch}{1.25} % Keep the symbols from touching. +\begin{tabular}{*2{ll@{\hspace*{3em}}}ll} +\K\Alt & \K\Enter$^*$ & \K\PrtSc$^*$ \\ +\K\AltGr & \K\Esc$^*$ & \K\RArrow \\ +\K\Break$^*$ & \K\Home$^*$ & \K\Return \\ +\K[\keysBSpace]\BSpace$^\dag$ & \K\Ins$^*$ & \K\Scroll$^*$ \\ +\K\Ctrl$^*$ & \K\LArrow & \K\Shift$^*$ \\ +\K\DArrow & \K\NumLock & \K\Spacebar \\ +\K\Del$^*$ & \K\PgDown$^*$ & \K[\keysTab]\Tab$^\dag$ \\ +\K\End$^*$ & \K\PgUp$^*$ & \K\UArrow \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + Changes based on the language option passed to the \KEYS\ package. + For example, the \optname{keystroke}{german} option makes + \cmdI{\Del} produce ``\keystroke{Entf}'' instead of ``\Del''. +\end{tablenote} + +\bigskip + +\begin{tablenote}[\dag] + These symbols utilize the \pkgname{rotating} package and therefore + display improperly in most DVI\index{DVI} viewers. +\end{tablenote} + +\bigskip + +\begin{tablenote} + The + \verb|\keystroke|\indexaccent[\string\blackacc{\string\keystroke}]{\keystroke} + command draws a key with an arbitrary label. For example, + ``\verb|\keystroke{F7}|'' produces ``\keystroke{F7}''. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[ASCII]{\ASCII\ Control Characters (CP437)} +\index{ASCII} +\index{IBM PC} +\index{control characters} +\index{carriage return} +\index{smiley faces} +\index{nonbreaking space} +\index{code page 437} +\index{faces} +\label{ibm-ascii} +\begin{tabular}{*4{ll@{\hspace{3em}}}ll} +\K\SOH & \K\BS & \K\SI & \K\SYN & \K\GS \\ +\K\STX & \K[\asciiHT]\HT & \K\DLE & \K\ETB & \K\RS \\ +\K\ETX & \K\LF & \K\DCa & \K\CAN & \K\US \\ +\K\EOT & \K\VT & \K\DCb & \K\EM & \\ +\K\ENQ & \K\FF & \K\DCc & \K\SUB & \\ +\K\ACK & \K\CR & \K\DCd & \K\ESC & \\ +\K\BEL & \K\SO & \K\NAK & \K\FS & \\[2ex] +% +\K\DEL & \K\NBSP & \K\NUL & +\incsyms\indexcommand[\splitvert]{\splitvert}\splitvert & +\multicolumn{2}{l}{\ttfamily\string\splitvert} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + Code Page~437 (CP437), which was first utilized by the original + IBM~PC, uses the symbols \cmdI{\SOH} through \cmdI{\US} to depict + ASCII characters~1--31 and \cmdI{\DEL} to depict ASCII + character~127. The \cmdI{\NUL} symbol, not part of CP437, + represents ASCII character~0. \cmdI{\NBSP}, also not part of CP437, + represents a nonbreaking space. \cmdI{\splitvert} is merely the + ``$|$'' character drawn as it was on the IBM~PC. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Communication Symbols} +\idxboth{communication}{symbols} +\label{marv-comm} +\begin{tabular}{*4{ll}ll} +\K\Email & \K\fax & \K\Faxmachine & \K\Lightning & \K\Pickup \\ +\K\Emailct & \K\FAX & \K\Letter & \K\Mobilefone & \K\Telefon \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Engineering Symbols} +\idxboth{engineering}{symbols} +\label{marv-engineering} +\begin{tabular}{*3{ll}ll} +\K\Beam & \K\Force & \K\Octosteel & \K\RoundedTTsteel \\ +\K\Bearing & \K\Hexasteel & \K\Rectpipe & \K\Squarepipe \\ +\K\Circpipe & \K\Lefttorque & \K\Rectsteel & \K\Squaresteel \\ +\K\Circsteel & \K\Lineload & \K\Righttorque & \K\Tsteel \\ +\K\Fixedbearing & \K\Loosebearing & \K\RoundedLsteel$^*$ & \K\TTsteel \\ +\K\Flatsteel & \K\Lsteel & \K\RoundedTsteel$^*$ \\ +\end{tabular} + +\bigskip + +\begin{tablenote}[*] + \cmdI{\RoundedLsteel} and \cmdI{\RoundedTsteel} seem to be swapped, + at least in the 2000/05/01 version of \pkgname{marvosym}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Biological Symbols} +\label{wasy-bio} +\begin{tabular}{*2{ll}} +\K\female & \K\male \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Biological Symbols} +\idxboth{biological}{symbols} +\label{marv-bio} +\begin{tabular}{*3{ll}ll} +\K\Female & \K\FemaleMale & \K\MALE & \K\Neutral \\ +\K\FEMALE & \K\Hermaphrodite & \K\Male \\ +\K\FemaleFemale & \K\HERMAPHRODITE & \K\MaleMale \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Safety-related Symbols} +\idxboth{safety-related}{symbols} +\label{marv-safety} +\begin{tabular}{*3{ll}ll} +\K\Biohazard & \K\CEsign & \K\Explosionsafe & \K\Radioactivity \\ +\K\BSEfree & \K\Estatically & \K\Laserbeam & \K\Stopsign \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[FEYN]{\FEYN\ Feynman Diagram Symbols} +\index{Feynman-diagram symbols} +\index{symbols>Feynman diagram} +\index{particle-physics symbols} +\index{symbols>particle physics} +\index{bosons} +\index{fermions} +\index{gluons} +\index{photons} +\index{subatomic particles} +\label{feyn} +\renewcommand{\arraystretch}{1.75} % Keep tall symbols from touching. +\begin{tabular}{*3{ll}ll} +\K\bigbosonloop & \Kfeyn{fu} & \Kfeyn{gvs} & \Kfeyn{h} \\ +\Kfeyn{a} & \Kfeyn{fv} & \Kfeyn{gv} & \Kfeyn{ms} \\ +\Kfeyn{c} & \Kfeyn{f} & \Kfeyn{g} & \Kfeyn{m} \\ +\Kfeyn{fd} & \Kfeyn{glu} & \Kfeyn{hd} & \Kfeyn{p} \\ +\Kfeyn{fl} & \Kfeyn{gl} & \Kfeyn{hs} & \Kfeyn{x} \\ +\Kfeyn{fs} & \Kfeyn{gu} & \Kfeyn{hu} & \K\smallbosonloop \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + All other arguments to the \verb|\feyn| command produce a + ``\feyn{?}'' symbol. + + The \FEYN\ package provides various commands for composing the + preceding symbols into complete Feynman diagrams. See the \FEYN\ + documentation for examples and additional information. +\end{tablenote} +\end{symtable} + + +\idxbothend{scientific}{symbols} +\idxbothend{technological}{symbols} + + +\section{Dingbats} +\idxbothbegin{dingbat}{symbols} + +Dingbats are symbols such as stars, arrows, and geometric shapes. +They are commonly used as bullets in itemized lists or, more +generally, as a means to draw attention to the text that follows. + +The \PI\ dingbat package warrants special mention. Among other +capabilities, \PI\ provides a \latex\ interface to the \PSfont{Zapf +Dingbats} font (one of the standard~35 \postscript\index{PostScript +fonts} fonts). However, rather than name each of the dingbats +individually, \PI\ merely provides a single \cmd{\ding} command, which +outputs the character that lies at a given position in the font. The +consequence is that the \PI\ symbols can't be listed by name in this +document's index, so be mindful of that fact when searching for a +particular symbol. + +\bigskip + + +\begin{symtable}[DING]{\DING\ Arrows} +\label{bbding-arrows} +\begin{tabular}{*3{ll}} +\K\ArrowBoldDownRight & \K\ArrowBoldRightShort & \K\ArrowBoldUpRight \\ +\K\ArrowBoldRightCircled & \K\ArrowBoldRightStrobe \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Arrows} +\index{arrows} +\idxboth{fletched}{arrows} +\label{pi-arrows} +\begin{tabular}{*5{ll}} +\Tp{212} & \Tp{221} & \Tp{230} & \Tp{239} & \Tp{249} \\ +\Tp{213} & \Tp{222} & \Tp{231} & \Tp{241} & \Tp{250} \\ +\Tp{214} & \Tp{223} & \Tp{232} & \Tp{242} & \Tp{251} \\ +\Tp{215} & \Tp{224} & \Tp{233} & \Tp{243} & \Tp{252} \\ +\Tp{216} & \Tp{225} & \Tp{234} & \Tp{244} & \Tp{253} \\ +\Tp{217} & \Tp{226} & \Tp{235} & \Tp{245} & \Tp{254} \\ +\Tp{218} & \Tp{227} & \Tp{236} & \Tp{246} \\ +\Tp{219} & \Tp{228} & \Tp{237} & \Tp{247} \\ +\Tp{220} & \Tp{229} & \Tp{238} & \Tp{248} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[BAYER]{\BAYER\ Arrows} +\index{arrows} +\label{bayer-arrows} +\begin{tabular}{*2{ll}} +\K\bauarrow & \K\bauwhitearrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Scissors} +\index{scissors} +\label{marv-scissors} +\begin{tabular}{*3{ll}} +\K\Cutleft & \K\Cutright & \K\Leftscissors \\ +\K\Cutline & \K\Kutline & \K\Rightscissors \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[DING]{\DING\ Scissors} +\index{scissors} +\label{scissors} +\begin{tabular}{*2{ll}} +\K\ScissorHollowLeft & \K\ScissorLeftBrokenTop \\ +\K\ScissorHollowRight & \K\ScissorRight \\ +\K\ScissorLeft & \K\ScissorRightBrokenBottom \\ +\K\ScissorLeftBrokenBottom & \K\ScissorRightBrokenTop \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Scissors} +\index{scissors} +\label{pi-scissors} +\begin{tabular}{*4{ll}} +\Tp{33} & \Tp{34} & \Tp{35} & \Tp{36} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ARK]{\ARK\ Pencils} +\index{pencils} +\vspace{1ex} +\begin{tabular}{*2{ll}} +\K[\ARKlargepencil]\largepencil & \K\smallpencil \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[DING]{\DING\ Pencils and Nibs} +\index{pencils} +\index{nibs} +\label{pencils-nibs} +\begin{tabular}{*3{ll}} +\K\NibLeft & \K\PencilLeft & \K\PencilRightDown \\ +\K\NibRight & \K\PencilLeftDown & \K\PencilRightUp \\ +\K\NibSolidLeft & \K\PencilLeftUp \\ +\K\NibSolidRight & \K\PencilRight \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Pencils and Nibs} +\index{pencils} +\index{nibs} +\label{pi-pencils} +\begin{tabular}{*5{ll}} +\Tp{46} & \Tp{47} & \Tp{48} & \Tp{49} & \Tp{50} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ARK]{\ARK\ Fists} +\index{fists} +\label{ark-hands} +\renewcommand{\arraystretch}{1.25} +\begin{tabular}{*3{ll}} +\K\leftpointright & \K\rightpointleft & \K\rightpointright \\ +\K\leftthumbsdown & \K\rightthumbsdown \\ +\K\leftthumbsup & \K\rightthumbsup \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[DING]{\DING\ Fists} +\index{fists} +\label{hands} +\begin{tabular}{*3{ll}} +\K\HandCuffLeft & \K\HandCuffRightUp & \K\HandPencilLeft \\ +\K\HandCuffLeftUp & \K\HandLeft & \K\HandRight \\ +\K\HandCuffRight & \K\HandLeftUp & \K\HandRightUp \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Fists} +\index{fists} +\label{pi-hands} +\begin{tabular}{*4{ll}} +\Tp{42} & \Tp{43} & \Tp{44} & \Tp{45} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[DING]{\DING\ Crosses and Plusses} +\index{crosses} +\index{plusses} +\index{crucifixes} +\label{crosses-plusses} +\begin{tabular}{*3{ll}} +\K[\dingCross]\Cross & \K\CrossOpenShadow & \K\PlusOutline \\ +\K\CrossBoldOutline & \K\CrossOutline & \K\PlusThinCenterOpen \\ +\K\CrossClowerTips & \K\Plus \\ +\K\CrossMaltese & \K\PlusCenterOpen \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Crosses and Plusses} +\index{crosses} +\index{plusses} +\index{crucifixes} +\label{pi-crosses-plusses} +\begin{tabular}{*4{ll}} +\Tp{57} & \Tp{59} & \Tp{61} & \Tp{63} \\ +\Tp{58} & \Tp{60} & \Tp{62} & \Tp{64} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[DING]{\DING\ Xs and Check Marks} +\index{check marks} +\index{Xs} +\label{ding-check-marks} +\begin{tabular}{*3{ll}} +\K\Checkmark & \K\XSolid & \K\XSolidBrush \\ +\K\CheckmarkBold & \K\XSolidBold \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Xs and Check Marks} +\index{check marks} +\index{Xs} +\label{pi-check-marks} +\begin{tabular}{*3{ll}} +\Tp{51} & \Tp{53} & \Tp{55} \\ +\Tp{52} & \Tp{54} & \Tp{56} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Xs and Check Marks} +\index{check marks} +\index{Xs} +\label{wasy-check-marks} +\begin{tabular}{*6l} +\K\CheckedBox & \K\Square & \K\XBox \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[BAYER]{\BAYER\ Xs} +\index{Xs} +\label{bayer-check-marks} +\begin{tabular}{ll} +\K\baucross \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Circled Numbers} +\index{circled numbers} +\index{numbers>circled} +\label{circled-numbers} +\begin{tabular}{*4{ll}} +\Tp{172} & \Tp{182} & \Tp{192} & \Tp{202} \\ +\Tp{173} & \Tp{183} & \Tp{193} & \Tp{203} \\ +\Tp{174} & \Tp{184} & \Tp{194} & \Tp{204} \\ +\Tp{175} & \Tp{185} & \Tp{195} & \Tp{205} \\ +\Tp{176} & \Tp{186} & \Tp{196} & \Tp{206} \\ +\Tp{177} & \Tp{187} & \Tp{197} & \Tp{207} \\ +\Tp{178} & \Tp{188} & \Tp{198} & \Tp{208} \\ +\Tp{179} & \Tp{189} & \Tp{199} & \Tp{209} \\ +\Tp{180} & \Tp{190} & \Tp{200} & \Tp{210} \\ +\Tp{181} & \Tp{191} & \Tp{201} & \Tp{211} \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \PI\ (part of the \pkgname{psnfss} package) provides a + \cmd{dingautolist} environment which resembles \texttt{enumerate} + but uses circled numbers as bullets.\footnotemark{} + \seedocs{\pkgname{psnfss}}. +\end{tablenote} +\end{symtable} +\footnotetext{In fact, \cmd{dingautolist} can use any set of + consecutive \PSfont{Zapf Dingbats} symbols.} + + +\begin{symtable}[WASY]{\WASY\ Stars} +\index{stars} +\index{Jewish star}\index{Star of David} +\label{wasy-stars} +\begin{tabular}{*6l} +\K\davidsstar & \K\hexstar & \K\varhexstar +\end{tabular} +\end{symtable} + + +\begin{symtable}[DING]{\DING\ Stars, Flowers, and Similar Shapes} +\index{asterisks} +\index{clovers} +\index{flowers} +\index{sparkles} +\index{snowflakes} +\index{stars} +\index{Jewish star}\index{Star of David} +\label{star-like} +\begin{tabular}{*3{ll}} +\K\Asterisk & \K\FiveFlowerPetal & \K\JackStar \\ +\K\AsteriskBold & \K\FiveStar & \K\JackStarBold \\ +\K\AsteriskCenterOpen & \K\FiveStarCenterOpen & \K\SixFlowerAlternate \\ +\K\AsteriskRoundedEnds & \K\FiveStarConvex & \K\SixFlowerAltPetal \\ +\K\AsteriskThin & \K\FiveStarLines & \K\SixFlowerOpenCenter \\ +\K\AsteriskThinCenterOpen & \K\FiveStarOpen & \K\SixFlowerPetalDotted \\ +\K\DavidStar & \K\FiveStarOpenCircled & \K\SixFlowerPetalRemoved \\ +\K\DavidStarSolid & \K\FiveStarOpenDotted & \K\SixFlowerRemovedOpenPetal \\ +\K\EightAsterisk & \K\FiveStarOutline & \K\SixStar \\ +\K\EightFlowerPetal & \K\FiveStarOutlineHeavy & \K\SixteenStarLight \\ +\K\EightFlowerPetalRemoved & \K\FiveStarShadow & \K\Snowflake \\ +\K\EightStar & \K\FourAsterisk & \K\SnowflakeChevron \\ +\K\EightStarBold & \K\FourClowerOpen & \K\SnowflakeChevronBold \\ +\K\EightStarConvex & \K\FourClowerSolid & \K\Sparkle \\ +\K\EightStarTaper & \K\FourStar & \K\SparkleBold \\ +\K\FiveFlowerOpen & \K\FourStarOpen & \K\TwelweStar \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Stars, Flowers, and Similar Shapes} +\index{asterisks} +\index{clovers} +\index{flowers} +\index{sparkles} +\index{snowflakes} +\index{stars} +\label{pi-star-like} +\begin{tabular}{*5{ll}} +\Tp{65} & \Tp{74} & \Tp{83} & \Tp{92} & \Tp{101} \\ +\Tp{66} & \Tp{75} & \Tp{84} & \Tp{93} & \Tp{102} \\ +\Tp{67} & \Tp{76} & \Tp{85} & \Tp{94} & \Tp{103} \\ +\Tp{68} & \Tp{77} & \Tp{86} & \Tp{95} & \Tp{104} \\ +\Tp{69} & \Tp{78} & \Tp{87} & \Tp{96} & \Tp{105} \\ +\Tp{70} & \Tp{79} & \Tp{88} & \Tp{97} & \Tp{106} \\ +\Tp{71} & \Tp{80} & \Tp{89} & \Tp{98} & \Tp{107} \\ +\Tp{72} & \Tp{81} & \Tp{90} & \Tp{99} \\ +\Tp{73} & \Tp{82} & \Tp{91} & \Tp{100} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Geometric Shapes} +\index{polygons} +\index{geometric shapes} +\label{wasy-geometrical} +\begin{tabular}{*8l} +\K\hexagon & \K\octagon & \K\pentagon & \K\varhexagon +\end{tabular} +\end{symtable} + + +\begin{symtable}[MNS]{\MNS\ Geometric Shapes} +\index{polygons} +\index{stars} +\index{geometric shapes} +\label{mns-geometrical} +\begin{tabular}{*4{ll}} +\K[\MNSfilledlargestar]\filledlargestar & \K[\MNSlargediamond]\largediamond & \K[\MNSlargestar]\largestar & \K[\MNSsmalllozenge]\smalllozenge \\ +\K[\MNSfilledlozenge]\filledlozenge & \K[\MNSlargelozenge]\largelozenge & \K[\MNSlargestarofdavid]\largestarofdavid & \\ +\K[\MNSfilledmedlozenge]\filledmedlozenge & \K[\MNSlargepentagram]\largepentagram & \K[\MNSmedlozenge]\medlozenge & \\ +\K[\MNSlargecircle]\largecircle & \K[\MNSlargesquare]\largesquare & \K[\MNSmedstarofdavid]\medstarofdavid & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + \MNS\ defines \cmdI[\MNSlargecircle]{\bigcirc} as a synonym for + \cmdI[\MNSlargecircle]{\largecircle}; + \cmdI[\MNSfilledlargestar]{\bigstar} as a synonym for + \cmdI[\MNSfilledlargestar]{\filledlargestar}; + \cmdI[\MNSmedlozenge]{\lozenge} as a synonym for + \cmdI[\MNSmedlozenge]{\medlozenge}; and, + \cmdI[\MNSfilledmedlozenge]{\blacklozenge} as a synonym for + \cmdI[\MNSfilledmedlozenge]{\filledmedlozenge}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[IFS]{\IFS\ Geometric Shapes} +\index{circles} +\index{diamonds} +\index{geometric shapes} +\index{squares} +\index{triangles} +\label{ifs-geometrical} +\begin{tabular}{*3{ll}} +\K\BigCircle & \K\FilledBigTriangleRight & \K\SmallCircle \\ +\K\BigCross & \K\FilledBigTriangleUp & \K\SmallCross \\ +\K\BigDiamondshape & \K\FilledCircle & \K\SmallDiamondshape \\ +\K\BigHBar & \K\FilledDiamondShadowA & \K\SmallHBar \\ +\K\BigLowerDiamond & \K\FilledDiamondShadowC & \K\SmallLowerDiamond \\ +\K\BigRightDiamond & \K\FilledDiamondshape & \K\SmallRightDiamond \\ +\K\BigSquare & \K\FilledSmallCircle & \K\SmallSquare \\ +\K\BigTriangleDown & \K\FilledSmallDiamondshape & \K\SmallTriangleDown \\ +\K\BigTriangleLeft & \K\FilledSmallSquare & \K\SmallTriangleLeft \\ +\K\BigTriangleRight & \K\FilledSmallTriangleDown & \K\SmallTriangleRight \\ +\K\BigTriangleUp & \K\FilledSmallTriangleLeft & \K\SmallTriangleUp \\ +\K\BigVBar & \K\FilledSmallTriangleRight & \K\SmallVBar \\ +\K[\ifsCircle]\Circle & \K\FilledSmallTriangleUp & \K\SpinDown \\ +\K[\ifsCross]\Cross & \K\FilledSquare & \K\SpinUp \\ +\K\DiamondShadowA & \K\FilledSquareShadowA & \K[\ifsSquare]\Square \\ +\K\DiamondShadowB & \K\FilledSquareShadowC & \K\SquareShadowA \\ +\K\DiamondShadowC & \K\FilledTriangleDown & \K\SquareShadowB \\ +\K\Diamondshape & \K\FilledTriangleLeft & \K\SquareShadowC \\ +\K\FilledBigCircle & \K\FilledTriangleRight & \K[\ifsTriangleDown]\TriangleDown \\ +\K\FilledBigDiamondshape & \K\FilledTriangleUp & \K\TriangleLeft \\ +\K\FilledBigSquare & \K\HBar & \K\TriangleRight \\ +\K\FilledBigTriangleDown & \K\LowerDiamond & \K[\ifsTriangleUp]\TriangleUp \\ +\K\FilledBigTriangleLeft & \K\RightDiamond & \K\VBar \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \begin{morespacing}{1pt} + The \IFS\ documentation points out that one can use \cmd{\rlap} to + combine some of the above into useful, new symbols. For example, + \cmdI{\BigCircle} and \cmdI{\FilledSmallCircle} combine to give + ``\,\rlap\FilledSmallCircle\BigCircle\,''. Likewise, + \cmdI[\ifsSquare]{\Square} and + \cmdI[\ifsCross]{\Cross} combine to give + ``\rlap\ifsCross\ifsSquare''. See Section~\ref{combining-symbols} + for more information about constructing new symbols out of + existing symbols. + \end{morespacing} +\end{tablenote} +\end{symtable} + + +\begin{symtable}[DING]{\DING\ Geometric Shapes} +\index{circles} +\index{diamonds} +\index{ellipses (ovals)} +\index{geometric shapes} +\index{ovals} +\index{rectangles} +\index{squares} +\index{triangles} +\label{ding-geometrical} +\begin{tabular}{*3{ll}} +\K\CircleShadow & \K\Rectangle & \K\SquareShadowTopLeft \\ +\K\CircleSolid & \K\RectangleBold & \K\SquareShadowTopRight \\ +\K\DiamondSolid & \K\RectangleThin & \K\SquareSolid \\ +\K\Ellipse & \K[\dingSquare]\Square & \K\TriangleDown \\ +\K\EllipseShadow & \K\SquareCastShadowBottomRight & \K\TriangleUp \\ +\K\EllipseSolid & \K\SquareCastShadowTopLeft \\ +\K\HalfCircleLeft & \K\SquareCastShadowTopRight \\ +\K\HalfCircleRight & \K\SquareShadowBottomRight \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{\PI\ Geometric Shapes} +\index{circles} +\index{diamonds} +\index{geometric shapes} +\index{rectangles} +\index{squares} +\index{triangles} +\label{pi-geometrical} +\begin{tabular}{*5{ll}} +\Tp{108} & \Tp{111} & \Tp{114} & \Tp{117} & \Tp{121} \\ +\Tp{109} & \Tp{112} & \Tp{115} & \Tp{119} & \Tp{122} \\ +\Tp{110} & \Tp{113} & \Tp{116} & \Tp{120} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[UNI]{\UNI\ Geometric Shapes} +\index{circles} +\index{squares} +\index{triangles} +\index{geometric shapes} +\label{uni-geometrical} +\begin{tabular}{*3{ll}} +\K\baucircle & \K\bausquare & \K\bautriangle \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[BAYER]{\BAYER\ Geometric Shapes} +\index{circles} +\index{squares} +\index{triangles} +\index{geometric shapes} +\label{bayer-geometrical} +\begin{tabular}{*3{ll}} +\K[\BAYERbaucircle]\baucircle & \K\bauhole & \K[\BAYERbausquare]\bausquare \\ +\K\baueclipse & \K\baupunct & \K[\BAYERbautriangle]\bautriangle \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[IGO]{\IGO\ Go Stones} +\index{symbols>Go stones} +\index{Go stones} +\index{circles} +\index{squares} +\index{triangles} +\index{crosses} +\index{geometric shapes} +\index{circled numbers} +\index{numbers>circled} +\label{go-stones} +\begin{tabular}{ll@{\qquad}ll} +\IGOb\igocircle & \IGOw\igocircle \\ +\IGOb\igocross & \IGOw\igocross \\ +\IGOb\igonone & \IGOw\igonone \\ +\IGOb\igosquare & \IGOw\igosquare \\ +\IGOb\igotriangle & \IGOw\igotriangle \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + In addition to the symbols shown above, \IGO's \cmd{\blackstone} and + \cmd{\whitestone} commands accept numbers from~1 to~99 and display + them circled as \blackstone[1], \blackstone[2], + \blackstone[3],~\dots\ \blackstone[99] and \whitestone[1], + \whitestone[2], \whitestone[3],~\dots\ \whitestone[99], + respectively. + + The \IGO\ package is intended to typeset Go\index{Go boards} boards + (goban\index{goban}). \seedocs{\IGO}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MAN]{\MAN\ Dangerous Bend Symbols} +\idxboth{dangerous bend}{symbols} +\index{symbols>Knuth's} +\index{Knuth, Donald E.>symbols by} +\idxTBsyms +\label{dangerous-bend} +\begin{tabular}{*3{ll}} +\K\dbend & \K\lhdbend & \K\reversedvideodbend \\ +\end{tabular} + +\bigskip +\begin{tablenote} + Note that these symbols descend far beneath the baseline. \MAN\ + also defines non-descending versions, which it calls, + correspondingly, \cmdI[\string\textdbend]{\textdbend}, + \cmdI[\string\textlhdbend]{\textlhdbend}, and + \cmdI[\string\textreversedvideodbend]{\textreversedvideodbend}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[SKULL]{\SKULL\ Symbols} +\label{skull} +\begin{tabular}{ll} +\K\skull +\end{tabular} +\end{symtable} + + +\begin{symtable}[ABX]{Non-Mathematical \ABX\ Symbols} +\label{abx-nonmath} +\begin{tabular}{ll} +\X[\ABXrip]\rip +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Information Symbols} +\idxboth{information}{symbols} +\index{check marks} +\index{Xs} +\label{marv-info} +\begin{tabular}{*3{ll}ll} +\K\Bicycle & \K\Football & \K\Pointinghand \\ +\K\Checkedbox & \K\Gentsroom & \K\Wheelchair \\ +\K\Clocklogo & \K\Industry & \K\Writinghand \\ +\K\Coffeecup & \K\Info \\ +\K\Crossedbox & \K\Ladiesroom \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[ARK]{Miscellaneous \ARK\ Dingbats} +\idxboth{miscellaneous}{symbols} +\index{check marks} +\index{carriage return} +\label{ark-misc} +\begin{tabular}{*3{ll}} +\K\anchor & \K\eye & \K\Sborder \\ +\K\carriagereturn & \K\filledsquarewithdots & \K\squarewithdots \\ +\K[\ARKcheckmark]\checkmark & \K\satellitedish & \K\Zborder \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[DING]{Miscellaneous \DING\ Dingbats} +\idxboth{miscellaneous}{symbols} +\label{bbding-misc} +\begin{tabular}{*4{ll}} +\K\Envelope & \K\Peace & \K\PhoneHandset & \K\SunshineOpenCircled \\ +\K\OrnamentDiamondSolid & \K\Phone & \K\Plane & \K\Tape \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PI]{Miscellaneous \PI\ Dingbats} +\idxboth{miscellaneous}{symbols} +\index{card suits} +\index{diamonds (suit)} +\index{hearts (suit)} +\index{clubs (suit)} +\index{spades (suit)} +\label{pi-misc} +\begin{tabular}{*5{ll}} +\Tp{37} & \Tp{40} & \Tp{164} & \Tp{167} & \Tp{171} \\ +\Tp{38} & \Tp{41} & \Tp{165} & \Tp{168} & \Tp{169} \\ +\Tp{39} & \Tp{118} & \Tp{166} & \Tp{170} \\ +\end{tabular} +\end{symtable} + +\idxbothend{dingbat}{symbols} + + +\section{Other symbols} +\idxbothbegin{miscellaneous}{symbols} + +The following are all the symbols that didn't fit neatly or +unambiguously into any of the previous sections. +\ifcomplete +(Do weather symbols belong under ``Science and technology''? Should +dice be considered ``mathematics''?) While some of the tables contain +clearly related groups of symbols (e.g., musical notes), others +represent motley assortments of whatever the font designer felt like +drawing. +\fi + +\bigskip + + +\begin{symtable}{\TC\ Genealogical Symbols} +\idxboth{genealogical}{symbols} +\label{genealogical} +\begin{tabular}{*3{ll}} +\K\textborn & \K\textdivorced & \K\textmarried \\ +\K\textdied & \K\textleaf \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ General Symbols} +\index{symbols>general} +\index{smiley faces} +\index{faces} +\label{wasy-general} +\begin{tabular}{*4{ll}} +\K\ataribox & \K\clock & \K\LEFTarrow & \K\smiley \\ +\K\bell & \K\diameter & \K\lightning & \K\sun \\ +\K\blacksmiley & \K\DOWNarrow & \K\phone & \K\UParrow \\ +\K\Bowtie & \K\frownie & \K\pointer & \K\wasylozenge \\ +\K\brokenvert & \K\invdiameter & \K\recorder \\ +\K\checked & \K\kreuz & \K\RIGHTarrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Circles} +\index{circles} +\label{wasy-circles} +\begin{tabular}{*8l} +\K\CIRCLE & \K\LEFTcircle & \K\RIGHTcircle & \K\rightturn \\ +\K\Circle & \K\Leftcircle & \K\Rightcircle \\ +\K\LEFTCIRCLE & \K\RIGHTCIRCLE & \K\leftturn \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[WASY]{\WASY\ Musical Symbols} +\idxboth{musical}{symbols} +\label{wasy-music} +\begin{tabular}{*{10}l} +\K\eighthnote & \K\halfnote & \K\twonotes & +\K\fullnote & \K\quarternote \\ +\end{tabular} + +\bigskip +\begin{tablenote} + See also \cmdX{\flat}, \cmdX{\sharp}, and \cmdX{\natural} + (Table~\vref{ord}). +\end{tablenote} +\end{symtable} + + +\begin{symtable}[AREV]{\AREV\ Musical Symbols} +\idxboth{musical}{symbols} +\label{arev-music} +\begin{tabular}{ll@{\qquad}ll@{\qquad}ll} +\K[\AREVquarternote]\quarternote & +\K[\AREVeighthnote]\eighthnote & +\K[\AREVsixteenthnote]\sixteenthnote \\ +\end{tabular} + +\bigskip +\begin{tablenote} + See also \cmdX{\flat}, \cmdX{\sharp}, and \cmdX{\natural} + (Table~\vref{ord}). +\end{tablenote} +\end{symtable} + + +\begin{symtable}[HARM]{\HARM\ Musical Symbols} +\idxboth{musical}{symbols} +\label{harmony-music} +\begin{tabular}{*4{ll@{\hspace{3em}}}ll} +\K\AAcht & \K\DDohne & \K\Halb & \K\SechBR & \K\VM \\ +\K\Acht & \K\Dohne & \K\HaPa & \K\SechBr & \K\Zwdr \\ +\K\AchtBL & \K\Ds & \K\Pu & \K\SePa & \K\ZwPa \\ +\K\AchtBR & \K\DS & \K\Sech & \K\UB & \\ +\K\AcPa & \K\Ganz & \K\SechBL & \K\Vier & \\ +\K\DD & \K\GaPa & \K\SechBl & \K\ViPa & \\ +\end{tabular} + +\bigskip +\begin{tablenote} + The \pkgname{musixtex} package must be installed to use \HARM. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[HARM]{\HARM\ Musical Accents} +\idxboth{musical}{symbols} +\index{accents} +\label{harmony-accents} +\begin{tabular}{ll@{\hspace{3em}}ll} +\Q\Ferli$^*$ & \Q\Ohne$^*$ \\ +\Q\Fermi & \Q\Umd$^*$ \\ +\Qc\Kr & \\ +\end{tabular} + +\bigskip +\begin{tablenote}[*] + These symbols take an optional argument which shifts the accent + either horizontally or vertically (depending on the command) by the + given distance. +\end{tablenote} + +\bigskip +\begin{tablenote} + In addition to the accents shown above, \cmd{\HH} is a special + accent command which accepts five period-separated characters and + typesets them such that ``\verb|\HH.X.a.b.c.d.|'' produces + ``\harmHH.X.a.b.c.d.''. All arguments except the first can be + omitted: ``\verb|\HH.X.....|'' produces ``\harmHH.X.....''. + \cmd{\Takt} takes two arguments and composes them into a musical + time signature. For example, ``\verb|\Takt{12}{8}|'' produces + ``\Takt{12}{8}''. As two special cases, ``\verb|\Takt{c}{0}|'' + produces ``\Takt{c}{0}'' and ``\verb|\Takt{c}{1}|'' produces + ``\Takt{c}{1}''. + + The \pkgname{musixtex} package must be installed to use \HARM. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[MAN]{Miscellaneous \MAN\ Symbols} +\index{symbols>Knuth's} +\index{Knuth, Donald E.>symbols by} +\index{symbols>Metafontbook=\MF{}book}\index{Metafontbook symbols=\MF{}book symbols} +\idxTBsyms +\label{knuth} +\begin{tabular}{*2{ll}} +\K\manboldkidney & \K\manpenkidney \\ +\K\manconcentriccircles & \K\manquadrifolium \\ +\K\manconcentricdiamond & \K\manquartercircle \\ +\K\mancone & \K\manrotatedquadrifolium \\ +\K\mancube & \K\manrotatedquartercircle \\ +\K\manerrarrow & \K\manstar \\ +\K\manfilledquartercircle & \K\mantiltpennib \\ +\K\manhpennib & \K\mantriangledown \\ +\K\manimpossiblecube & \K\mantriangleright \\ +\K\mankidney & \K\mantriangleup \\ +\K\manlhpenkidney & \K\manvpennib \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Navigation Symbols} +\idxboth{navigation}{symbols} +\label{marv-navigation} +\begin{tabular}{*3{ll}ll} +\K\Forward & \K\MoveDown & \K\RewindToIndex & \K\ToTop \\ +\K\ForwardToEnd & \K\MoveUp & \K\RewindToStart \\ +\K\ForwardToIndex & \K\Rewind & \K\ToBottom \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{\MARV\ Laundry Symbols} +\idxboth{laundry}{symbols} +\label{marv-laundry} +\begin{tabular}{*3{ll}} +\K\AtForty & \K\Handwash & \K\ShortNinetyFive \\ +\K\AtNinetyFive & \K\IroningI & \K\ShortSixty \\ +\K\AtSixty & \K\IroningII & \K\ShortThirty \\ +\K\Bleech & \K\IroningIII & \K\SpecialForty \\ +\K\CleaningA & \K\NoBleech & \K\Tumbler \\ +\K\CleaningF & \K\NoChemicalCleaning & \K\WashCotton \\ +\K\CleaningFF & \K\NoIroning & \K\WashSynthetics \\ +\K\CleaningP & \K\NoTumbler & \K\WashWool \\ +\K\CleaningPP & \K\ShortFifty \\ +\K\Dontwash & \K\ShortForty \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[MARV]{Other \MARV\ Symbols} +\idxboth{miscellaneous}{symbols} +\index{crosses} +\index{crucifixes} +\index{smiley faces} +\index{faces} +\label{marv-other} +\begin{tabular}{*4{ll}} +\K\Ankh & \K\Cross & \K\Heart & \K\Smiley \\ +\K\Bat & \K\FHBOlogo & \K\MartinVogel & \K\Womanface \\ +\K\Bouquet & \K\FHBOLOGO & \K\Mundus & \K\Yinyang \\ +\K\Celtcross & \K\Frowny & \K\MVAt \\ +\K\CircledA & \K\FullFHBO & \K\MVRightarrow \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[UNI]{Miscellaneous \UNI\ Symbols} +\index{faces} +\label{uni-misc} +\begin{tabular}{*2{ll}} +\K\bauforms & \K\bauhead \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[BAYER]{Miscellaneous \BAYER\ Symbols} +\index{window} +\index{faces} +\label{bayer-misc} +\begin{tabular}{*4{ll}} +\K\baudash & \K[\BAYERbauforms]\bauforms & \K\bauquarter & \K\varQ \\ +\K\bauequal & \K[\BAYERbauhead]\bauhead & \K\bauquestion & \\ +\K\bauface & \K\bauplus & \K\bauwindow & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[IFS]{\IFS\ Weather Symbols} +\idxboth{weather}{symbols} +\label{weather} +\begin{tabular}{*4{ll}} +\K\Cloud & \K\Hail & \K\Sleet & \K\WeakRain \\ +\K\FilledCloud & \K\HalfSun & \K\Snow & \K\WeakRainCloud \\ +\K\FilledRainCloud & \K[\ifsLightning]\Lightning & \K\SnowCloud & \K\FilledSnowCloud \\ +\K\FilledSunCloud & \K\NoSun & \K[\ifsSun]\Sun & \\ +\K\FilledWeakRainCloud & \K\Rain & \K\SunCloud & \\ +\K\Fog & \K\RainCloud & \K\ThinFog & \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \begin{morespacing}{\jot} + In addition, + \verb|\Thermo{0}|$\ldots$\verb|\Thermo{6}|\indexcommand{\Thermo} + produce thermometers that are between 0/6 and 6/6~full of + mercury:\quad \mbox{\Thermo{0}~~\Thermo{1}~~\Thermo{2}~~\Thermo{3}~~% + \Thermo{4}~~\Thermo{5}~~\Thermo{6}} + \end{morespacing} + + \begin{morespacing}{1pt} + Similarly, + \cmd{\wind}\verb|{|\meta{sun}\verb|}{|\meta{angle}\verb|}{|\meta{strength}\verb|}| + will draw wind symbols with a given amount of sun~(0--4), a given + angle (in degrees), and a given strength in km/h~(0--100). For + example, \verb|\wind{0}{0}{0}| produces ``\,\wind{0}{0}{0}\unskip'', + \verb|\wind{2}{0}{0}| produces ``\,\wind{2}{0}{0}\unskip'', and + \verb|\wind{4}{0}{100}| produces ``\,\wind{4}{0}{100}\unskip''. + \end{morespacing} +\end{tablenote} +\end{symtable} + + +\begin{symtable}[IFS]{\IFS\ Alpine Symbols} +\idxboth{alpine}{symbols} +\label{alpine} +\begin{tabular}{*4{ll}} +\K\SummitSign & \K\Summit & \K\SurveySign & \K\HalfFilledHut \\ +\K\StoneMan & \K\Mountain & \K\Joch & \K\VarSummit \\ +\K\Hut & \K\IceMountain & \K\Flag & \\ +\K\FilledHut & \K\VarMountain & \K\VarFlag & \\ +\K\Village & \K\VarIceMountain & \K\Tent & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[IFS]{\IFS\ Clocks} +\idxboth{clock}{symbols} +\index{time of day} +\label{clocks} +\begin{tabular}{*4{ll}} +\K\Interval & \K\StopWatchStart & \K\VarClock & \K\Wecker \\ +\K\StopWatchEnd & \K\Taschenuhr & \K\VarTaschenuhr \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \IFS\ also exports a \cmd{\showclock} macro. + \verb|\showclock{|\meta{hours}\verb|}{|\meta{minutes}\verb|}| outputs + a clock displaying the corresponding time. For instance, + ``\verb|\showclock{5}{40}|'' produces ``\showclock{5}{40}''. + \meta{hours} must be an integer from 0 to~11, and \meta{minutes} must + be an integer multiple of~5 from 0 to~55. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[IFS]{Other \IFS\ Symbols} +\idxboth{miscellaneous}{symbols} +\index{tally markers} +\index{dice} +\label{ifs-misc} +\begin{tabular}{*3{ll}} +\K\FilledSectioningDiamond & \K[\ifsLetter]\Letter + & \K\Radiation \\ +\K\Fire & \K\PaperLandscape & \K\SectioningDiamond \\ +\K\Irritant & \K\PaperPortrait & \K\Telephone \\[2ex] + +\K\StrokeOne & \K\StrokeThree & \K\StrokeFive \\ +\K\StrokeTwo & \K\StrokeFour \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \begin{morespacing}{\jot} + In addition, + \verb|\Cube{1}|$\ldots$\verb|\Cube{6}|\indexcommand{\Cube} produce + dice with the corresponding number of spots:\quad + \mbox{\Cube{1}~~\Cube{2}~~\Cube{3}~~\Cube{4}~~\Cube{5}~~\Cube{6}} + \end{morespacing} +\end{tablenote} +\end{symtable} + + +\begin{symtable}[EDICE]{\EDICE\ Dice} +\idxboth{miscellaneous}{symbols} +\index{dice} +\label{edice} +\begin{tabular}{ll@{\qquad}ll@{\qquad}ll} + \KED[\allepsdice][\epsdice][\epsdice{1}]\epsdice\verb|{1}| & + \KED[\allepsdice][\epsdice][\epsdice{3}]\epsdice\verb|{3}| & + \KED[\allepsdice][\epsdice][\epsdice{5}]\epsdice\verb|{5}| \\ + \KED[\allepsdice][\epsdice][\epsdice{2}]\epsdice\verb|{2}| & + \KED[\allepsdice][\epsdice][\epsdice{4}]\epsdice\verb|{4}| & + \KED[\allepsdice][\epsdice][\epsdice{6}]\epsdice\verb|{6}| \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The \EDICE\ package does not provide a font but rather an interface + to a set of graphics drawn in Encapsulated \postscript. + Consequently, \EDICE\ does not work with pdf\LaTeX. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[SKAK]{\SKAK\ Chess Informator Symbols} +\idxboth{chess}{symbols} +\idxboth{informator}{symbols} +\begin{tabular}{*4{ll}} +\K\bbetter & \K\doublepawns & \K\novelty & \K\various \\ +\K\bdecisive & \K\ending & \K\onlymove & \K\wbetter \\ +\K\betteris & \K\equal & \K\opposbishops & \K\wdecisive \\ +\K\bishoppair & \K[\SKAKetc]\etc & \K\passedpawn & \K\weakpt \\ +\K\bupperhand & \K\file & \K\qside & \K\with \\ +\K\centre & \K\kside & \K\samebishops & \K\withattack \\ +\K\comment & \K\markera & \K[\SKAKsee]\see & \K\withidea \\ +\K\compensation & \K\markerb & \K\seppawns & \K\withinit \\ +\K\counterplay & \K\mate & \K\timelimit & \K\without \\ +\K\devadvantage & \K\morepawns & \K\unclear & \K\wupperhand \\ +\K\diagonal & \K\moreroom & \K\unitedpawns & \K\zugzwang \\ +\end{tabular} + +\bigskip +\begin{tablenote} + \font\chessfont=skak10 + \def\chs#1{{\chessfont#1}} + + The preceding symbols are merely the named informator symbol. + \SKAK\ can typeset many more chess-related symbols, including those + for all of the pieces (\chs{KQRBNP}\slash\chs{kqrbnp}), but only in + the context of moves and boards, not as individual, named \latex + symbols. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[METRE]{\METRE\ Metrical Symbols} +\idxboth{metrical}{symbols} +\label{metre} +\begin{tabular}{*5{ll@{\hspace*{2em}}}ll} +\Mt\a & \Mt\bBm & \Mt\cc & \Mt\Mbb & \Mt\Pppp & \Mt\t \\ +\Mt\B & \Mt\bbm & \Mt\Ccc & \Mt\mbbx & \Mt\pppp & \Mt\tsbm \\ +\Mt\b & \Mt\Bbm & \Mt\m & \Mt\oo & \Mt\Ppppp & \Mt\tsmb \\ +\Mt\Bb & \Mt\bbmb & \Mt\M & \Mt\p & \Mt\ppppp & \Mt\tsmm \\ +\Mt\BB & \Mt\bbmx & \Mt\ma & \Mt\pm & \Mt\ps & \Mt\vppm \\ +\Mt\bb & \Mt\bm & \Mt\Mb & \Mt\pp & \Mt\pxp & \Mt\vpppm \\ +\Mt\bB & \Mt\Bm & \Mt\mb & \Mt\Pp & \Mt\Pxp & \Mt\x \\ +\Mt\bba & \Mt\c & \Mt\mBb & \Mt\ppm & \Mt\R \\ +\Mt\bbb & \Mt\C & \Mt\mbB & \Mt\ppp & \Mt\r \\ +\Mt\BBm & \Mt\Cc & \Mt\mbb & \Mt\Ppp & \Mt\T \\ +\end{tabular} + +\bigskip +\begin{tablenote} + The preceding symbols are valid only within the argument to the + \cmd{metre} command. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[METRE]{\METRE\ Small and Large Metrical Symbols} +\idxboth{metrical}{symbols} +\label{metre-small-large} +\begin{tabular}{ll@{\hspace*{3em}}ll} +\K\anaclasis & \K\Anaclasis \\ +\K[\METREantidiple]\antidiple & \K[\METREAntidiple]\Antidiple \\ +\K[\METREantidiplestar]{\antidiple*} & \K[\METREAntidiplestar]{\Antidiple*} \\ +\K\antisigma & \K\Antisigma \\ +\K\asteriscus & \K\Asteriscus \\ +\K\catalexis & \K\Catalexis \\ +\K[\METREdiple]\diple & \K[\METREDiple]\Diple \\ +\K[\METREdiplestar]{\diple*} & \K[\METREDiplestar]{\Diple*} \\ +\K[\METREobelus]\obelus & \K[\METREObelus]\Obelus \\ +\K[\METREobelusstar]{\obelus*} & \K[\METREObelusstar]{\Obelus*} \\ +\K[\METRErespondens]\respondens & \K[\METRERespondens]\Respondens \\ +\K[\METREterminus]\terminus & \K[\METRETerminus]\Terminus \\ +\K[\METREterminusstar]{\terminus*} & \K[\METRETerminusstar]{\Terminus*} \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PHAI]{\PHAI\ Symbols from the Phaistos Disk} +\index{Phaistos disk} +\index{symbols>Phaistos disk} +\label{phaistos} +\begin{tabular}{*2{ll@{\hspace*{3em}}}ll} +\K\PHarrow & \K\PHeagle & \K\PHplumedHead \\ +\K\PHbee & \K\PHflute & \K\PHram \\ +\K\PHbeehive & \K\PHgaunlet & \K\PHrosette \\ +\K\PHboomerang & \K\PHgrater & \K\PHsaw \\ +\K\PHbow & \K\PHhelmet & \K\PHshield \\ +\K\PHbullLeg & \K\PHhide & \K\PHship \\ +\K\PHcaptive & \K\PHhorn & \K\PHsling \\ +\K\PHcarpentryPlane & \K\PHlid & \K\PHsmallAxe \\ +\K\PHcat & \K\PHlily & \K\PHstrainer \\ +\K\PHchild & \K\PHmanacles & \K\PHtattooedHead \\ +\K\PHclub & \K\PHmattock & \K\PHtiara \\ +\K\PHcolumn & \K\PHoxBack & \K\PHtunny \\ +\K\PHcomb & \K\PHpapyrus & \K\PHvine \\ +\K\PHdolium & \K\PHpedestrian & \K\PHwavyBand \\ +\K\PHdove & \K\PHplaneTree & \K\PHwoman \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[PROTO]{\PROTO\ Proto-Semitic Characters} +\idxboth{proto-Semitic}{symbols} +\index{alphabets>proto-Semitic} +\label{protosem} +\begin{tabular}{*4{ll@{\hspace*{3em}}}ll} +\K[\textproto\Aaleph]\Aaleph & +\K[\textproto\AAhe]\AAhe & +\K[\textproto\Akaph]\Akaph & +\K[\textproto\Asamekh]\Asamekh & +\K[\textproto\AAresh]\AAresh \\ + +\K[\textproto\AAaleph]\AAaleph & +\K[\textproto\Azayin]\Azayin & +\K[\textproto\AAkaph]\AAkaph & +\K[\textproto\Ape]\Ape & +\K[\textproto\Ashin]\Ashin \\ + +\K[\textproto\Abeth]\Abeth & +\K[\textproto\Avav]\Avav & +\K[\textproto\Alamed]\Alamed & +\K[\textproto\AApe]\AApe & +\K[\textproto\Ahelmet]\Ahelmet \\ + +\K[\textproto\AAbeth]\AAbeth & +\K[\textproto\Aheth]\Aheth & +\K[\textproto\AAlamed]\AAlamed & +\K[\textproto\Asade]\Asade & +\K[\textproto\AAhelmet]\AAhelmet \\ + +\K[\textproto\Agimel]\Agimel & +\K[\textproto\AAheth]\AAheth & +\K[\textproto\Am]\Amem & +\K[\textproto\AAsade]\AAsade & +\K[\textproto\Atav]\Atav \\ + +\K[\textproto\Adaleth]\Adaleth & +\K[\textproto\Ateth]\Ateth & +\K[\textproto\Anun]\Anun & +\K[\textproto\Aqoph]\Aqoph \\ + +\K[\textproto\AAdaleth]\AAdaleth & +\K[\textproto\Ayod]\Ayod & +\K[\textproto\Aayin]\Aayin & +\K[\textproto\AAqoph]\AAqoph \\ + +\K[\textproto\Ahe]\Ahe & +\K[\textproto\AAyod]\AAyod & +\K[\textproto\AAayin]\AAayin & +\K[\textproto\Aresh]\Aresh \\ +\end{tabular} + +\bigskip +\begin{tablenote} + The \PROTO\ package defines abbreviated control sequences for each + of the above. In addition, single-letter shortcuts can be used + within the argument to the \cmd{\textproto} command + (e.g.,~``\verb|\textproto{Pakyn}|'' produces ``\textproto{Pakyn}''). + \seedocs{\PROTO}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[HIER]{\HIER\ Hieroglyphics} +\index{hieroglyphics} +\index{alphabets>hieroglyphic} +\label{hieroglf} +\begin{tabular}{*3{ll@{\hspace*{3em}}}ll} +\K[\textpmhg\HA]\HA & \K[\textpmhg\HI]\HI & \K[\textpmhg\Hn]\Hn & \K[\textpmhg\HT]\HT \\ +\K[\textpmhg\Ha]\Ha & \K[\textpmhg\Hi]\Hi & \K[\textpmhg\HO]\HO & \K[\textpmhg\Ht]\Ht \\ +\K[\textpmhg\HB]\HB & \K[\textpmhg\Hibl]\Hibl & \K[\textpmhg\Ho]\Ho & \K[\textpmhg\Htongue]\Htongue \\ +\K[\textpmhg\Hb]\Hb & \K[\textpmhg\Hibp]\Hibp & \K[\textpmhg\Hp]\Hp & \K[\textpmhg\HU]\HU \\ +\K[\textpmhg\Hc]\Hc & \K[\textpmhg\Hibs]\Hibs & \K[\textpmhg\HP]\HP & \K[\textpmhg\Hu]\Hu \\ +\K[\textpmhg\HC]\HC & \K[\textpmhg\Hibw]\Hibw & \K[\textpmhg\Hplural]\Hplural & \K[\textpmhg\HV]\HV \\ +\K[\textpmhg\HD]\HD & \K[\textpmhg\HJ]\HJ & \K[\textpmhg\Hplus]\Hplus & \K[\textpmhg\Hv]\Hv \\ +\K[\textpmhg\Hd]\Hd & \K[\textpmhg\Hj]\Hj & \K[\textpmhg\HQ]\HQ & \K[\textpmhg\Hvbar]\Hvbar \\ +\K[\textpmhg\Hdual]\Hdual & \K[\textpmhg\Hk]\Hk & \K[\textpmhg\Hq]\Hq & \K[\textpmhg\Hw]\Hw \\ +\K[\textpmhg\He]\He & \K[\textpmhg\HK]\HK & \K[\textpmhg\Hquery]\Hquery & \K[\textpmhg\HW]\HW \\ +\K[\textpmhg\HE]\HE & \K[\textpmhg\HL]\HL & \K[\textpmhg\HR]\HR & \K[\textpmhg\HX]\HX \\ +\K[\textpmhg\Hf]\Hf & \K[\textpmhg\Hl]\Hl & \K[\textpmhg\Hr]\Hr & \K[\textpmhg\Hx]\Hx \\ +\K[\textpmhg\HF]\HF & \K[\textpmhg\Hm]\Hm & \K[\textpmhg\Hs]\Hs & \K[\textpmhg\HY]\HY \\ +\K[\textpmhg\HG]\HG & \K[\textpmhg\HM]\HM & \K[\textpmhg\HS]\HS & \K[\textpmhg\Hy]\Hy \\ +\K[\textpmhg\Hg]\Hg & \K[\textpmhg\Hman]\Hman & \K[\textpmhg\Hscribe]\Hscribe & \K[\textpmhg\Hz]\Hz \\ +\K[\textpmhg\Hh]\Hh & \K[\textpmhg\Hms]\Hms & \K[\textpmhg\Hslash]\Hslash & \K[\textpmhg\HZ]\HZ \\ +\K[\textpmhg\HH]\HH & \K[\textpmhg\HN]\HN & \K[\textpmhg\Hsv]\Hsv & \\ +~\\[2ex] +\K[\textpmhg\Hone]\Hone & \K[\textpmhg\Hhundred]\Hhundred & \K[\textpmhg\HXthousand]\HXthousand & \K[\textpmhg\Hmillion]\Hmillion \\ +\K[\textpmhg\Hten]\Hten & \K[\textpmhg\Hthousand]\Hthousand & \K[\textpmhg\HCthousand]\HCthousand \\ +\end{tabular} + +\bigskip +\begin{tablenote} + The \HIER\ package defines alternate control sequences and + single-letter shortcuts for each of the above which can be used + within the argument to the \cmd{\textpmhg} command + (e.g.,~``\verb|\textpmhg{Pakin}|'' produces ``\textpmhg{Pakin}''). + \seedocs{\HIER}. +\end{tablenote} +\end{symtable} + + +\begin{symtable}[DICT]{\DICT\ Dictionary Symbols} +\idxboth{dictionary}{symbols} +\label{dictionary} +\begin{tabular}{*2{ll@{\hspace*{3em}}}ll} +\K\dsaeronautical & \K\dscommercial & \K\dsmedical \\ +\K\dsagricultural & \K\dsheraldical & \K\dsmilitary \\ +\K\dsarchitectural & \K\dsjuridical & \K\dsrailways \\ +\K\dsbiological & \K\dsliterary & \K\dstechnical \\ +\K\dschemical & \K\dsmathematical & \\ +\end{tabular} +\end{symtable} + + +\begin{symtable}[SIMP]{\SIMP\ Characters from \emph{The Simpsons}} +\index{symbols>Simpsons characters} +\index{Simpsons characters} +\index{faces} +\label{simpsons} +\begin{tabular}{*3{ll@{\hspace*{3em}}}ll} +\K\Bart & \K\Homer & \K\Maggie & \K\SNPP \\ +\K\Burns & \K\Lisa & \K\Marge & \\ +\end{tabular} + +\bigskip + +\begin{tablenote} + The location of the characters' pupils can be controlled with the + \cmd{\Goofy} command. See \emph{A \MF\ of `Simpsons' + characters}~\cite{Chen1997} for more information. Also, each of the + above can be prefixed with \cmd{\Left} to make the character face + left instead of right: + + \begin{center} + \begin{tabular}{ll} + \Left\Bart & \verb|\Left\Bart| \\ + \end{tabular} + \end{center} +\end{tablenote} +\end{symtable} + + +\begin{longsymtable}[STAVE]{\STAVE\ Magical Staves} +\index{symbols>staves} +\index{symbols>magical signs} +\index{magical signs} +\index{staves} +\index{Icelandic staves} +\label{staves} +\begin{longtable}{*2{ll@{\hspace*{3em}}}ll} +\multicolumn{6}{l}{\small\textit{(continued from previous page)}} \\[3ex] +\endhead +\endfirsthead +\\[3ex] +\multicolumn{6}{r}{\small\textit{(continued on next page)}} +\endfoot +\endlastfoot +\K\staveI & \K\staveXXIV & \K\staveXLVII \\ +\K\staveII & \K\staveXXV & \K\staveXLVIII \\ +\K\staveIII & \K\staveXXVI & \K\staveXLIX \\ +\K\staveIV & \K\staveXXVII & \K\staveL \\ +\K\staveV & \K\staveXXVIII & \K\staveLI \\ +\K\staveVI & \K\staveXXIX & \K\staveLII \\ +\K\staveVII & \K\staveXXX & \K\staveLIII \\ +\K\staveVIII & \K\staveXXXI & \K\staveLIV \\ +\K\staveIX & \K\staveXXXII & \K\staveLV \\ +\K\staveX & \K\staveXXXIII & \K\staveLVI \\ +\K\staveXI & \K\staveXXXIV & \K\staveLVII \\ +\K\staveXII & \K\staveXXXV & \K\staveLVIII \\ +\K\staveXIII & \K\staveXXXVI & \K\staveLIX \\ +\K\staveXIV & \K\staveXXXVII & \K\staveLX \\ +\K\staveXV & \K\staveXXXVIII & \K\staveLXI \\ +\K\staveXVI & \K\staveXXXIX & \K\staveLXII \\ +\K\staveXVII & \K\staveXL & \K\staveLXIII \\ +\K\staveXVIII & \K\staveXLI & \K\staveLXIV \\ +\K\staveXIX & \K\staveXLII & \K\staveLXV \\ +\K\staveXX & \K\staveXLIII & \K\staveLXVI \\ +\K\staveXXI & \K\staveXLIV & \K\staveLXVII \\ +\K\staveXXII & \K\staveXLV & \K\staveLXVIII \\ +\K\staveXXIII & \K\staveXLVI & \\ +\end{longtable} + +\bigskip + +\begin{tablenote} + The meanings of these symbols are described on the Web site for the + Museum of Icelandic Sorcery and Witchcraft\index{Museum of Icelandic + Sorcery and Witchcraft} at + \url{http://www.galdrasyning.is/index.php?option=com_content&task=category§ionid=5&id=18&Itemid=60} + (TinyURL: \url{http://tinyurl.com/25979m}). For example, + \cmdI{\staveL}~(``\staveL'') is intended to ward off + ghosts\index{ghosts} and evil\index{evil spirits} spirits. +\end{tablenote} +\end{longsymtable} + + +\idxbothend{miscellaneous}{symbols} + + +\section{Additional Information} +\label{addl-info} + +Unlike the previous sections of this document, Section~\ref{addl-info} +does not contain new symbol tables. Rather, it provides additional +help in using the \doctitle. First, it draws attention to symbol +names used by multiple packages. Next, it provides some guidelines +for finding symbols and gives some examples regarding how to construct +missing symbols out of existing ones. Then, it comments on the +spacing surrounding symbols in math mode. After that, it presents an +ASCII and Latin~1 quick-reference guide, showing how to enter all of +the standard ASCII/Latin~1 symbols in \latex{}. And finally, it lists +some statistics about this document itself. + +\subsection{Symbol Name Clashes} + +% Rather than create a rat's nest of \if statements, we keep the table +% whole and have each symbol conditionally appear. +\makeatletter +\DeclareRobustCommand{\trysym}[1]{\@ifundefined{#1}{\mbox{\tiny N/A}}{\csname#1\endcsname}} +\makeatother + +Unfortunately, a number of symbol names are not unique; they appear in +more than one package. Depending on how the symbols are defined in +each package, \latex{} will either output an error message or replace +an earlier-defined symbol with a later-defined symbol. +Table~\ref{name-clashes} presents a selection of name clashes that +appear in this document. +\ifcomplete +\else + The symbol ``\trysym{NONEXISTENT}'' is used to indicate that the + corresponding package was not available when \selftex was compiled. +\fi + +\begin{nonsymtableL}{Symbol Name Clashes} +\label{name-clashes} +\begin{tabular}{@{}lp{0.3em}cccccccccc@{}} \toprule + Symbol && \latexE & \AmS & \ST & \WASY & \ABX & \MARV & \DING & \IFS & \ARK & \WIPA \\ + \cmidrule(r){1-1}\cmidrule(l){3-12} + % + \cmdI[$\trysym{baro}$ vs.\ \trysym{WSUbaro}]{\baro} && + & & $\trysym{baro}$ & & & & & & & \trysym{WSUbaro} \\ + \cmdI[$\string\bigtriangledown$ vs.\ $\trysym{STbigtriangledown}$]{\bigtriangledown} && + $\bigtriangledown$ & & $\trysym{STbigtriangledown}$ \\ + \cmdI[$\string\bigtriangleup$ vs.\ $\trysym{STbigtriangleup}$]{\bigtriangleup} && + $\bigtriangleup$ & & $\trysym{STbigtriangleup}$ \\ + \cmdI[\trysym{checkmark} vs.\ \trysym{ARKcheckmark}]{\checkmark} && + & \trysym{checkmark} & & & & & & & \trysym{ARKcheckmark} \\ + \cmdI[\trysym{Circle} vs.\ \trysym{ifsCircle}]{\Circle} && + & & & \trysym{Circle} & & & & \trysym{ifsCircle} \\ + \cmdI[\trysym{Cross} vs.\ \trysym{dingCross} vs.\ \trysym{ifsCross}]{\Cross} && + & & & & & \trysym{Cross} & \trysym{dingCross} & \trysym{ifsCross} \\ + \cmdI[$\trysym{ggg}$ vs.\ $\trysym{ABXggg}$]{\ggg} && + & $\trysym{ggg}$ & & & $\trysym{ABXggg}$ \\ + \cmdI[\trysym{Letter} vs.\ \trysym{ifsLetter}]{\Letter} && + & & & & & \trysym{Letter} & & \trysym{ifsLetter} \\ + \cmdI[$\trysym{STlightning}$ vs.\ \trysym{WASYlightning}]{\lightning} && + & & $\trysym{STlightning}$ & \trysym{WASYlightning} \\ + \cmdI[\trysym{Lightning} vs.\ \trysym{ifsLightning}]{\Lightning} && + & & & & & \trysym{Lightning} & & \trysym{ifsLightning} \\ + \cmdI[$\trysym{lll}$ vs.\ $\trysym{ABXlll}$]{\lll} && + & $\trysym{lll}$ & & & $\trysym{ABXlll}$ \\ + \cmdI[\trysym{Square} vs.\ \trysym{dingSquare} vs.\ \trysym{ifsSquare}]{\Square} && + & & & \trysym{Square} & & & \trysym{dingSquare} & \trysym{ifsSquare} \\ + \cmdI[\trysym{Sun} vs.\ \trysym{ifsSun} vs.\ $\trysym{ABXSun}$]{\Sun} && + & & & & $\trysym{ABXSun}$ & \trysym{Sun} & & \trysym{ifsSun} \\ + \cmdI[\trysym{TriangleDown} vs.\ \trysym{ifsTriangleDown}]{\TriangleDown} && + & & & & & & \trysym{TriangleDown} & \trysym{ifsTriangleDown} \\ + \cmdI[\trysym{TriangleUp} vs.\ \trysym{ifsTriangleUp}]{\TriangleUp} && + & & & & & & \trysym{TriangleUp} & \trysym{ifsTriangleUp} \\ + \bottomrule +\end{tabular} +\end{nonsymtableL} + + +Using multiple symbols with the same name in the same document---or +even merely loading conflicting symbol packages---can be tricky but, +as evidenced by the existence of Table~\ref{name-clashes}, not +impossible. The general procedure is to load the first package, +rename the conflicting symbols, and then load the second package. +Examine the \latex{} source for this document (\selftex) for examples +of this and other techniques for handling symbol conflicts. Note that +\selftex's \cmd{\savesymbol} and \cmd{\restoresymbol} macros have been +extracted into the \pkgname{savesym} package, which can be downloaded +from CTAN\idxCTAN. + +\ifTX + +\TX\ and \PX\ redefine a huge number of symbols---essentially, all of +the symbols defined by \pkgname{latexsym}, \TC, the various \AMS\ +symbol sets, and \latexE\ itself. +\ifABX + Similarly, \ABX\ redefines a vast number of math symbols in an + attempt to improve their look. The \TX, \PX, and \ABX\ conflicts +\else + The \TX\ and \PX\ conflicts +\fi +are not listed in Table~\ref{name-clashes} because they are designed +to be compatible with the symbols they replace. +Table~\vref{benign-clash} illustrates what ``compatible'' means in +this context. + +\begin{nonsymtable}{Example of a Benign Name Clash} +\label{benign-clash} +\begin{tabular}{@{}lcc@{}} \toprule +& Default & \TX \\ +\multicolumn{1}{c}{\raisebox{1ex}[0pt][0pt]{Symbol}} & +(\PSfont{Computer Modern}) & +(\PSfont{Times Roman}) \\ \cmidrule(r){1-1}\cmidrule(l){2-3} +\texttt{R} & \Huge R & {\fontfamily{txr}\selectfont \Huge R} \\ +\cmdI{\textrecipe} & \Huge\textrecipe & + {\fontfamily{txr}\selectfont \Huge\textrecipe} \\ +\bottomrule +\end{tabular} +\end{nonsymtable} + +To use the new \TXPX\ symbols without altering the document's main font, +merely reset the default font families back to their original values +after loading one of those packages: + +\begin{verbatim} + \renewcommand\rmdefault{cmr} + \renewcommand\sfdefault{cmss} + \renewcommand\ttdefault{cmtt} +\end{verbatim} + +\fi % TX test + + +\subsection{Resizing symbols} +\label{resizing-symbols} + +Mathematical symbols listed in this document as +``variable-sized\idxboth{variable-sized}{symbols}'' are designed to +stretch vertically. Each +variable-sized\idxboth{variable-sized}{symbols} symbol comes in one or +more basic sizes plus a variation comprising both stretchable and +nonstretchable segments. Table~\vref{var-sized-syms} presents the +symbols \cmdX{\}} and \cmdX{\uparrow} in their default size, in their +\cmd{\big}, \cmd{\Big}, \cmd{\bigg}, and \cmd{\Bigg} sizes, in an even +larger size achieved using \cmd{\left}\slash\cmd{\right}, and---for +contrast---in a large size achieved by changing the font size using +\latexE's \cmd{\fontsize} command. Because the symbols shown belong +to the \PSfont{Computer Modern} family, the \pkgname{type1cm} package +needs to be loaded to support font sizes larger than 24.88\,pt. + +\begin{nonsymtable}{Sample resized delimiters} +\idxboth{variable-sized}{symbols} +\label{var-sized-syms} +\newcommand{\maketall}[1]{\ensuremath{\left.\rule{0pt}{1.5cm}\right#1}} +\newcommand{\makebig}[1]{\fontsize{3cm}{3cm}\selectfont\ensuremath{#1}} +\begin{tabular}{@{}*8c@{}} + \toprule + Symbol & + Default size & + \cmd{\big} & + \cmd{\Big} & + \cmd{\bigg} & + \cmd{\Bigg} & + \cmd{\left}\,/\,\cmd{\right} & + \cmd{\fontsize} \\ + \midrule + + \verb|\}| & + $\}$ & + $\big\}$ & + $\Big\}$ & + $\bigg\}$ & + $\Bigg\}$ & + \maketall\} & + \makebig\} \\ + + \verb|\uparrow| & + $\uparrow$ & + $\big\uparrow$ & + $\Big\uparrow$ & + $\bigg\uparrow$ & + $\Bigg\uparrow$ & + \maketall\uparrow & + \makebig\uparrow \\ + \bottomrule +\end{tabular} +\end{nonsymtable} + +Note how \cmd{\fontsize} makes the symbol wider and thicker. (The +\pkgname{graphicx} package's \cmd{\scalebox} or \cmd{\resizebox} +commands would produce a similar effect.) Also, the +\cmd{\fontsize}-enlarged symbol is vertically centered relative to +correspondingly large text, unlike the symbols enlarged using +\cmd{\big} et al.\ or \cmd{\left}\slash\cmd{\right}, which all use the +same math axis regardless of symbol size. However, \cmd{\fontsize} is +not limited to mathematical delimiters. Also, \cmd{\scalebox} and +\cmd{\resizebox} are more robust to poorly composed symbols (e.g.,~two +symbols made to overlap by backspacing a fixed distance) but do not +work with every \tex backend and will produce jagged symbols when +scaling a bitmapped font. + +\ifhavemultirow + +All variable-sized delimiters are defined (by the corresponding +\texttt{.tfm} file) in terms of up to five segments, as illustrated by +Figure~\vref{extensible-brace}. The top, middle, and bottom segments +are of a fixed size. The top-middle and middle-bottom segments (which +are constrained to be the same character) are repeated as many times +as necessary to achieve the desired height. + +\begin{figure}[htbp] +\centering +\renewcommand{\arraystretch}{2} +\newcommand{\cmexchar}{\usefont{OMX}{cmex}{m}{n}\selectfont\char} +\newlength{\braceheight} +\setlength{\braceheight}{6.5\baselineskip} +\begin{tabular}{@{}ccl@{}} + \multirow{5}*{$\left.\rule{0pt}{\braceheight}\right\} \longrightarrow$} + & \cmexchar'71 & top \\ + & \cmexchar'76 & top-middle (extensible) \\ + & \cmexchar'75 & middle \\ + & \cmexchar'76 & middle-bottom (extensible) \\ + & \cmexchar'73 & bottom \\ + \\ +\end{tabular} +\index{symbols>extensible} +\caption{Implementation of variable-sized delimiters} +\label{extensible-brace} +\end{figure} + +\fi % havemultirow test + + +\subsection{Where can I find the symbol for~\dots?} +\label{combining-symbols} + +If you can't find some symbol you're looking for in this document, there +are a few possible explanations: + +\begin{itemize} + \item The symbol isn't intuitively named. As a few examples, the + \IFS\ command to draw dice\index{dice} is ``\cmd{\Cube}''; a plus + sign with a circle around it (``exclusive or''\index{exclusive or} + to computer engineers) is ``\cmdX{\oplus}''; and lightning bolts in + fonts designed by German speakers may have ``blitz'' in their names + as in the \ULSY\ package. The moral of the story is to be creative + with synonyms when searching the index. + + \item The symbol is defined by some package that I overlooked (or + deemed unimportant). If there's some symbol package that you think + should be included in the \doctitle, please send me e-mail at the + address listed on the title page. + + \item The symbol isn't defined in any package whatsoever. +\end{itemize} + +\ifcomplete + Even in the last case, all is not lost. Sometimes, a symbol exists + in a font, but there is no \latex{} binding for it. For example, + the \postscript \PSfont{Symbol} font contains a + ``\Pisymbol{psy}{191}''\index{arrows} symbol, which may be useful + for representing a carriage\index{carriage return} return, but there + is no package (as far as I know) for accessing that symbol. To + produce an unnamed symbol, you need to switch to the font explicitly + with \latexE's low-level font commands~\cite{fntguide} and use + \tex's primitive \cmd{\char} command~\cite{Knuth:ct-a} to request a + specific character number in the font.\footnote{\pkgname{pifont} + defines a convenient \cmd{\Pisymbol} command for accessing symbols + in \postscript\index{PostScript fonts} fonts by number. For example, + ``\cmd{\Pisymbol}\texttt{\string{psy\string}\string{191\string}}'' + produces ``\Pisymbol{psy}{191}''.} +\ifOTII % Not covered by \ifcomplete + In fact, \cmd{\char} is not strictly necesssary; the character can + often be entered symbolically. + \index{sha=sha ({\fontencoding{OT2}\selectfont SH})|(} + For example, the symbol for an impulse train or Tate-Shafarevich + group (``{\fontencoding{OT2}\selectfont SH}'') is actually an + uppercase \textit{sha} in the Cyrillic\index{alphabets>Cyrillic} + alphabet. (Cyrillic is supported by the OT2 \fntenc[OT2], for + instance). While a \textit{sha} can be defined numerically as + ``\verb|{\fontencoding{OT2}|\linebreak[0]\verb|\selectfont\char88}|'' + it may be more intuitive to use the OT2 \fntenc[OT2]'s ``SH'' + ligature: + ``\verb|{\fontencoding{OT2}|\linebreak[0]\verb|\selectfont SH}|''. + \index{sha=sha ({\fontencoding{OT2}\selectfont SH})|)} +\fi % OTII test + + + \subsubsection*{Reflecting and rotating existing symbols} + + \mbox{} % Force the \index commands into the paragraph proper. + \index{symbols>reversed|(} + \index{symbols>rotated|(} + \index{symbols>upside-down|(} + \index{symbols>inverted|(} + \index{reversed symbols|(} + \index{rotated symbols|(} + \index{upside-down symbols|(} + \index{inverted symbols|(} + \DeclareRobustCommand{\irony}{\textsuperscript{\reflectbox{?}}} + A common request on \ctt is for a reversed or rotated version of an + existing symbol. As a last resort, these effects can be achieved + with the \pkgname{graphicx} (or \pkgname{graphics}) package's + \cmd{\reflectbox} and \cmd{\rotatebox} macros. + \newcommand{\definitedescription}{\rotatebox[origin=c]{180}{$\iota$}} + For example, \verb|\textsuperscript{\reflectbox{?}}| produces an + irony\index{irony mark=irony mark (\irony)} mark~(``\,\irony\,''; + cf.~\url{http://en.wikipedia.org/wiki/Irony_mark}), and + \verb|\rotatebox[origin=c]{180}{$\iota$}| produces the + definite-description\index{definite-description operator + (\definitedescription)} + operator~(``\rotatebox[origin=c]{180}{$\iota$}''). The disadvantage + of the \pkgname{graphicx}/\pkgname{graphics} approach is that not + every \tex backend handles graphical transformations.\footnote{As an + example, Xdvi\index{Xdvi} ignores both \cmd{\reflectbox} and + \cmd{\rotatebox}.} Far better is to find a suitable font that + contains the desired symbol in the correct orientation. For + instance, if the \PHON\ package is available, then + \verb|\textit{\riota}| will yield a + backend-independent~``\textit{\riota}''. + Similarly,\label{page:such-that} \TIPA's + \cmdI{\textrevepsilon}~(``\textrevepsilon'') or \WIPA's + \cmdI{\revepsilon}~(``\revepsilon'') may be used to express the + mathematical notion of ``such\index{such that} that'' in a cleaner + manner than with \cmd{\reflectbox} or + \cmd{\rotatebox}.\footnote{More common symbols for representing + ``such\index{such that} that'' include ``\texttt{|}'', + ``\texttt{:}'', and ``\texttt{s.t.}''.} + \index{symbols>reversed|)} + \index{symbols>rotated|)} + \index{symbols>upside-down|)} + \index{symbols>inverted|)} + \index{reversed symbols|)} + \index{rotated symbols|)} + \index{inverted symbols|)} + + \subsubsection*{Joining and overlapping existing symbols} + + Symbols that do not exist in any font can sometimes be fabricated + out of existing symbols. The \latexE{} source file \fontdefdtx + contains a number of such definitions. For example, \cmdX{\models} + (see Table~\vref{rel}) is defined in that file with: +\else + Even in the last case, all is not lost. Sometimes, a symbol exists + in a font, but there is no \latex{} binding for it. + + \subsubsection*{Reflecting and rotating existing symbols} + + Rotated/reflected versions of an existing symbol can be produced + using the \pkgname{graphicx} (or \pkgname{graphics}) package's + \cmd{\reflectbox} and \cmd{\rotatebox} macros.\footnote{This should + be used as a last resort. Not every \tex backend supports graphical + transformations.} + + \subsubsection*{Joining and overlapping existing symbols} + + If a symbol does not exist in any orientation in any font, it may be + possible to fabricate it out of existing symbols. The \latexE{} + source file \fontdefdtx contains a number of such definitions. For + example, \cmdX{\models} (see Table~\vref{rel}) is defined in that + file with: +\fi % Matches \ifcomplete ... + +\begin{verbatim} + \def\models{\mathrel|\joinrel=} +\end{verbatim} + +\noindent +where \cmd{\mathrel} and \cmd{\joinrel} are used to control the +horizontal spacing. \verb|\def| is the \tex primitive upon which +\latex's \verb|\newcommand| is based. See \TeXbook for more +information on all three of those commands. + +\newcommand{\ismodeledby}{\ensuremath{=\joinrel\mathrel|}} +With some simple pattern-matching, one can easily define a backward +\cmdX{\models} sign (``\ismodeledby''): + +\begin{verbatim} + \def\ismodeledby{=\joinrel\mathrel|} +\end{verbatim} +\indexcommand[\string\ismodeledby]{\ismodeledby} + +In general, arrows/harpoons, horizontal lines (``='', ``-'', +``\cmdX{\relbar}'', and ``\cmdX{\Relbar}''), and the various +math-extension characters can be combined creatively with +miscellaneous other characters to produce a variety of new symbols. +Of course, new symbols can be composed from \emph{any} set of existing +characters. For instance, \latex defines \cmdX{\hbar} (``$\hbar$'') +as a ``$\mathchar'26$'' character (\verb|\mathchar'26|) followed by a +backspace of 9~math units (\verb|\mkern-9mu|), followed by the +letter~``$h$'': + +\begin{verbatim} + \def\hbar{{\mathchar'26\mkern-9muh}} +\end{verbatim} + +\noindent +We can just as easily define other barred\idxboth{barred}{letters} +letters: + +\def\bbar{{\mathchar'26\mkern-9mu b}} +\def\dbar{{\mathchar'26\mkern-12mu d}} + +\begin{verbatim} + \def\bbar{{\mathchar'26\mkern-9mu b}} + \def\dbar{{\mathchar'26\mkern-12mu d}} +\end{verbatim} + +\noindent +(The space after the ``mu'' is optional but is added for clarity.) +\cmdX{\bbar} and \cmdX{\dbar} define ``$\bbar$'' and ``$\dbar$'', +respectively. Note that \cmdX{\dbar} requires a greater backward +math~kern than \cmdX{\bbar}; a $-9$\,mu~kern would have produced +the less-attractive ``$\mathchar'26\mkern-9mu d$'' glyph. + +The \pkgname{amsmath} package provides \cmd{\overset} and +\cmd{\underset} commands for placing one symbol respectively above or +below another. For example, +\verb|\overset{G}{\sim}|\footnote{\LaTeX's \cmd{\stackrel} command is +similar but is limited to placing a symbol above a binary relation.} +produces ``$\overset{G}{\sim}$'' (sometimes used for +``equidecomposable\index{equidecomposable} with respect to~$G$''). + +\DeclareRobustCommand{\asterism}{\smash{% + \raisebox{-.5ex}{% + \setlength{\tabcolsep}{-.5pt}% + \begin{tabular}{@{}cc@{}}% + \multicolumn2c*\\[-2ex]*&*% + \end{tabular}}}} + +Sometimes an ordinary \texttt{tabular} environment can be co-opted +into juxtaposing existing symbols into a new symbol. Consider the +following definition of \cmdI{\asterism}~(``\asterism'') from a +June~2007 post to \ctt by \person{Peter}{Flynn}: + +\begin{verbatim} + \newcommand{\asterism}{\smash{% + \raisebox{-.5ex}{% + \setlength{\tabcolsep}{-.5pt}% + \begin{tabular}{@{}cc@{}}% + \multicolumn2c*\\[-2ex]*&*% + \end{tabular}}}} +\end{verbatim} + +\noindent +Note how the space between columns (\cmd{\tabcolsep}) and rows +(\verb|\\[|\dots\verb|]|) is made negative to squeeze the asterisks +closer together. + +\bigskip + +There is a \tex primitive called \cmd{\mathaccent} that centers one +mathematical symbol atop another. For\label{page:dotcup} example, one +can define \cmdX{\dotcup} (``\dotcup'')---the composition of a +\cmdX{\cup} and a \cmdX{\cdot}---as follows: + +\begin{verbatim} + \newcommand{\dotcup}{\ensuremath{\mathaccent\cdot\cup}} +\end{verbatim} + +\noindent +The catch is that \cmd{\mathaccent} requires the accent to be a ``math +character''. That is, it must be a character in a math font as +opposed to a symbol defined in terms of other symbols. See \TeXbook +for more information. + +Another \tex primitive that is useful for composing symbols is +\cmd{\vcenter}. \cmd{\vcenter} is conceptually similar to +``\verb|\begin{tabular}{l}|'' in \latex but takes a list of vertical +material instead of \verb|\\|-separated rows. Also, it vertically +centers the result on the math axis. (Many operators, such as ``$+$'' +and ``$-$'' are also vertically centered on the math axis.) +\person{Enrico}{Gregorio} posted the following symbol definition to +\ctt in March~2004 in response to a query about an alternate way to +denote equivalence: + +\newcommand*{\threesim}{% + \mathrel{\vcenter{\offinterlineskip + \hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}}}} + +\begin{verbatim} + \newcommand*{\threesim}{% + \mathrel{\vcenter{\offinterlineskip + \hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}}}} +\end{verbatim} + +\noindent +The \cmdX{\threesim} symbol, which vertically centers three +\cmdX{\sim}~(``$\sim$'') symbols with 0.35 $x$-heights of space +between them, is rendered as ``$\threesim$''. \cmd{\offinterlineskip} +is a macro that disables implicit interline spacing. Without it, +\cmdX{\threesim} would have a full line of vertical spacing between +each \cmdX{\sim}. Because of \cmd{\vcenter}, \cmdX{\threesim} aligns +properly with other math operators: \mbox{$a \div b \threesim c \times +d$}. + +\makeatletter +\providecommand\barcirc{\mathpalette\@barred\circ} +\def\@barred#1#2{\ooalign{\hfil$#1-$\hfil\cr\hfil$#1#2$\hfil\cr}} +\newcommand\stst{^{\protect\barcirc}} +\makeatother + +A related \latex command, borrowed from Plain \tex, is \cmd{\ooalign}. +\cmd{\ooalign} vertically overlaps symbols and works both within and +outside of math mode. Essentially, it creates a single-column +\texttt{tabular} environment with zero vertical distance between rows. +However, because it is based directly on \tex's \cmd{\ialign} +primitive, \cmd{\ooalign} uses \tex's tabular syntax instead of +\latex's (i.e.,~with \cmd{\cr} as the row terminator instead of +\cmd{\\}). The following example of \cmd{\ooalign}, a macro that +defines a standard-state\index{standard state} symbol~(\cmdX{\stst}, +``$\stst$'') as a superscripted Plimsoll\index{Plimsoll line} +line~(\cmdX{\barcirc}, ``$\barcirc$''),% +\ifST + \footnote{While \cmdX{\barcirc} illustrates how to combine symbols + using \cmd{\ooalign}, the \ST\ package's \cmdX{\minuso} command + (Table~\vref{st-bin}) provides a similar glyph~(``$\minuso$'') as a + single, indivisible symbol.} +\fi % ST test + is due to an October~2007 \ctt post by \person{Donald}{Arseneau}: + +\begin{verbatim} + \makeatletter + \providecommand\barcirc{\mathpalette\@barred\circ} + \def\@barred#1#2{\ooalign{\hfil$#1-$\hfil\cr\hfil$#1#2$\hfil\cr}} + \newcommand\stst{^{\protect\barcirc}} + \makeatother +\end{verbatim} + +In the preceding code, note the \cmd{\ooalign} call's use of +\cmd{\hfil} to horizontally center a minus sign~(``$-$'') and a +\cmdX{\circ}~(``$\circ$''). + +\DeclareRobustCommand{\suchthat}{% + \mathrel{\ooalign{$\ni$\cr\kern-1pt$-$\kern-6.5pt$-$}}} + +As another example of \cmd{\ooalign}, consider the following code (due +to \person{Enrico}{Gregorio} in a June~2007 post to \ctt) that +overlaps a \cmdX{\ni}~(``$\ni$'') and two minus +signs~(``$-$\kern-6.5pt$-$'') to produce +``$\suchthat$''\indexcommand[$\suchthat$]{\suchthat}% +\ifcomplete + , an obscure variation on the infrequently used ``\textrevepsilon'' + symbol for ``such\index{such that} that''% + discussed~\vpageref[above]{page:such-that}% +\fi +: + +\begin{verbatim} + \newcommand{\suchthat}{% + \mathrel{\ooalign{$\ni$\cr\kern-1pt$-$\kern-6.5pt$-$}}} +\end{verbatim} + +The \pkgname{slashed} package, although originally designed for +producing Feynman\index{Feynman slashed character notation} +slashed-character\idxboth{slashed}{letters} notation, in fact +facilitates the production of \emph{arbitrary} overlapped symbols. +\ifhaveslashed + \newcommand{\rqm}{{\declareslashed{}{\text{-}}{0.04}{0}{I}\slashed{I}}} + The default behavior is to overwrite a given character with ``$/$''. + For example, \cmd{\slashed}\verb|{D}| produces ``$\slashed{D}$''. + However, the \cmd{\declareslashed} command provides the flexibility + to specify the mathematical context of the composite character + (operator, relation, punctuation, etc., as will be discussed in + Section~\ref{math-spacing}), the overlapping symbol, horizontal and + vertical adjustments in symbol-relative units, and the character to + be overlapped. Consider, for example, the symbol for reduced + quadrupole moment~(``$\rqm$''). This can be declared as follows: + +\begin{verbatim} + \newcommand{\rqm}{{% + \declareslashed{}{\text{-}}{0.04}{0}{I}\slashed{I}}} +\end{verbatim} + + \noindent + \newcommand{\curlyarg}{\texttt{\char`\{}$\cdot$\texttt{\char`\}}}% + \cmd{\declareslashed}\curlyarg\curlyarg\curlyarg\curlyarg\verb|{I}| + affects the meaning of all subsequent \cmd{\slashed}\verb|{I}| + commands in the same scope. The preceding definition of \cmdX{\rqm} + therefore uses an extra set of curly braces to limit that scope to a + single \cmd{\slashed}\verb|{I}|. In addition, \cmdX{\rqm} uses + \pkgname{amstext}'s \cmd{\text} macro + (described~\vpageref[below]{text-macro}) to make + \cmd{\declareslashed} use a text-mode hyphen~(``-'') instead of a + math-mode minus sign~(``$-$'') and to ensure that the hyphen scales + properly in size in subscripts and superscripts. +\fi % haveslashed +See \pkgname{slashed}'s documentation (located in +\filename{slashed.sty} itself) for a detailed usage description of the +\cmd{\slashed} and \cmd{\declareslashed} commands. + +Somewhat simpler than \pkgname{slashed} is the \pkgname{centernot} +package. \pkgname{centernot} provides a single command, +\cmd{\centernot}, which, like \cmd{\not}, puts a slash over the +subsequent mathematical symbol. However, instead of putting the slash +at a fixed location, \cmd{\centernot} centers the slash over its +argument% +\ifhavecenternot + : + + \begin{center} + \renewcommand{\arraystretch}{1.25}% + \begin{tabular}{cl} + $\not\longrightarrow$ & \verb|\not\longrightarrow| \\ + \multicolumn{2}{c}{vs.} \\ + $\centernot\longrightarrow$ & \verb|\centernot\longrightarrow| \\ + \end{tabular} + \end{center} +\else + . +\fi % \havecenternot +\seedocs{\pkgname{centernot}}. + + +\subsubsection*{Making new symbols work in superscripts and subscripts} + +\index{subscripts>new symbols used in|(} +\index{superscripts>new symbols used in|(} +\def\topbotatom#1{\hbox{\hbox to 0pt{$#1\bot$\hss}$#1\top$}} +\newcommand*{\topbot}{\mathrel{\mathchoice{\topbotatom\displaystyle} + {\topbotatom\textstyle} + {\topbotatom\scriptstyle} + {\topbotatom\scriptscriptstyle}}} + +To make composite symbols work properly within subscripts and +superscripts, you may need to use \tex's \cmd{\mathchoice} primitive. +\cmd{\mathchoice} evaluates one of four expressions, based on whether +the current math style is display, text, script, or scriptscript. +(See \TeXbook for a more complete description.) For example, the +following \latex code---posted to \ctt by +\person{Torsten}{Bronger}---composes a sub/superscriptable +``$\topbot$'' symbol out of \cmdX{\top} and \cmdX{\bot} (``$\top$'' +and ``$\bot$''): + +\indexcommand[$\string\topbot$]{\topbot}% +\indexcommand{\displaystyle}% +\indexcommand{\textstyle}% +\indexcommand{\scriptstyle}% +\indexcommand{\scriptscriptstyle}% +\label{code:topbot}% +\begin{verbatim} + \def\topbotatom#1{\hbox{\hbox to 0pt{$#1\bot$\hss}$#1\top$}} + \newcommand*{\topbot}{\mathrel{\mathchoice{\topbotatom\displaystyle} + {\topbotatom\textstyle} + {\topbotatom\scriptstyle} + {\topbotatom\scriptscriptstyle}}} +\end{verbatim} +\index{superscripts>new symbols used in|)} +\index{subscripts>new symbols used in|)} + +\index{integrals|(} + +The following\label{dashint} is another example that uses +\cmd{\mathchoice} to construct symbols in different math modes. The +code defines a principal value integral symbol, which is an integral +sign with a line through it. + +\indexcommand{\displaystyle}% +\indexcommand{\textstyle}% +\indexcommand{\scriptstyle}% +\indexcommand{\scriptscriptstyle}% +\begin{verbatim} + \def\Xint#1{\mathchoice + {\XXint\displaystyle\textstyle{#1}}% + {\XXint\textstyle\scriptstyle{#1}}% + {\XXint\scriptstyle\scriptscriptstyle{#1}}% + {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}% + \!\int} + \def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$} + \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} + \def\ddashint{\Xint=} + \def\dashint{\Xint-} +\end{verbatim} + +\noindent +(The preceding code was taken verbatim from the UK \TeX{} Users' Group +FAQ at \url{http://www.tex.ac.uk/faq}.) +\cmdI[$\string\dashint$]{\dashint} produces a single-dashed integral +sign~(``$\dashint$''), while \cmdX{\ddashint} produces a double-dashed +one~(``$\ddashint$''). The \verb|\Xint| macro defined above can also +be used to generate a wealth of new integrals: +\ifAMS + ``$\Xint\circlearrowright$'' (\verb|\Xint\circlearrowright|), + ``$\Xint\circlearrowleft$'' (\verb|\Xint\circlearrowleft|), + ``$\Xint\subset$'' (\verb|\Xint\subset|), ``$\Xint\infty$'' + (\verb|\Xint\infty|), and so forth. +\else + \verb|\Xint\circlearrowright|, \verb|\Xint\circlearrowleft|, + \verb|\Xint\subset|, \verb|\Xint\infty|, and so forth. +\fi % AMS test + +\index{integrals|)} + +\newcommand\independent{\protect\mathpalette{\protect\independenT}{\perp}} +\def\independenT#1#2{\mathrel{\rlap{$#1#2$}\mkern2mu{#1#2}}} + +\latexE provides a simple wrapper for \cmd{\mathchoice} that sometimes +helps produce terser symbol definitions. The macro is called +\cmd{\mathpalette} and it takes two arguments. \cmd{\mathpalette} +invokes the first argument, passing it one of ``\cmd{\displaystyle}'', +``\cmd{\textstyle}'', ``\cmd{\scriptstyle}'', or +``\cmd{\scriptscriptstyle}'', followed by the second argument. +\cmd{\mathpalette} is useful when a symbol macro must know which math +style is currently in use (e.g.,~to set it explicitly within an +\cmd{\mbox}). \person{Donald}{Arseneau} posted the following +\cmd{\mathpalette}-based definition of a +probabilistic-independence\index{probabilistic +independence}\index{independence>probabilistic}\index{statistical +independence}\index{independence>statistical} +symbol~(``$\independent$'') to \ctt in June~2000: + +\begin{verbatim} + \newcommand\independent{\protect\mathpalette{\protect\independenT}{\perp}} + \def\independenT#1#2{\mathrel{\rlap{$#1#2$}\mkern2mu{#1#2}}} +\end{verbatim} + +\noindent +The \cmdX{\independent} macro uses \cmd{\mathpalette} to pass the +\verb|\independenT| helper macro both the current math style and the +\cmdX{\perp} symbol. \verb|\independenT| typesets \cmdX{\perp} in the +current math style, moves two math units to the right, and finally +typesets a second---overlapping---copy of \cmdX{\perp}, again in the +current math style. \cmd{\rlap}, which enables text overlap, is +described~\vpageref[later on this page]{desc:rlap}. + +\def\hksqrt{\mathpalette\DHLhksqrt} +\def\DHLhksqrt#1#2{\setbox0=\hbox{$#1\sqrt{#2\,}$}\dimen0=\ht0 + \advance\dimen0-0.2\ht0 + \setbox2=\hbox{\vrule height\ht0 depth -\dimen0}% + {\box0\lower0.4pt\box2}} + +\index{sqrt=\verb+\sqrt+ ($\blackacc{\sqrt}$)|(} + +\begin{morespacing}{1pt} +Some people like their square-root signs with a trailing ``hook'' +(i.e.,~``$\!\hksqrt{~}$\,'') as this helps visually distinguish +expressions like~``$\!\sqrt{3x}$\,'' from those +like~``$\!\sqrt{3}x$''. In March 2002, \person{Dan}{Luecking} posted +a \cmd{\mathpalette}-based definition of a hooked square-root symbol +to \ctt: +\end{morespacing} + +\index{hksqrt=\verb+\hksqrt+ ($\blackacc{\hksqrt}$)}% +\begin{verbatim} + \def\hksqrt{\mathpalette\DHLhksqrt} + \def\DHLhksqrt#1#2{\setbox0=\hbox{$#1\sqrt{#2\,}$}\dimen0=\ht0 + \advance\dimen0-0.2\ht0 + \setbox2=\hbox{\vrule height\ht0 depth -\dimen0}% + {\box0\lower0.4pt\box2}} +\end{verbatim} + +\noindent +Notice how \verb|\DHLhksqrt| uses \cmd{\mathpalette} to recover the +outer math style (argument~\verb|#1|) from within an \verb|\hbox|. +The rest of the code is simply using \tex primitives to position a +hook of height 0.2~times the \verb|\sqrt| height at the right of the +\verb|\sqrt|. See \TeXbook for more understanding of \tex ``boxes'' +and ``dimens''. + +\index{sqrt=\verb+\sqrt+ ($\blackacc{\sqrt}$)|)} + + +\index{arrows>double-headed, diagonal|(} +\label{code:neswarrow}% +\newcommand{\neswarrow}{\mathrel{\text{$\nearrow$\llap{$\swarrow$}}}} +\newcommand{\nwsearrow}{\mathrel{\text{$\nwarrow$\llap{$\searrow$}}}} + +Sometimes, however, \pkgname{amstext}'s \cmd{\text}\label{text-macro} +macro is all that is necessary to make composite symbols appear +correctly in subscripts and superscripts, as in the following +definitions of \cmdX{\neswarrow} (``$\neswarrow$'') and +\cmdX{\nwsearrow} (``$\nwsearrow$''):\footnote{Note that if your goal +is to typeset commutative diagrams, then you should probably be using +\xypic.} + +\indexcommand[$\string\nearrow$]{\nearrow} +\indexcommand[$\string\swarrow$]{\swarrow} +\indexcommand[$\string\nwarrow$]{\nwarrow} +\indexcommand[$\string\searrow$]{\searrow} +\begin{verbatim} + \newcommand{\neswarrow}{\mathrel{\text{$\nearrow$\llap{$\swarrow$}}}} + \newcommand{\nwsearrow}{\mathrel{\text{$\nwarrow$\llap{$\searrow$}}}} +\end{verbatim} + +\noindent +\cmd{\text} resembles \latex's \cmd{\mbox} command but shrinks its +argument appropriately when used within a subscript or superscript. +\cmd{\llap} (``left overlap'') and its counterpart, +\cmd{\rlap}\label{desc:rlap} (``right overlap''), appear frequently +when creating composite characters. \cmd{\llap} outputs its argument +to the left of the current position, overlapping whatever text is +already there. Similarly, \cmd{\rlap} overlaps whatever text would +normally appear to the right of its argument. For example, +``\verb|A|\cmd{\llap}\verb|{B}|'' and ``\cmd{\rlap}\verb|{A}B|'' each +produce ``A\llap{B}''. However, the result of the former is the width +of ``A'', and the result of the latter is the width of +``B''---\cmd{\llap}\verb|{|\dots\verb|}| and +\cmd{\rlap}\verb|{|\dots\verb|}| take up zero space. +\index{arrows>double-headed, diagonal|)} + +In a June~2002 post to \ctt, \person{Donald}{Arseneau} presented a +general macro for aligning an arbitrary number of symbols on their +horizontal centers and vertical baselines: + +\indexcommand{\ialign}% +\begin{verbatim} + \makeatletter + \def\moverlay{\mathpalette\mov@rlay} + \def\mov@rlay#1#2{\leavevmode\vtop{% + \baselineskip\z@skip \lineskiplimit-\maxdimen + \ialign{\hfil$#1##$\hfil\cr#2\crcr}}} + \makeatother +\end{verbatim} + +\noindent +The \cmd{\makeatletter} and \cmd{\makeatother} commands are needed to +coerce \latex{} into accepting ``\texttt{@}'' as part of a macro +name. \cmd{\moverlay} takes a list of symbols separated by \verb|\cr| +(\tex's equivalent of \latex's \verb|\\|). For example, the +\cmdX{\topbot} command defined \vpageref[above]{code:topbot} could +have been expressed as ``\verb|\moverlay{\top\cr\bot}|'' and the +\cmdX{\neswarrow} command defined \vpageref[above]{code:neswarrow} +could have been expressed as +``\verb|\moverlay{\nearrow\cr\swarrow}|''.% +\indexcommand[$\string\nearrow$]{\nearrow}% +\indexcommand[$\string\swarrow$]{\swarrow} + +The basic concept behind \cmd{\moverlay}'s implementation is that +\cmd{\moverlay} typesets the given symbols in a table that utilizes a +zero \verb|\baselineskip|. This causes every row to be typeset at the +same vertical position. See \TeXbook for explanations of the \tex +primitives used by \cmd{\moverlay}. + +\subsubsection*{Modifying \latex-generated symbols} + +\index{dots (ellipses)|(} +\index{ellipses (dots)|(} +\index{dot symbols|(} +\index{symbols>dot|(} + +Oftentimes, symbols composed in the \latexE source code can be +modified with minimal effort to produce useful variations. For +example, \fontdefdtx composes the \cmdX{\ddots} symbol (see +Table~\vref{dots}) out of three periods, raised~7\,pt., 4\,pt., and +1\,pt., respectively: + +\begin{verbatim} + \def\ddots{\mathinner{\mkern1mu\raise7\p@ + \vbox{\kern7\p@\hbox{.}}\mkern2mu + \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}} +\end{verbatim} + +\noindent +\cmd{\p@} is a \latexE{} shortcut for ``\texttt{pt}'' or +``\texttt{1.0pt}''. The remaining commands are defined in \TeXbook. +To\label{revddots} draw a version of \cmdX{\ddots} with the dots going +along the opposite diagonal, we merely have to reorder the +\verb|\raise7\p@|, \verb|\raise4\p@|, and \verb|\raise\p@|: + +\begin{verbatim} + \makeatletter + \def\revddots{\mathinner{\mkern1mu\raise\p@ + \vbox{\kern7\p@\hbox{.}}\mkern2mu + \raise4\p@\hbox{.}\mkern2mu\raise7\p@\hbox{.}\mkern1mu}} + \makeatother +\end{verbatim} + \makeatletter + \def\revddots{\mathinner{\mkern1mu\raise\p@ + \vbox{\kern7\p@\hbox{.}}\mkern2mu + \raise4\p@\hbox{.}\mkern2mu\raise7\p@\hbox{.}\mkern1mu}} + \makeatother +\indexcommand[$\string\revddots$]{\revddots} + +\noindent +\cmdX{\revddots} is essentially identical to the \MDOTS\ +package's +\ifMDOTS + \cmdX{\iddots} +\else + \cmd{\iddots} +\fi +command or the \YH\ package's +\ifYH + \cmdX{\adots} +\else + \cmd{\adots} +\fi +command. +\index{symbols>dot|)} +\index{dot symbols|)} +\index{ellipses (dots)|)} +\index{dots (ellipses)|)} + + +\subsubsection*{Producing complex accents} + +\ifx\diatop\undefined +% The following was copied verbatim from ipa.sty, from the wsuipa package. +\def\diatop[#1|#2]{% + {\setbox1=\hbox{#1{}}% diacritic mark + \setbox2=\hbox{#2{}}% letter (the group {} in case it is a diacritic) + \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi% compute the max width + % the `natural height' of diacritics is 1ex; + % \dimen1 is the shift upwards + \dimen1=\ht2\advance\dimen1by-1ex% + % center the diacritic mark on the width of the letter: + \setbox1=\hbox to\dimen0{\hss#1{}\hss}% + \leavevmode % force horizontal mode + \rlap{\raise\dimen1\box1}% the raised diacritic mark + \hbox to\dimen0{\hss#2\hss}% the letter + }% + }% +\fi + +\index{accents|(} +\index{accents>multiple per character} +\index{multiple accents per character} +Accents\label{multiple-accents} are a special case of combining +existing symbols to make new symbols. While various tables in this +document show how to add an accent to an existing symbol, some +applications, such as transliterations from non-Latin alphabets, +require \emph{multiple} accents per character. For instance, the +creator of pdf\TeX\ writes his name as ``H\`an +Th\diatop[\'|\^e]\index{Thanh, Han The=\thanhhanthe} Th\`anh''. The +\pkgname{dblaccnt} package enables \latex{} to stack accents, as in +``\verb|H\`an| \verb|Th\'{\^e}| \verb|Th\`anh|'' (albeit not in the +OT1 \fntenc[OT1]). In addition, the \pkgname{wsuipa} package defines +\cmd{\diatop} and \cmd{\diaunder} macros for putting one or more +diacritics or accents above or below a given character. +\ifTIPA\ifWIPA + For example, + \verb+\diaunder[{\diatop[\'|\=]}|+\linebreak[0]\verb+\textsubdot{r}]+ + produces ``\diaunder[{\diatop[\'|\=]}|\textsubdot{r}]''. +\fi\fi +\seedocs{\pkgname{wsuipa}}. + +\index{accents>any character as} +The \pkgname{accents} package facilitates the fabrication of accents +in math mode. Its \cmd{\accentset} command enables \emph{any} +character to be used as an accent. +\ifACCENTS + For instance, \cmd{\accentset}\verb+{+\cmdX{\star}\verb+}{f}+ + produces ``$\accentset{\star}{f}\,$'' and + \cmd{\accentset}\verb+{e}{X}+ produces ``$\accentset{e}{X}$''. +\fi +\cmd{\underaccent} does the same thing, but places the accent beneath +the character. +\ifACCENTS + This enables constructs like + \cmd{\underaccent}\verb+{+\cmdI[$\string\blackacc{\string\tilde}$]{\tilde}\verb+}{V}+, + which produces ``$\underaccent{\tilde}{V}$''.\index{tilde} +\fi +\pkgname{accents} provides other accent-related features as well; see +the documentation for more information. +\index{accents|)} + +\subsubsection*{Creating extensible symbols} + +\index{symbols>extensible|(} +\index{extensible symbols, creating|(} + +A relatively simple example of creating extensible symbols stems from +a \ctt post by \person{Donald}{Arseneau} (June~2003). The following +code defines an equals sign that extends as far to the right as +possible, just like \latex's \verb|\hrulefill| command: + +\makeatletter + \def\equalsfill{$\m@th\mathord=\mkern-7mu + \cleaders\hbox{$\!\mathord=\!$}\hfill + \mkern-7mu\mathord=$} +\makeatother + +\begin{verbatim} + \makeatletter + \def\equalsfill{$\m@th\mathord=\mkern-7mu + \cleaders\hbox{$\!\mathord=\!$}\hfill + \mkern-7mu\mathord=$} + \makeatother +\end{verbatim} + +\noindent +\tex's \verb|\cleaders| and \verb|\hfill| primitives are the key to +understanding \cmd{\equalsfill}'s extensibility. Essentially, +\cmd{\equalsfill} repeats a box containing ``$=$'' plus some negative +space until it fills the maximum available horizontal space. +\cmd{\equalsfill} is intended to be used with \latex's \cmd{\stackrel} +command, which stacks one mathematical expression (slightly reduced in +size) atop another. Hence, ``\cmd{\stackrel}\verb|{a}{\rightarrow}|'' +produces ``$\stackrel{a}{\rightarrow}$'' and ``X +\cmd{\stackrel}\verb|{\text{definition}}{\hbox{|\cmd{\equalsfill}\verb|}}| +Y'' produces ``$X \stackrel{\text{definition}}{\hbox{\equalsfill}} +Y$''.\idxboth{definition}{symbols}\label{equalsfill-ex} + +\index{symbols>actuarial|(} +\index{actuarial symbols|(} +\index{symbols>life insurance|(} +\index{life-insurance symbols|(} + +If all that needs to extend are horizontal and vertical lines---as +opposed to repeated symbols such as the ``$=$'' in the previous +example---\latex's \verb|array| or \verb|tabular| environments may +suffice. Consider the following code (due to a February~1999 \ctt +post by \person{Donald}{Arseneau}) for typesetting +annuities\index{annuity}: + + \DeclareRobustCommand{\annu}[1]{_{% + \def\arraystretch{0}% + \setlength\arraycolsep{1pt}% adjust these + \setlength\arrayrulewidth{.2pt}% two settings + \begin{array}[b]{@{}c|}\hline + \\[\arraycolsep]% + \scriptstyle #1% + \end{array}% + }} + +\begin{verbatim} + \DeclareRobustCommand{\annu}[1]{_{% + \def\arraystretch{0}% + \setlength\arraycolsep{1pt}% adjust these + \setlength\arrayrulewidth{.2pt}% two settings + \begin{array}[b]{@{}c|}\hline + \\[\arraycolsep]% + \scriptstyle #1% + \end{array}% + }} +\end{verbatim} + +\noindent +One can then use, e.g.,~``\verb|$A\annu{x:n}$|'' to produce +``$A\annu{x:n}$''.\indexaccent[$\string\blackacc\string\annu$]{\annu} + +\index{symbols>actuarial|)} +\index{actuarial symbols|)} +\index{symbols>life insurance|)} +\index{life-insurance symbols|)} + +\index{accents|(} +\index{extensible accents|(} +\index{accents>extensible|(} + +A more complex example of composing accents is the following +definition of extensible \cmdW{\overbracket}, \cmdW{\underbracket}, +\cmdW{\overparenthesis}, and \cmdW{\underparenthesis} symbols, taken +from a May~2002 \ctt post by \person{Donald}{Arseneau}: + +\indexcommand{\ialign}% +\makeatletter +\def\overbracket#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3\p@} + \DAdownbracketfill\crcr\noalign{\kern3\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} +\def\underbracket#1{\mathop{\vtop{\ialign{##\crcr + $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} + \DAupbracketfill\crcr\noalign{\kern3\p@}}}}\limits} +\def\overparenthesis#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3\p@} + \downparenthfill\crcr\noalign{\kern3\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} +\def\underparenthesis#1{\mathop{\vtop{\ialign{##\crcr + $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} + \upparenthfill\crcr\noalign{\kern3\p@}}}}\limits} +\def\downparenthfill{$\m@th\braceld\leaders\vrule\hfill\bracerd$} +\def\upparenthfill{$\m@th\bracelu\leaders\vrule\hfill\braceru$} +\def\DAupbracketfill{$\m@th\makesm@sh{\llap{\vrule\@height3\p@\@width.7\p@}}% + \leaders\vrule\@height.7\p@\hfill + \makesm@sh{\rlap{\vrule\@height3\p@\@width.7\p@}}$} +\def\DAdownbracketfill{$\m@th + \makesm@sh{\llap{\vrule\@height.7\p@\@depth2.3\p@\@width.7\p@}}% + \leaders\vrule\@height.7\p@\hfill + \makesm@sh{\rlap{\vrule\@height.7\p@\@depth2.3\p@\@width.7\p@}}$} +\makeatother + +\indexcommand{\displaystyle}% +\indexcommand{\ialign}% +\begin{verbatim} + \makeatletter + \def\overbracket#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3\p@} + \downbracketfill\crcr\noalign{\kern3\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} + \def\underbracket#1{\mathop{\vtop{\ialign{##\crcr + $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} + \upbracketfill\crcr\noalign{\kern3\p@}}}}\limits} + \def\overparenthesis#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3\p@} + \downparenthfill\crcr\noalign{\kern3\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} + \def\underparenthesis#1{\mathop{\vtop{\ialign{##\crcr + $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} + \upparenthfill\crcr\noalign{\kern3\p@}}}}\limits} + \def\downparenthfill{$\m@th\braceld\leaders\vrule\hfill\bracerd$} + \def\upparenthfill{$\m@th\bracelu\leaders\vrule\hfill\braceru$} + \def\upbracketfill{$\m@th\makesm@sh{\llap{\vrule\@height3\p@\@width.7\p@}}% + \leaders\vrule\@height.7\p@\hfill + \makesm@sh{\rlap{\vrule\@height3\p@\@width.7\p@}}$} + \def\downbracketfill{$\m@th + \makesm@sh{\llap{\vrule\@height.7\p@\@depth2.3\p@\@width.7\p@}}% + \leaders\vrule\@height.7\p@\hfill + \makesm@sh{\rlap{\vrule\@height.7\p@\@depth2.3\p@\@width.7\p@}}$} + \makeatother +\end{verbatim} + +\noindent +Table~\ref{manual-extensible-accents} showcases these accents. +\TeXbook or another book on \tex primitives is indispensible for +understanding how the preceding code works. The basic idea is that +\cmd{\downparenthfill}, \cmd{\upparenthfill}, \cmd{\downbracketfill}, +and \cmd{\upbracketfill} do all of the work; they output a left symbol +(e.g.,~\cmdX{\braceld} [``$\braceld$''] for \cmd{\downparenthfill}), a +horizontal rule that stretches as wide as possible, and a right symbol +(e.g.,~\cmdX{\bracerd} [``$\bracerd$''] for \cmd{\downparenthfill}). +\cmdW{\overbracket}, \cmdW{\underbracket}, \cmdW{\overparenthesis}, and +\cmdW{\underparenthesis} merely create a table whose width is +determined by the given text, thereby constraining the width of the +horizontal rules. + +\begin{nonsymtable}{Manually Composed Extensible Accents} +\index{accents} +\idxboth{extensible}{accents} +\label{manual-extensible-accents} +\renewcommand{\arraystretch}{1.75} +\begin{tabular}{*2{ll}} +\W\overbracket{abc} & \W\overparenthesis{abc} \\ +\W\underbracket{abc} & \W\underparenthesis{abc} \\ +\end{tabular} +\end{nonsymtable} + +Note that the \pkgname{simplewick} package provides mechanisms for +typesetting Wick\index{Wick contractions} contractions, which utilize +\cmdW{\overbracket}- and \cmdW{\underbracket}-like brackets of +variable width \emph{and} height (or depth). +\ifhavesimplewick + For example, ``\cmd{\acontraction}\verb|{}{A}{B}{C}|\linebreak[0]% + \cmd{\acontraction}\verb|[2ex]{A}{B}{C}{D}|\linebreak[0]% + \cmd{\bcontraction}\verb|{}{A}{BC}{D}|\linebreak[0]\verb|ABCD|'' produces + \[ + \acontraction{}{A}{B}{C} + \acontraction[2ex]{A}{B}{C}{D} + \bcontraction{}{A}{BC}{D} + ABCD + \qquad. + \] +\fi % simplewick test +\seedocs{\pkgname{simplewick}}. + +\index{accents>extensible|)} +\index{extensible accents|)} +\index{accents|)} + +\index{symbols>extensible|)} +\index{extensible symbols, creating|)} + + +\subsubsection*{Developing new symbols from scratch} + +Sometimes is it simply not possible to define a new symbol in terms of +existing symbols. Fortunately, most, if not all, \tex distributions +are shipped with a tool called \metafont which is designed +specifically for creating fonts to be used with \tex. The +\MF{}book~\cite{Knuth:ct-c} is the authoritative text on \metafont. +If you plan to design your own symbols with \metafont, The \MF{}book +is essential reading. Nevertheless, the following is an extremely +brief tutorial on how to create a new \latex symbol using \metafont. +Its primary purpose is to cover the \latex-specific operations not +mentioned in The \MF{}book and to demonstrate that symbol-font +creation is not necessarily a difficult task. + +Suppose we need a symbol to represent a light +bulb~(``\lightbulb'').\footnote{I'm not a very good artist; you'll +have to pretend that~``\lightbulb'' looks like a light bulb.} The +first step is to draw this in \metafont. It is common to separate the +font into two files: a size-dependent file, which specifies the design +size and various font-specific parameters that are a function of the +design size; and a size-independent file, which draws characters in +the given size. Figure~\ref{mftoplevel} shows the \metafont code for +\filename{lightbulb10.mf}. \filename{lightbulb10.mf} specifies +various parameters that produce a 10\,pt.\ light bulb then loads +\filename{lightbulb.mf}. Ideally, one should produce +\texttt{lightbulb}\meta{size}\texttt{.mf} files for a variety of +\meta{size}s. This is called ``optical\idxboth{optical}{scaling} +scaling''. It enables, for example, the lines that make up the light +bulb to retain the same thickness at different font sizes, which looks +much nicer than the alternative---and +default---``mechanical\idxboth{mechanical}{scaling} scaling''. When a +\texttt{lightbulb}\meta{size}\texttt{.mf} file does not exist for a +given size \meta{size}, the computer mechanically produces a wider, +taller, thicker symbol: + +\begin{center} +\begin{tabular}{*{13}c} +{\fontsize{10}{10}\lightbulb} & vs.\ & +{\fontsize{20}{20}\lightbulb} & vs.\ & +{\fontsize{30}{30}\lightbulb} & vs.\ & +{\fontsize{40}{40}\lightbulb} & vs.\ & +{\fontsize{50}{50}\lightbulb} & vs.\ & +{\fontsize{60}{60}\lightbulb} & vs.\ & +{\fontsize{70}{70}\lightbulb} \\[-1.5ex] +{\tiny 10\,pt.} & & +{\tiny 20\,pt.} & & +{\tiny 30\,pt.} & & +{\tiny 40\,pt.} & & +{\tiny 50\,pt.} & & +{\tiny 60\,pt.} & & +{\tiny 70\,pt.} \\ +\end{tabular} +\end{center} + +\begin{figure}[htbp] +\centering +\begin{codesample} +% The following are derived from mftmac.tex. +\def\\#1{\textit{#1}} % italic type for identifiers +\def\2#1{\mathop{\textbf{#1}\/\kern.05em}} % operator, in bold type +\def\9{\hfill$\%} % comment separator +% Matching `$' for Emacs font-lock mode +\def\SH{\raise.7ex\hbox{$\scriptstyle\#$}} % sharp sign for sharped units +\let\BL=\medskip % space for empty line +\def\frac#1/#2{\leavevmode\kern.1em + \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em + /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}} + +% The following are modified from mft's output. +$\2{font\_identifier}:=\verb+"LightBulb10"+;\ \9 Name the font.\par +$\2{font\_size}10\\{pt}\SH ;\ \9 Specify the design size.\par +\BL +$\\{em}\SH :=10\\{pt}\SH ;\ \9 ``M'' width is 10 points.\par +$\\{cap}\SH :=7\\{pt}\SH ;\ \9 Capital letter height is 7 points above the +baseline.\par +$\\{sb}\SH :=\frac1/{4}\\{pt}\SH ;\ \9 Leave this much space on the side of +each character.\par +$o\SH :=\frac1/{16}\\{pt}\SH ;\ \9 Amount that curves overshoot borders.\par +\BL +$\2{input}\hbox{\tt lightbulb}\9 Load the file that draws the actual glyph.\par +% Matching `$' for Emacs font-lock mode +\end{codesample} +\caption{Sample \metafont size-specific file (\filename{lightbulb10.mf})} +\label{mftoplevel} +\end{figure} + +\filename{lightbulb.mf}, shown in Figure~\ref{mfmain}, draws a light +bulb using the parameters defined in \filename{lightbulb10.mf}. Note +that the the filenames ``\filename{lightbulb10.mf}'' and +``\filename{lightbulb.mf}'' do not follow the Berry font-naming +scheme~\cite{Berry:fontname}; the Berry font-naming scheme is largely +irrelevant for symbol fonts, which generally lack bold, italic, +small-caps, slanted, and other such variants. + +\begin{figure}[htbp] +\centering +\begin{codesample} +% The following are derived from mftmac.tex. +\def\\#1{\textit{#1}} % italic type for identifiers +\def\1#1{\mathop{\textrm{#1}}} % operator, in roman type +\def\2#1{\mathop{\textbf{#1}\/\kern.05em}} % operator, in bold type +\def\3#1{\,\mathclose{\textbf{#1}}} % `fi' and `endgroup' +\def\5#1{\textbf{#1}} % `true' and `nullpicture' +\def\6#1{\mathbin{\rm#1}} % `++' and `scaled' +\def\8#1{\mathrel{\mathcode`\.="8000 \mathcode`\-="8000 + #1\unkern}} % `..' and `--' +\def\9{\hfill$\%} % comment separator +% Matching `$' for Emacs font-lock mode +\def\SH{\raise.7ex\hbox{$\scriptstyle\#$}} % sharp sign for sharped units +\let\BL=\medskip % space for empty line +\def\frac#1/#2{\leavevmode\kern.1em + \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em + /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}} +\mathchardef\period=`\. +\newbox\shorthyf \setbox\shorthyf=\hbox{-\kern-.05em} +{\catcode`\-=\active \global\def-{\copy\shorthyf\mkern3.9mu} + \catcode`\.=\active \global\def.{\period\mkern3mu}} + +% The following are modified from mft's output. +$\5{mode\_setup};\ \9 Target a given printer.\par +\BL +$\2{define\_pixels}(\\{em},\\{cap},\\{sb});\ \9 Convert to device-specific +units.\par +$\2{define\_corrected\_pixels}(o);\ \9 Same, but add a device-specific fudge +factor.\par +\BL +\%\% Define a light bulb at the character position for ``A''\par +\%\% with width $\frac1/{2}\\{em}\SH$, height $\\{cap}\SH$, and depth $1\\{pt}\SH$.\par +$\2{beginchar}(\verb+"A"+,\frac1/{2}\\{em}\SH ,\\{cap}\SH ,1\\{pt}\SH );\ \verb+"A light bulb"+;$\par +\quad\quad$\2{pickup}\5{pencircle}\6{scaled}\frac1/{2}\\{pt};\ \9 Use a pen +with a small, circular tip.\par +\BL +\quad\quad\%\% Define the points we need.\par +\quad\quad$\\{top}\,z_{1}=(w/2,h+o);\ \9 $z_1$ is at the top of a circle.\par +\quad\quad$\\{rt}\,z_{2}=(w+\\{sb}+o-x_{4},y_{4});\ \9 $z_2$ is at the same +height as $z_4$ but the opposite side.\par +\quad\quad$\\{bot}\,z_{3}=(z_{1}-(0,w-\\{sb}-o));\ \9 $z_3$ is at the bottom of +the circle.\par +\quad\quad$\\{lft}\,z_{4}=(\\{sb}-o,\frac1/{2}[y_{1},y_{3}]);\ \9 $z_4$ is on the +left of the circle.\par +\quad\quad$\2{path}\\{bulb};\ \9 Define a path for the bulb itself.\par +\quad\quad$\\{bulb}=z_{1}\8{..}z_{2}\8{..}z_{3}\8{..}z_{4}\8{..}\1{cycle};\ \9 +The bulb is a closed path.\par +\BL +\quad\quad$z_{5}=\2{point}2-\frac1/{3}\2{of}\\{bulb};\ \9 $z_5$ lies on the +bulb, a little to the right of $z_3$.\par +\quad\quad$z_{6}=(x_{5},0);\ \9 $z_6$ is at the bottom, directly under $z_5$.\par +\quad\quad$z_{7}=(x_{8},0);\ \9 $z_7$ is at the bottom, directly under $z_8$.\par +\quad\quad$z_{8}=\2{point}2+\frac1/{3}\2{of}\\{bulb};\ \9 $z_8$ lies on the +bulb, a little to the left of $z_3$.\par +\quad\quad$\\{bot}\,z_{67}=(\frac1/{2}[x_{6},x_{7}],\\{pen\_bot}-o-\frac1/{8}% +\\{pt});\ \9 $z_{67}$ lies halfway between $z_6$ and $z_7$ but a jot lower.\par +\BL +\quad\quad\%\% Draw the bulb and the base.\par +\quad\quad$\2{draw}\\{bulb};\ \9 Draw the bulb proper.\par +\quad\quad$\2{draw}z_{5}\8{--}z_{6}\8{..}z_{67}\8{..}z_{7}\8{--}z_{8};\ \9 +Draw the base of the bulb.\par +\BL +\quad\quad\%\% Display key positions and points to help us debug.\par +\quad\quad$\\{makegrid}(0,\\{sb},w/2,w-\\{sb})(0,-1\\{pt},y_{2},h);\ \9 Label +``interesting'' $x$ and $y$ coordinates.\par +\quad\quad$\\{penlabels}(1,2,3,4,5,6,67,7,8);\ \9 Label control points for +debugging.\par +$\!\3{endchar};$\par +$\!\3{end}$\par +% Matching `$' for Emacs font-lock mode +\end{codesample} +\caption{Sample \metafont size-independent file (\filename{lightbulb.mf})} +\label{mfmain} +\end{figure} + +The code in Figures~\ref{mftoplevel} and~\ref{mfmain} is heavily +commented and should demonstrate some of the basic concepts behind +\metafont usage: declaring variables, defining points, drawing lines +and curves, and preparing to debug or fine-tune the output. Again, +The \MF{}book~\cite{Knuth:ct-c} is the definitive reference on +\metafont programming. + +\metafont can produce ``proofs'' of fonts---large, labeled versions +that showcase the logical structure of each character. In fact, proof +mode is \metafont's default mode. To produce a proof of +\filename{lightbulb10.mf}, issue the following commands at the +operating-system prompt: + +\bigskip +\noindent +\begingroup +\let\usercmd=\textbf +\newlength{\commentlen}% +\settowidth{\commentlen}{Produces \filename{lightbulb10.2602gf}}% +\leftskip=\parindent \parindent=0pt \obeylines +\osprompt \usercmd{mf lightbulb10.mf} \hfill $\Leftarrow$\quad% + \makebox[\commentlen][l]{Produces \filename{lightbulb10.2602gf}} +\osprompt \usercmd{gftodvi lightbulb10.2602gf} \hfill $\Leftarrow$\quad% + \makebox[\commentlen][l]{Produces \filename{lightbulb10.dvi}} +\endgroup +\bigskip + +\noindent +You can then view \filename{lightbulb10.dvi} with any DVI\index{DVI} +viewer. The result is shown in Figure~\ref{lightbulb10-proof}. +Observe how the grid defined with \textit{makegrid} at the bottom of +Figure~\ref{mfmain} draws vertical lines at positions~0, \textit{sb}, +$w/2$, and $w - \textit{sb}$ and horizontal lines at positions~0, +$-1$\textit{pt}, $y_2$, and $h$. Similarly, observe how the +\textit{penlabels} command labels all of the important coordinates: +$z_1, z_2, \ldots, z_8$ and $z_{67}$, which \filename{lightbulb.mf} +defines to lie between $z_6$ and $z_7$. + +\begin{figure}[htbp] + \centering + \includegraphics[height=6cm]{lightbulb.eps} + \caption{Proof diagram of \filename{lightbulb10.mf}} + \label{lightbulb10-proof} +\end{figure} + +Most, if not all, \tex distributions include a Plain \tex file called +\filename{testfont.tex} which is useful for testing new fonts in a +variety of ways. One useful routine produces a table of all of the +characters in the font: + +\bigskip +\noindent +\begingroup +\newcommand*{\usercmd}[1]{\textrm{\textbf{#1}}}% +\leftskip=\parindent \parindent=0pt \ttfamily \obeylines \obeyspaces% +\osprompt \usercmd{tex testfont} +This is TeX, Version 3.14159 (Web2C 7.3.1) +(/usr/share/texmf/tex/plain/base/testfont.tex +Name of the font to test = \usercmd{lightbulb10} +Now type a test command (\string\help for help):) +*\usercmd{\textbackslash{}table} +\vspace{\baselineskip} +*\usercmd{\textbackslash{}bye} +[1] +Output written on testfont.dvi (1 page, 1516 bytes). +Transcript written on testfont.log. +\endgroup +\bigskip + +\noindent +The resulting table, stored in \filename{testfont.dvi} and illustrated +in Figure~\ref{font-table}, shows every character in the font. To +understand how to read the table, note that the character code +for~``A''---the only character defined by +\filename{lightbulb10.mf}---is 41 in hexadecimal (base~16) and 101 in +octal (base~8). + +\begin{figure}[htbp] +\centering +\fbox{% +\begin{minipage}{0.9\linewidth} +\centering +\vspace*{\baselineskip} +\begin{minipage}{0.95\linewidth} +{\tiny Test of lightbulb10 on March 11, 2003 at 1127} +\vspace{2\baselineskip} + +\renewcommand{\tabularxcolumn}[1]{>{\mbox{}\hfill}p{#1}<{\hfill\mbox{}}}% +% The following two lines are modified from testfont.tex +\def\oct#1{\hbox{\normalfont\'{}\kern-.2em\itshape#1\/\kern.05em}} % octal constant +\def\hex#1{\hbox{\normalfont\H{}\ttfamily#1}} % hexadecimal constant + +\begin{tabularx}{\linewidth}{@{}*9{X|}X@{}} + & \oct{0} & \oct{1} & \oct{2} & \oct{3} & + \oct{4} & \oct{5} & \oct{6} & \oct{7} & \\ \hline + \oct{10x} + & & \lightbulb & & & & & & & + \raisebox{-0.5\baselineskip}[0pt][0pt]{\hex{4x}} \\ \cline{1-9} + \oct{11x} + & & & & & & & & & \\ \hline + & \hex{8} & \hex{9} & \hex{A} & \hex{B} & + \hex{C} & \hex{D} & \hex{E} & \hex{F} & \\ +\end{tabularx} +\end{minipage} +\vspace*{\baselineskip} +\end{minipage}} +\caption{Font table produced by \filename{testfont.tex}} +\label{font-table} +\end{figure} + +The LightBulb10 font is now usable by \tex. \latexE, however, needs +more information before documents can use the font. First, we create +a font-description file that tells \latexE how to map fonts in a given +font family and encoding to a particular font in a particular font +size. For symbol fonts, this mapping is fairly simple. Symbol fonts +almost always use the ``U''~(``Unknown'') font encoding and frequently +occur in only one variant: normal weight and non-italicized. The +filename for a font-description file important; it must be of the form +``\meta{encoding}\meta{family}\texttt{.fd}'', where \meta{encoding} is +the lowercase version of the encoding name (typically~``u'' for symbol +fonts) and \meta{family} is the name of the font family. For +LightBulb10, let's call this ``bulb''. Figure~\ref{bulb-fd-file} +lists the contents of \filename{ubulb.fd}. The document ``\latexE +Font Selection''~\cite{fntguide} describes \cmd{\DeclareFontFamily} +and \cmd{\DeclareFontShape} in detail, but the gist of +\filename{ubulb.fd} is first to declare a \texttt{U}-encoded version +of the \texttt{bulb} font family and then to specify that a \latexE +request for a \texttt{U}-encoded version of \texttt{bulb} with a +(\texttt{m})edium font series (as opposed to, e.g., bold) and a +(\texttt{n})ormal font shape (as opposed to, e.g., italic) should +translate into a \tex request for \filename{lightbulb10.tfm} +mechanically\idxboth{mechanical}{scaling} scaled to the current font +size. + +\begin{figure}[htbp] +\centering +\begin{tabular}{@{}|l|@{}} + \hline + \verb+\DeclareFontFamily{U}{bulb}{}+ \\ + \verb+\DeclareFontShape{U}{bulb}{m}{n}{<-> lightbulb10}{}+ \\ + \hline +\end{tabular} +\caption{\latexE font-description file (\filename{ubulb.fd})} +\label{bulb-fd-file} +\end{figure} + +The final step is to write a \latexE style file that defines a name +for each symbol in the font. Because we have only one symbol our +style file, \filename{lightbulb.sty} (Figure~\ref{bulb-sty-file}), is +rather trivial. Note that instead of typesetting ``\texttt{A}'' we +could have had \cmdI{\lightbulb} typeset ``\verb+\char65+'', +``\verb+\char"41+'', or ``\verb+\char'101+'' (respectively, decimal, +hexadecimal, and octal character offsets into the font). For a +simple, one-character symbol font such as LightBulb10 it would be +reasonable to merge \filename{ubulb.fd} into \filename{lightbulb.sty} +instead of maintaining two separate files. In either case, a document +need only include ``\verb+\usepackage{lightbulb}+'' to make the +\verb+\lightbulb+ symbol available. + +\begin{figure}[htbp] +\centering +\begin{tabular}{@{}|l|@{}} + \hline + \verb+\newcommand{\lightbulb}{{\usefont{U}{bulb}{m}{n}A}}+ \\ + \hline +\end{tabular} +\caption{\latexE style file (\filename{lightbulb.sty})} +\label{bulb-sty-file} +\end{figure} + +\bigskip + +\metafont normally produces bitmapped fonts. However, it is also +possible, with the help of some external tools, to produce \postscript +\PSfont{Type~1} fonts. These have the advantages of rendering better +in Adobe\regtm\index{Adobe Acrobat} Acrobat\regtm (at least in +versions prior to~6.0) and of being more memory-efficient when handled +by a \postscript interpreter. See +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=textrace} for +pointers to tools that can produce \PSfont{Type~1} fonts from +\metafont. + + +\subsection{Math-mode spacing} +\label{math-spacing} + +Terms such as ``binary operators'', ``relations'', and ``punctuation'' +in Section~\ref{math-symbols} primarily regard the surrounding +spacing. (See the Short Math Guide for \latex~\cite{Downes:smg} for a +nice exposition on the subject.) To use a symbol for a different +purpose, you can use the \tex commands \cmd{\mathord}, \cmd{\mathop}, +\cmd{\mathbin}, \cmd{\mathrel}, \cmd{\mathopen}, \cmd{\mathclose}, and +\cmd{\mathpunct}. For example, if you want to use \cmd{\downarrow} as +a variable (an ``ordinary'' symbol) instead of a delimiter, you can +write ``\verb|$3 x + \mathord{\downarrow}$|'' to get the properly +spaced ``$3 x + \mathord{\downarrow}$'' rather than the +awkward-looking ``$3 x + \downarrow$''. Similarly, to create a +dotted-union\index{dotted union=dotted union ($\dot\cup$)} symbol +(``$\dot\cup$'') that spaces like the ordinary set-union symbol +(\cmdX{\cup}) it must be defined with \cmd{\mathbin}, just as +\cmdX{\cup} is. Contrast ``\verb|$A \dot{\cup} B$|'' (``$A {\dot\cup} +B$'') with ``\verb|$A \mathbin{\dot{\cup}} B$|'' (``$A +\mathbin{\dot{\cup}} B$''). See \TeXbook for the definitive +description of math-mode spacing. + +The purpose of the ``log-like symbols'' in +\ifAMS + Tables~\ref{log} and~\ref{ams-log} +\else + Table~\ref{log} +\fi +is to provide the correct amount of spacing around and within +multiletter function names. Table~\vref{log-spacing} contrasts the +output of the log-like symbols with various, na\"{\i}ve alternatives. +In addition to spacing, the log-like symbols also handle subscripts +properly. For example, ``\verb|\max_{p \in P}|'' produces ``$\max_{p +\in P}$'' in text, but ``$\displaystyle\max_{p \in P}$'' as part of a +displayed formula. + +\begin{nonsymtable}{Spacing Around/Within Log-like Symbols} +\label{log-spacing} +\setlength{\tabcolsep}{1em} +\begin{tabular}{@{}ll@{}} \toprule +\latex{} expression & Output \\ \midrule +\verb|$r \sin \theta$| & $r \sin \theta$ \rlap{\quad (best)} \\ +\verb|$r sin \theta$| & $r sin \theta$ \\ +\verb|$r \mbox{sin} \theta$| & $r \mbox{sin} \theta$ \\ +\verb|$r \mathrm{sin} \theta$| & $r \mathrm{sin} \theta$ \\ +\bottomrule +\end{tabular} +\end{nonsymtable} + +The \pkgname{amsmath} package makes it straightforward to define new +log-like symbols: + +\begin{verbatim} + \DeclareMathOperator{\atan}{atan} + \DeclareMathOperator*{\lcm}{lcm} +\end{verbatim} +\ifAMS + \indexcommand[$\string\atan$]{\atan}% + \indexcommand[$\string\lcm$]{\lcm} +\else + \indexcommand{\atan}% + \indexcommand{\lcm} +\fi % AMS test + +\noindent +The difference between \cmd{\DeclareMathOperator} and +\cmd{\DeclareMathOperator*} involves the handling of subscripts. With +\cmd{\DeclareMathOperator*}, subscripts are written beneath log-like +symbols in display style and to the right in text style. This is +useful for limit operators (e.g.,~\cmdX{\lim}) and functions that tend +to map over a set (e.g.,~\cmdX{\min}). In contrast, +\cmd{\DeclareMathOperator} tells \tex that subscripts should always be +displayed to the right of the operator, as is common for functions +that take a single parameter (e.g.,~\cmdX{\log} and~\cmdX{\cos}). +Table~\ref{new-log-likes} contrasts symbols declared with +\cmd{\DeclareMathOperator} and \cmd{\DeclareMathOperator*} in both +text style~(\texttt{\$}$\ldots$\texttt{\$}) and +display~style~(\texttt{\string\[}$\ldots$\texttt{\string\]}).\footnote{Note +that \cmd{\displaystyle} can be used to force display style +within~\texttt{\$}$\ldots$\texttt{\$} and \cmd{\textstyle} can be used +to force text style +within~\texttt{\string\[}$\ldots$\texttt{\string\]}.} + +\begin{nonsymtable}{Defining new log-like symbols} +\label{new-log-likes} +\renewcommand{\tabcolsep}{1em} +\begin{tabular}{@{}lll@{}} + \toprule + Declaration function & + \texttt{\$\string\newlogsym\_\string{p \string\in~P\string}\$} & + \texttt{\string\[~\string\newlogsym\_\string{p \string\in~P\string}~\string\]} \\ + \midrule + + \texttt{\string\DeclareMathOperator} & + $\newlogsym_{p \in P}$ & + $\displaystyle\newlogsym_{p \in P}$ \\[1ex] + + \texttt{\string\DeclareMathOperator*} & + $\newlogsymSTAR_{p \in P}$ & + $\displaystyle\newlogsymSTAR_{p \in P}$ \\ + \bottomrule +\end{tabular} +\end{nonsymtable} + +It is common to use a thin\idxboth{thin}{space} space~(\cmd{\,}) +between the words of a multiword operators, as in +``\verb|\DeclareMathOperator*|\linebreak[0]\verb|{\argmax}|\linebreak[0]\verb|{arg\,max}|''. +\cmdX{\liminf}, \cmdX{\limsup}, and all of the +log-like\idxboth{log-like}{symbols}\index{atomic math objects} symbols +shown in Table~\ref{ams-log} utilize this spacing convention. + + +\subsection{Bold mathematical symbols} +\label{bold-math} + +\idxbothbegin{bold}{symbols} \latex does not normally use bold symbols +when typesetting mathematics. However, bold symbols are occasionally +needed, for example when naming vectors. Any of the approaches +described at +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=boldgreek} can be +used to produce bold mathematical symbols. Table~\ref{bold-symbols} +contrasts the output produced by these various techniques. As the +table illustrates, these techniques exhibit variation in their +formatting of Latin letters (upright vs.\ italic), formatting of +Greek\index{Greek>bold} letters (bold vs.\ normal), formatting of +operators and relations (bold vs.\ normal), and spacing. + +% The following was copied verbatim from amsbsy.sty. +\makeatletter +\DeclareRobustCommand{\pmb}{% + \ifmmode\else \expandafter\pmb@@\fi\mathpalette\pmb@} +\def\pmb@@#1#2#3{\leavevmode\setboxz@h{#3}% + \dimen@-\wdz@ + \kern-.5\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\box\z@ +} +\newdimen\pmbraise@ +\def\pmb@#1#2{\setbox8\hbox{$\m@th#1{#2}$}% + \setboxz@h{$\m@th#1\mkern.5mu$}\pmbraise@\wdz@ + \binrel@{#2}% + \dimen@-\wd8 % + \binrel@@{% + \mkern-.8mu\copy8 % + \kern\dimen@\mkern.4mu\raise\pmbraise@\copy8 % + \kern\dimen@\mkern.4mu\box8 }% +} +\makeatother + +\begin{nonsymtable}{Producing bold mathematical symbols} + \idxboth{bold}{symbols} + \label{bold-symbols} + \begin{tabular}{@{}lll@{}} + \toprule + Package & Code & Output \\ + \midrule + + \textit{none} & + \verb!$\alpha + b = \Gamma \div D$! & + $\alpha + b = \Gamma \div D$ \rlap{\qquad (no bold)} \\ + + \textit{none} & + \verb!$!\cmd{\mathbf}\verb!{\alpha + b = \Gamma \div D}$! & +\ifBM + $\alpha + \textbf{b} = \bm{\Gamma} \div \textbf{D}$ \\ +\else + $\mathbf{\alpha + b = \Gamma \div D}$ \\ +\fi + + \textit{none} & + \cmd{\boldmath}\verb!$\alpha + b = \Gamma \div D$! & + \boldmath$\alpha + b = \Gamma \div D$ \\ + + \pkgname{amsbsy} & + \verb!$!\cmd{\pmb}\verb!{\alpha + b = \Gamma \div D}$! & + $\pmb{\alpha + b = \Gamma \div D}$ \rlap{\qquad (faked bold)} \\ + + \pkgname{amsbsy} & + \verb!$!\cmd{\boldsymbol}\verb!{\alpha + b = \Gamma \div D}$! & + \boldmath$\alpha + b = \Gamma \div D$ \\ + +\ifBM + \pkgname{bm} & + \verb!$!\cmd{\bm}\verb!{\alpha + b = \Gamma \div D}$! & + $\bm{\alpha + b = \Gamma \div D}$ \\ +\fi + + \pkgname{fixmath} & + \verb!$!\cmd{\mathbold}\verb!{\alpha + b = \Gamma \div D}$! & + \def\GammaIt{\mathord{\usefont{OML}{cmm}{b}{it}\mathchar"7100}}% + \boldmath$\alpha + b = \GammaIt \div D$ \\ + \bottomrule + \end{tabular} +\end{nonsymtable} + +\idxbothend{bold}{symbols} + + +\subsection{ASCII and Latin~1 quick reference} +\label{ascii-quickref} + +\index{ASCII|(} + +Table~\vref{ascii-table} amalgamates data from various other tables in +this document into a convenient reference for \latexE typesetting of +ASCII characters, i.e., the characters available on a typical +U.S. computer keyboard. The first two columns list the character's +ASCII code in decimal and hexadecimal. The third column shows what +the character looks like. The fourth column lists the \latexE command +to typeset the character as a text character. And the fourth column +lists the \latexE command to typeset the character within a +\verb|\texttt{|$\ldots$\verb|}| command (or, more generally, when +\verb|\ttfamily| is in effect). + +\index{ASCII|)} + +\begin{nonsymtable}{\latexE ASCII Table} + \index{ASCII>table} + \label{ascii-table} + % Define an equivalent of \vdots that's the height of a "9". + \newlength{\digitheight} + \settoheight{\digitheight}{9} + \newcommand{\digitvdots}{\raisebox{-1.5pt}[\digitheight]{$\vdots$}} + + % Replace all glyphs in a row with vertical dots. + \makeatletter + \newcommand{\skipped}{% + \settowidth{\@tempdima}{99} \makebox[\@tempdima]{\digitvdots} & + \settowidth{\@tempdima}{99} \makebox[\@tempdima]{\digitvdots} & + \digitvdots & + \digitvdots & + \digitvdots \\ + } + \makeatother + + % Typesetting a symbol by prefixing it with a "\". + \newcommand{\bscommand}[1]{#1 & \cmdI{#1} & \cmdI{#1}} + + \begin{tabular}[t]{@{}*2{>{\ttfamily}r}c*2{>{\ttfamily}l}l@{}} \\ \toprule + \multicolumn{1}{@{}c}{Dec} & + \multicolumn{1}{c}{Hex} & + \multicolumn{1}{c}{Char} & + \multicolumn{1}{c}{Body text} & + \multicolumn{1}{c@{}}{\ttfamily\string\texttt} \\ \midrule + + 33 & 21 & ! & ! & ! \\ + 34 & 22 & {\fontencoding{T1}\selectfont\textquotedbl} & + \string\textquotedbl & " \\ % Not available in OT1 + 35 & 23 & \bscommand{\#} \\ + 36 & 24 & \bscommand{\$} \\ + 37 & 25 & \bscommand{\%} \\ + 38 & 26 & \bscommand{\&} \\ + 39 & 27 & ' & ' & ' \\ + 40 & 28 & ( & ( & ( \\ + 41 & 29 & ) & ) & ) \\ + 42 & 2A & * & * & * \\ + 43 & 2B & + & + & + \\ + 44 & 2C & , & , & , \\ + 45 & 2D & - & - & - \\ + 46 & 2E & . & . & . \\ + 47 & 2F & / & / & / \\ + 48 & 30 & 0 & 0 & 0 \\ + 49 & 31 & 1 & 1 & 1 \\ + 50 & 32 & 2 & 2 & 2 \\ + \skipped + 57 & 39 & 9 & 9 & 9 \\ + 58 & 3A & : & : & : \\ + 59 & 3B & ; & ; & ; \\ + 60 & 3C & \textless & \cmdI{\textless} & < \\ % Or $<$ + 61 & 3D & = & = & = \\ \bottomrule + \end{tabular} + \hfil + \begin{tabular}[t]{@{}*2{>{\ttfamily}r}c*2{>{\ttfamily}l}l@{}} \\ \toprule + \multicolumn{1}{@{}c}{Dec} & + \multicolumn{1}{c}{Hex} & + \multicolumn{1}{c}{Char} & + \multicolumn{1}{c}{Body text} & + \multicolumn{1}{c@{}}{\ttfamily\string\texttt} \\ \midrule + + 62 & 3E & \textgreater & \cmdI{\textgreater} & > \\ % Or $>$ + 63 & 3F & ? & ? & ? \\ + 64 & 40 & @ & @ & @ \\ + 65 & 41 & A & A & A \\ + 66 & 42 & B & B & B \\ + 67 & 43 & C & C & C \\ + \skipped + 90 & 5A & Z & Z & Z \\ + 91 & 5B & [ & [ & [ \\ + 92 & 5C & \textbackslash & \cmdI{\textbackslash} & + \verb|\char`\\| \\ % \textbackslash works in non-OT1 + 93 & 5D & ] & ] & ] \\ + 94 & 5E & \^{} & \verb|\^{}| & \verb|\^{}| \\ % Or \textasciicircum + 95 & 5F & \_ & \verb|\_| & \verb|\char`\_| \\ % \_ works in non-OT1 + 96 & 60 & ` & ` & ` \\ + 97 & 61 & a & a & a \\ + 98 & 62 & b & b & b \\ + 99 & 63 & c & c & c \\ + \skipped + 122 & 7A & z & z & z \\ + 123 & 7B & \{ & \verb|\{| & \verb|\char`\{| \\ % \{ works in non-OT1 + 124 & 7C & \textbar & \cmdI{\textbar} & | \\ % Or $|$ + 125 & 7D & \} & \verb|\}| & \verb|\char`\}| \\ % \} works in non-OT1 + 126 & 7E & \~{} & \verb|\~{}| & \verb|\~{}| \\ % Or \textasciitilde ($\sim$?) + \\ + \bottomrule + \end{tabular} +\end{nonsymtable} + +The following are some additional notes about the contents of +Table~\ref{ascii-table}: + +\begin{itemize} + \item + ``\indexcommand[\string\encone{\string\textquotedbl}]{\textquotedbl}{\encone{\textquotedbl}}'' + is not available in the OT1 \fntenc[OT1]. + + \item + The\label{upside-down}\index{symbols>upside-down|(}\index{upside-down + symbols|(} characters ``\texttt{<}'', ``\texttt{>}'', and + ``\texttt{|}'' do work as expected in math mode, although they + produce, respectively, ``<'', ``>'', and ``|'' in text mode when + using the OT1 \fntenc[OT1].\footnote{Donald\index{Knuth, Donald E.} + Knuth didn't think such symbols were important outside of + mathematics so he omitted them from his text fonts.} The following + are some alternatives for typesetting ``\textless'', + ``\textgreater'', and ``\textbar'': + + \begin{itemize} + \item Specify a document \fntenc{} other than OT1 (as + described~\vpageref[above]{altenc}). + + \item Use the appropriate symbol commands from + Table~\vref{text-predef}, viz.~\cmdI{\textless}, + \cmdI{\textgreater}, and \cmdI{\textbar}. + + \item Enter the symbols in math mode instead of text mode, + i.e.,~\verb+$<$+, \verb+$>$+, and \verb+$|$+. + \end{itemize} + + \noindent + Note that for typesetting metavariables many people prefer + \cmdI{\textlangle} and \cmdI{\textrangle} to \cmdI{\textless} and + \cmdI{\textgreater}, i.e., ``\meta{filename}'' instead of + ``$<$\textit{filename}$>$''.\index{symbols>upside-down|)}\index{upside-down + symbols|)} + + \item Although ``\texttt{/}'' does not require any special + treatment, \latex additionally defines a \cmdI{\slash} command which + outputs the same glyph but permits a line~break afterwards. That + is, ``\texttt{increase/decrease}'' is always typeset as a single + entity while ``\verb|increase\slash{}decrease|'' may be typeset with + ``increase/'' on one line and ``decrease'' on the next. + + \item \label{tildes} \index{tilde|(} \cmdI{\textasciicircum} can be + used instead of \cmdI[\string\^{}]{\^{}}\verb|{}|, and + \cmdI{\textasciitilde} can be used instead of + \cmdI[\string\~{}]{\~{}}\verb|{}|. Note that \cmdI{\textasciitilde} + and \cmdI[\string\~{}]{\~{}}\verb|{}| produce raised, diacritic + tildes. ``Text'' (i.e.,~vertically\index{tilde>vertically centered} + centered) tildes can be generated with either the math-mode + \cmdX{\sim} command (shown in Table~\vref{rel}), which produces a + somewhat wide ``$\sim$'', or the \TC\ package's \cmdI{\texttildelow} + (shown in Table~\vref{tc-misc}), which produces a vertically + centered ``{\fontfamily{ptm}\selectfont\texttildelow}'' in most + fonts but a baseline-oriented ``\texttildelow'' in \PSfont{Computer + Modern}, \TX, \PX, and various other fonts originating from the + \tex\ world. If your goal is to typeset tildes in URLs or Unix + filenames, your best bet is to use the \pkgname{url} package, which + has a number of nice features such as proper line-breaking of such + names.\index{tilde|)} + + \item The various \verb|\char| commands within \verb|\texttt| are + necessary only in the OT1 \fntenc[OT1]. In other encodings + (e.g.,~T1)\index{font encodings>T1}, commands such as \cmdIp{\{}, + \cmdIp{\}}, \cmdI{\_}, and \cmdI{\textbackslash} all work properly. + + \item The code\index{code page 437} page~437 (IBM~PC\index{IBM PC}) + version of ASCII\index{ASCII} characters~1 to~31 can be typeset + using the \pkgname{ascii} package. +\ifASCII + See Table~\vref{ibm-ascii}. +\fi + + \item To replace~``\verb|`|'' and~``\verb|'|'' with the more + computer-like (and more visibly distinct) ``\texttt{\char18}'' + and~``\texttt{\char13}'' within a \texttt{verbatim} environment, use + the \pkgname{upquote} package. Outside of \texttt{verbatim}, you + can use \verb|\char18| and \verb|\char13| to get the modified quote + characters. (The former is actually a grave accent.) +\end{itemize} + +\index{Latin 1|(} + +Similar to Table~\ref{ascii-table}, Table~\vref{latin1-table} is an +amalgamation of data from other tables in this document. While +Table~\ref{ascii-table} shows how to typeset the 7-bit ASCII character +set, Table~\ref{latin1-table} shows the Latin~1 (Western European) +character set, also known as ISO-8859-1. + +\index{Latin 1|)} + +\begin{nonsymtable}{\latexE Latin~1 Table} + \index{Latin 1>table} + \index{copyright} + \idxboth{legal}{symbols} + \label{latin1-table} + + \newcommand{\accented}[2]{#1#2 & \texttt{\string#1\string{#2\string}}} + \newcommand{\idxencone}[1]{\indexcommand[\string\encone{\string#1}]{#1}\encone{#1}} + \begin{tabular}[t]{@{}*2{>{\ttfamily}r}c>{\ttfamily}lc@{}} \\ \toprule + \multicolumn{1}{@{}c}{Dec} & + \multicolumn{1}{c}{Hex} & + \multicolumn{1}{c}{Char} & + \multicolumn{2}{c@{}}{\latexE} \\ \midrule + + 161 & A1 & !` & !{}` \\ + 162 & A2 & \textcent & \cmdI{\textcent} & (\textsf{tc}) \\ + 163 & A3 & \pounds & \cmdI{\pounds} \\ + 164 & A4 & \textcurrency & \cmdI{\textcurrency} & (\textsf{tc}) \\ + 165 & A5 & \textyen & \cmdI{\textyen} & (\textsf{tc}) \\ + 166 & A6 & \textbrokenbar & \cmdI{\textbrokenbar} & (\textsf{tc}) \\ + 167 & A7 & \S & \cmdI{\S} \\ + 168 & A8 & \textasciidieresis & \cmdI{\textasciidieresis} & (\textsf{tc}) \\ + 169 & A9 & \textcopyright & \cmdI{\textcopyright} \\ + 170 & AA & \textordfeminine & \cmdI{\textordfeminine} \\ + 171 & AB & \idxencone{\guillemotleft} & \string\guillemotleft & (T1) \\ + 172 & AC & \textlnot & \cmdI{\textlnot} & (\textsf{tc}) \\ + 173 & AD & - & \cmdI[-]{\-} \\ + 174 & AE & \textregistered & \cmdI{\textregistered} \\ + 175 & AF & \textasciimacron & \cmdI{\textasciimacron} & (\textsf{tc}) \\ + 176 & B0 & \textdegree & \cmdI{\textdegree} & (\textsf{tc}) \\ + 177 & B1 & \textpm & \cmdI{\textpm} & (\textsf{tc}) \\ + 178 & B2 & \texttwosuperior & \cmdI{\texttwosuperior} & (\textsf{tc}) \\ + 179 & B3 & \textthreesuperior & \cmdI{\textthreesuperior} & (\textsf{tc}) \\ + 180 & B4 & \textasciiacute & \cmdI{\textasciiacute} & (\textsf{tc}) \\ + 181 & B5 & \textmu & \cmdI{\textmu} & (\textsf{tc}) \\ + 182 & B6 & \P & \cmdI{\P} \\ + 183 & B7 & \textperiodcentered & \cmdI{\textperiodcentered} \\ + 184 & B8 & \c{} & \cmdI[\string\blackacchack{\string\c}]{\c}\verb|{}| \\ + 185 & B9 & \textonesuperior & \cmdI{\textonesuperior} & (\textsf{tc}) \\ + 186 & BA & \textordmasculine & \cmdI{\textordmasculine} \\ + 187 & BB & \idxencone{\guillemotright} & \string\guillemotright & (T1) \\ + 188 & BC & \textonequarter & \cmdI{\textonequarter} & (\textsf{tc}) \\ + 189 & BD & \textonehalf & \cmdI{\textonehalf} & (\textsf{tc}) \\ + 190 & BE & \textthreequarters & \cmdI{\textthreequarters} & (\textsf{tc}) \\ + 191 & BF & ?` & ?{}` \\ + 192 & C0 & \accented{\`}{A} \\ + 193 & C1 & \accented{\'}{A} \\ + 194 & C2 & \accented{\^}{A} \\ + 195 & C3 & \accented{\~}{A} \\ + 196 & C4 & \accented{\"}{A} \\ + 197 & C5 & \AA & \string\AA \\ + 198 & C6 & \AE & \string\AE \\ + 199 & C7 & \accented{\c}{C} \\ + 200 & C8 & \accented{\`}{E} \\ + 201 & C9 & \accented{\'}{E} \\ + 202 & CA & \accented{\^}{E} \\ + 203 & CB & \accented{\"}{E} \\ + 204 & CC & \accented{\`}{I} \\ + 205 & CD & \accented{\'}{I} \\ + 206 & CE & \accented{\^}{I} \\ + 207 & CF & \accented{\"}{I} \\ + 208 & D0 & \idxencone{\DH} & \string\DH & (T1) \\ \bottomrule + \end{tabular} + \hfil + \begin{tabular}[t]{@{}*2{>{\ttfamily}r}c>{\ttfamily}lc@{}} \\ \toprule + \multicolumn{1}{@{}c}{Dec} & + \multicolumn{1}{c}{Hex} & + \multicolumn{1}{c}{Char} & + \multicolumn{2}{c@{}}{\latexE} \\ \midrule + + 209 & D1 & \accented{\~}{N} \\ + 210 & D2 & \accented{\`}{O} \\ + 211 & D3 & \accented{\'}{O} \\ + 212 & D4 & \accented{\^}{O} \\ + 213 & D5 & \accented{\~}{O} \\ + 214 & D6 & \accented{\"}{O} \\ + 215 & D7 & \texttimes & \string\texttimes & (\textsf{tc}) \\ + 216 & D8 & \O & \string\O \\ + 217 & D9 & \accented{\`}{U} \\ + 218 & DA & \accented{\'}{U} \\ + 219 & DB & \accented{\^}{U} \\ + 220 & DC & \accented{\"}{U} \\ + 221 & DD & \accented{\'}{Y} \\ + 222 & DE & \idxencone{\TH} & \string\TH & (T1) \\ + 223 & DF & \ss & \string\ss \\ + 224 & E0 & \accented{\`}{a} \\ + 225 & E1 & \accented{\'}{a} \\ + 226 & E2 & \accented{\^}{a} \\ + 227 & E3 & \accented{\~}{a} \\ + 228 & E4 & \accented{\"}{a} \\ + 229 & E5 & \aa & \string\aa \\ + 230 & E6 & \ae & \string\ae \\ + 231 & E7 & \accented{\c}{c} \\ + 232 & E8 & \accented{\`}{e} \\ + 233 & E9 & \accented{\'}{e} \\ + 234 & EA & \accented{\^}{e} \\ + 235 & EB & \accented{\"}{e} \\ + 236 & EC & \accented{\`}{\i} \\ + 237 & ED & \accented{\'}{\i} \\ + 238 & EE & \accented{\^}{\i} \\ + 239 & EF & \accented{\"}{\i} \\ + 240 & F0 & \idxencone{\dh} & \string\dh & (T1) \\ + 241 & F1 & \accented{\~}{n} \\ + 242 & F2 & \accented{\`}{o} \\ + 243 & F3 & \accented{\'}{o} \\ + 244 & F4 & \accented{\^}{o} \\ + 245 & F5 & \accented{\~}{o} \\ + 246 & F6 & \accented{\"}{o} \\ + 247 & F7 & \textdiv & \string\textdiv & (\textsf{tc}) \\ + 248 & F8 & \o & \string\o \\ + 249 & F9 & \accented{\`}{u} \\ + 250 & FA & \accented{\'}{u} \\ + 251 & FB & \accented{\^}{u} \\ + 252 & FC & \accented{\"}{u} \\ + 253 & FD & \accented{\'}{y} \\ + 254 & FE & \idxencone{\th} & \string\th & (T1) \\ + 255 & FF & \accented{\"}{y} \\ \bottomrule + \end{tabular} +\end{nonsymtable} + +The following are some additional notes about the contents of +Table~\ref{latin1-table}: + +\begin{itemize} + \item A ``(\textsf{tc})'' after a symbol name means that the \TC\ + package must be loaded to access that symbol. A ``(T1)'' means that + the symbol requires the T1 \fntenc[T1]. The \pkgname{fontenc} + package can change the \fntenc[document] document-wide. + + \item Many of the \verb|\text|\dots\ accents can also be produced + using the accent commands shown in Table~\vref{text-accents} plus an + empty argument. For instance, + \verb|\={}|\index{_=\magicequalname{}\verb+{}+ (\magicequal{})} + is essentially the same as \cmd{\textasciimacron}. + + \item The commands in the ``\latexE'' columns work both in body text + and within a \verb|\texttt{|$\ldots$\verb|}| command (or, more + generally, when \verb|\ttfamily| is in effect). + + \item The ``\pounds'' and ``\$'' glyphs occupy the same slot~(36) of + the OT1 \fntenc[OT1], with ``\pounds'' appearing in italic fonts and + ``\$'' appearing in roman fonts. A problem with \latex's default + handling of this double-mapping is that + ``\texttt{\string{\string\sffamily\linebreak[0]\string\slshape\linebreak[0]\string\pounds\string}}'' + produces + ``{\fontencoding{OT1}\sffamily\slshape\selectfont\textdollar}'', not + ``{\fontencoding{T1}\sffamily\slshape\selectfont\textsterling}''. + Other \fntenc{}s use separate slots for the two characters and are + therefore robust to the problem of ``\pounds''/''\$'' conflicts. + Authors who use \cmdI{\pounds} should select a \fntenc{} other than + OT1 (as explained~\vpageref[above]{altenc}) or use the \TC\ package, + which redefines \cmdI{\pounds} to use the TS1 \fntenc[TS1]. + + \item Character~173, \cmdI[-]{\-}, is shown as ``-'' but is actually + a discretionary\index{discretionary hyphen}\index{hyphen, + discretionary} hyphen; it appears only at the end of a line. +\end{itemize} + +\index{code page 1252|(} +Microsoft\regtm\index{Microsoft Windows=Microsoft\regtm\ +Windows\regtm} Windows\regtm\index{Windows=Windows\regtm} normally +uses a superset of Latin~1 called ``Code Page~1252'' or ``CP1252'' for +short. CP1252 introduces symbols in the Latin~1 ``invalid'' range +(characters~128--159). Table~\ref{cp1252-table} presents the +characters with which CP1252 augments the standard Latin~1\index{Latin +1} table. +\index{code page 1252|)} + +\begin{nonsymtable}{\latexE Code Page~1252 Table} + \index{code page 1252>table} + \label{cp1252-table} + \newcommand{\accented}[2]{#1#2 & \texttt{\string#1\string{#2\string}}} + \newcommand{\idxencone}[1]{\indexcommand[\string\encone{\string#1}]{#1}\encone{#1}} + + \begin{tabular}[t]{@{}*2{>{\ttfamily}r}c>{\ttfamily}lc@{}} \\ \toprule + \multicolumn{1}{@{}c}{Dec} & + \multicolumn{1}{c}{Hex} & + \multicolumn{1}{c}{Char} & + \multicolumn{2}{c@{}}{\latexE} \\ \midrule + 128 & 80 & \texteuro & \cmdI{\texteuro} & (\textsf{tc}) \\ + 130 & 82 & \idxencone{\quotesinglbase} & \string\quotesinglbase & (T1) \\ + 131 & 83 & \textit{f} & \verb|\textit{f}| \\ + 132 & 84 & \idxencone{\quotedblbase} & \string\quotedblbase & (T1) \\ + 133 & 85 & \dots & \cmdI{\dots} \\ + 134 & 86 & \dag & \cmdI{\dag} \\ + 135 & 87 & \ddag & \cmdI{\ddag} \\ + 136 & 88 & \textasciicircum & \cmdI{\textasciicircum} \\ + 137 & 89 & \textperthousand & \cmdI{\textperthousand} & (\textsf{tc}) \\ + 138 & 8A & \accented{\v}{S} \\ + 139 & 8B & \idxencone{\guilsinglleft} & \string\guilsinglleft & (T1) \\ + 140 & 8C & \OE & \cmdI{\OE} \\ + 142 & 8E & \accented{\v}{Z} \\ + \bottomrule + \end{tabular} + \hfil + \begin{tabular}[t]{@{}*2{>{\ttfamily}r}c>{\ttfamily}lc@{}} \\ \toprule + \multicolumn{1}{@{}c}{Dec} & + \multicolumn{1}{c}{Hex} & + \multicolumn{1}{c}{Char} & + \multicolumn{2}{c@{}}{\latexE} \\ \midrule + 145 & 91 & ` & ` \\ + 146 & 92 & ' & ' \\ + 147 & 93 & `` & `` \\ + 148 & 94 & '' & '' \\ + 149 & 95 & \textbullet & \cmdI{\textbullet} \\ + 150 & 96 & -- & -- \\ + 151 & 97 & --- & --- \\ + 152 & 98 & \textasciitilde & \cmdI{\textasciitilde} \\ + 153 & 99 & \texttrademark & \cmdI{\texttrademark} \\ + 154 & 9A & \accented{\v}{s} \\ + 155 & 9B & \idxencone{\guilsinglright} & \string\guilsinglright & (T1) \\ + 156 & 9C & \oe & \cmdI{\oe} \\ + 158 & 9E & \accented{\v}{z} \\ + 159 & 9F & \accented{\"}{Y} \\ + \bottomrule + \end{tabular} +\end{nonsymtable} + +The following are some additional notes about the contents of +Table~\ref{cp1252-table}: + +\begin{itemize} + \item As in Table~\ref{latin1-table}, a ``(\textsf{tc})'' after a + symbol name means that the \TC\ package must be loaded to access + that symbol. A ``(T1)'' means that the symbol requires the T1 + \fntenc[T1]. The \pkgname{fontenc} package can change the + \fntenc[document] document-wide. + + \item Not all characters in the 128--159 range are defined. + + \item Look up ``euro signs'' in the index for alternatives to + \cmdI{\texteuro}. +\end{itemize} + +\index{ISO character entities|(} +While too large to incorporate into this document, a listing of +ISO~8879:1986 SGML\index{SGML}/XML\index{XML} character entities and +their \latex{} equivalents is available from +\url{http://www.bitjungle.com/~isoent/}. Some of the characters +presented there make use of \pkgname{isoent}, a \latexE{} package +(available from the same URL) that fakes some of the missing ISO +glyphs using the \latex{} \texttt{picture} +environment.\footnote{\pkgname{isoent} is not featured in this +document, because it is not available from CTAN\idxCTAN{} and because +the faked symbols are not ``true'' characters; they exist in only one +size, regardless of the body text's font size.} +\index{ISO character entities|)} + + +\subsection{About this document} +\label{about-doc} + +\paragraph{History} +\person{David}{Carlisle} wrote the first version of this document in +October, 1994. It originally contained all of the native \latex{} +symbols (Tables~\ref{bin}, \ref{op}, \ref{rel}, \ref{arrow}, +\ref{log}, \ref{greek}, \ref{dels}, \ref{ldels}, \ref{math-accents}, +\ref{extensible-accents}, \ref{ord}, and a few tables that have since +been reorganized) and was designed to be nearly identical to the +tables in Chapter~3 of Leslie\index{Lamport, Leslie} Lamport's +book~\cite{Lamport:latex}. Even the table captions and the order of +the symbols within each table matched! The \AMS\ symbols +(Tables~\ref{ams-bin}, \ref{ams-rel}, \ref{ams-nrel}, +\ref{ams-arrows}, \ref{ams-narrows}, \ref{ams-greek}, +\ref{ams-hebrew}, \ref{ams-del}, and \ref{ams-misc}) and an initial +Math Alphabets table (Table~\ref{alphabets}) were added thereafter. +Later, \person{Alexander}{Holt} provided the \ST\ tables +(Tables~\ref{st-bin}, \ref{st-large}, \ref{st-rel}, \ref{st-arrows}, +\ref{st-ext}, and \ref{st-del}). + +In January, 2001, \person{Scott}{Pakin} took responsibility for +maintaining the symbol list and has since implemented a complete +overhaul of the document. The result, now called, ``The \doctitle'', +includes the following new features: + +\begin{itemize} + \item the addition of a handful of new math alphabets, dozens of new + font tables, and thousands of new symbols + + \item the categorization of the symbol tables into body-text + symbols, mathematical symbols, science and technology symbols, + dingbats, and other symbols, to provide a more user-friendly + document structure + + \item an index, table of contents, and a frequently-requested symbol + list, to help users quickly locate symbols + + \item symbol tables rewritten to list the symbols in alphabetical + order + + \item appendices to provide additional information relevant to using + symbols in \latex{} + + \item tables showing how to typeset all of the characters in the + ASCII\index{ASCII} and Latin~1\index{Latin 1} + \fntenc[ASCII]s\index{font encodings>Latin 1} +\end{itemize} + +\noindent +Furthermore, the internal structure of the document has been +completely altered from David's original version. Most of the changes +are geared towards making the document easier to extend, modify, and +reformat. + + +\paragraph{Build characteristics} +Table~\vref{doc-characteristics} lists some of this document's build +characteristics. Most important is the list of packages that \latex{} +couldn't find, but that \selftex otherwise would have been able to +take advantage of. Complete, prebuilt versions of this document are +available from CTAN\idxCTAN{} (\url{http://www.ctan.org/} or one of +its many mirror sites) in the directory +\texttt{tex-archive/info/symbols/comprehensive}. +Table~\ref{package-dates} shows the package date (specified in the +\verb|.sty|~file with \cmd{\ProvidesPackage}) for each package that +was used to build this document and that specifies a package date. +Packages are not listed in any particular order in either +Table~\ref{doc-characteristics} or~\ref{package-dates}. + +\begin{nonsymtable}{Document Characteristics} +\label{doc-characteristics} +\begin{tabular}{@{}lp{0.5\textwidth}@{}} \toprule +Characteristic & Value \\ \midrule +Source file: & \selftex \\ +Build date: & \today \\ +Symbols documented: & \approxcount\prevtotalsymbols \\ +Packages included: & \makeatletter + \def\@elt#1{\pkgname{#1}\xspace} + \foundpkgs + \makeatother \\ +Packages omitted: & \makeatletter + \ifcomplete + \emph{none} + \else + \def\@elt#1{\pkgname{#1}\xspace} + \missingpkgs + \fi + \makeatother \\ +\bottomrule +\end{tabular} +\end{nonsymtable} + + +% Automatically generate a table of package version numbers. +\makeatletter +\begingroup + % Given a package name, output the package's date. + \def\show@package@date#1/#2/#3#4#5!!!{#1/#2/#3#4} + \newcommand{\showpackagedate}[1]{% + \edef\package@date@string{\csname ver@#1.sty\endcsname}% + \expandafter\show@package@date\package@date@string!!! + } + + % Format a metavariable. + \def\meta#1{\textlangle{\textit{#1}}\textrangle} + + % Produce the entire table body as a token list. + \newtoks\pkg@date@toks + \def\@elt#1{% + \expandafter\ifx\csname ver@#1.sty\endcsname\relax + \else + \expandafter\ifx\csname ver@#1.sty\endcsname\@empty + \else + \pkgname{#1} & \showpackagedate{#1} \\ + \fi + \fi + } + \expandafter\pkg@date@toks\expandafter=\expandafter{\foundpkgs} + + % Output a formatted table which contains the previously defined token list. + \begin{nonsymtable}{Package versions used in the preparation of this document} + \label{package-dates} + \begin{tabular}{@{}ll@{}} + \toprule + Name & Date \\ + \midrule + \the\pkg@date@toks + \bottomrule + \end{tabular} + \end{nonsymtable} +\endgroup +\makeatother + + +\subsection{Copyright and license} + +\mbox{} + +\begin{tabular}{@{}l@{}} + The \doctitle \\ + Copyright~\copyright\ \number\year, Scott Pakin \\ +\end{tabular} + +\bigskip + +\noindent +This work may be distributed and/or modified under the conditions of +the \latex\ Project Public License, either version~1.3c of this license +or (at your option) any later version. The latest version of this +license is in + +\begin{center} + \url{http://www.latex-project.org/lppl.txt} +\end{center} + +\noindent +and version~1.3c or later is part of all distributions of \latex\ +version 2006/05/20 or later. + +This work has the LPPL maintenance status ``maintained''. + +The current maintainer of this work is Scott Pakin. + +% This work consists of the files \filename{symbols.tex}, +% \filename{README}, \filename{SYMLIST}, \filename{lightbulb10.mf}, and +% \filename{lightbulb.mf}, \filename{lightbulb.map}, and all PDF, +% \postscript, Encapsulated \postscript, and \postscript font files +% derived from those. + + +% It seems like such a waste to put such a brief bibliography on its own +% page. So we temporarily restore \section back to its original +% definition, just for the list of references. + +\vspace{\stretch{1}} +\begingroup +\let\section=\origsection + +\addcontentsline{toc}{section}{References} +\begin{thebibliography}{Knu86b} + +\bibitem[AMS99]{AMS1999:amsmath} + American Mathematical Society. + \emph{User's Guide for the \textsf{amsmath} Package (Version~2.0)}, + December~13, 1999. + Available from \url{ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf}. + +\bibitem[Ber01]{Berry:fontname} + Karl Berry.\index{Berry, Karl} + Fontname: Filenames for \tex fonts, + June 2001. + Available from \url{http://www.ctan.org/tex-archive/info/fontname}. + +\bibitem[Che97]{Chen1997} + Raymond Chen.\index{Chen, Raymond} + A \MF\ of `Simpsons' characters. + \emph{Baskerville}, 4(4):19, September 1997. + ISSN~\mbox{1354-5930}. + Available from + \url{http://tug.ctan.org/usergrps/uktug/baskervi/4_4/bask4_4.ps}. + +\bibitem[Dow00]{Downes:smg} + Michael Downes.\index{Downes, Michael J.} + Short math guide for {\latex}, + July~19, 2000. + Version~1.07. + Available from \url{http://www.ams.org/tex/short-math-guide.html}. + +\bibitem[Gib97]{Gibbons:longdiv} + Jeremy Gibbons.\index{Gibbons, Jeremy} + Hey---it works! + \emph{TUGboat}, 18(2):75--78, June 1997. + Available from \url{http://www.tug.org/TUGboat/Articles/tb18-2/tb55works.pdf}. + +\bibitem[Knu86a]{Knuth:ct-a} + Donald~E. Knuth.\index{Knuth, Donald E.} + \emph{The {\TeX}book}, + volume~A of \emph{Computers and Typesetting}. + Ad{\-d}i{\-s}on-Wes{\-l}ey, + Reading, MA, USA, + 1986. + +\bibitem[Knu86b]{Knuth:ct-c} + Donald~E. Knuth.\index{Knuth, Donald E.} + \emph{The {\MF}book}, + volume~C of \emph{Computers and Typesetting}. + Ad{\-d}i{\-s}on-Wes{\-l}ey, + Reading, MA, USA, + 1986. + +\bibitem[Lam86]{Lamport:latex} + Leslie Lamport.\index{Lamport, Leslie} + \emph{\latex: A document preparation system}. + Ad{\-d}i{\-s}on-Wes{\-l}ey, + Reading, MA, USA, + 1986. + +\bibitem[\LaT{}98]{ltnews09} + \latex{}3~Project Team. + A new math accent. + \emph{\latex News}. Issue~9, June~1998. + Available from + \url{http://www.ctan.org/tex-archive/macros/latex/doc/ltnews09.pdf} + (also included in many \tex{} distributions). + +\bibitem[\LaT{}00]{fntguide} + \latex{}3~Project Team. + \latexE font selection, + January~30, 2000. + Available from + \url{http://www.ctan.org/tex-archive/macros/latex/doc/fntguide.ps} + (also included in many \tex{} distributions). +\end{thebibliography} +\endgroup + +\clearpage +\addcontentsline{toc}{section}{Index} +{\small\printindex} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/comprehensive/symbols-a4.pdf b/Master/texmf-dist/doc/latex/comprehensive/symbols-a4.pdf new file mode 100644 index 00000000000..5af8fff9263 Binary files /dev/null and b/Master/texmf-dist/doc/latex/comprehensive/symbols-a4.pdf differ diff --git a/Master/texmf-dist/doc/latex/comprehensive/symbols-letter.pdf b/Master/texmf-dist/doc/latex/comprehensive/symbols-letter.pdf new file mode 100644 index 00000000000..b21782a11e7 Binary files /dev/null and b/Master/texmf-dist/doc/latex/comprehensive/symbols-letter.pdf differ -- cgit v1.2.3