÷ƒ’À;è TeX output 1996.04.29:0827‹ÿÿÿÿŸ¹JŸòŽ . ý­P0‘þÜ¥ó2ñkAHG® cmssbx10ÝPDCFMT2|F–ÿxÔo“rmatting‘+MacrosŽŸ_^‘8óKñ`y cmr10«V‘ÿ*ªersion–UU2.4,“last“c¸ãhanged“pGdc“1995{04{06Ž‘8Ÿ é‰ffÿ¤ff‰ffÿ¡‰ffÿ¡‰ffÿŸ °ƒ’=þûP‘ÿ*ª.–UUDamian“CugleyŽŸÜבñnüó3pÚãi cmssdc10Þ1.ŽIntroQductionŽŸ«This–UUdošGcumen¸ãt“describ˜es“óßê}Ž¡‘Ç ®26ŽŽ¦‘ñnüÞ3.ŽInternal‘ƒÆde nitionsŽŸ«Most–UUinš¸ãternal“con˜trol“sequence“names“will“start“with“`ÈFMT«'.“Here“are“a“few“miscellaneousŽŸ de nitions–UUused“to“sa•¸ãv“e–UUa“tok¸ãen“here“or“there.ŽŸ ã߉ffŠ=Ÿ š‘ *Ž‘The–UUL‘þÿüŸýxäaŽ‘ÿýT‘þÿüŸ'EŽ‘Î6X“2e“distribution“uses“ les“with“the“`Èdtx«'“sux“for“similar“purpGoses.ŽŽŸ’ü› 1ŽŒ‹*Ÿ¹JŸò‘þÜ¥óf$Øcmbx7Å27{45’ïàvPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘L«I–UUwill“often“use“È\toksa“«to“create“de nitions“conš¸ãtaining“c˜haracters“with“un˜usual“cat-Ž¤ ‘8coGdes.‘qÇThe–UUidiom“isŽ©‡‘LÈ\begingroup‘UUó !",š cmsy10·hó$ý': cmti10Ïassignments‘Ò!·iŽ‘C§bÈ\toksa={\endgroupŽŽ¡‘V ·hÏde nitions‘Ò!·iŽŽŽ¡‘LÈ}‘?ý\the\toksaŽŽ¦‘8«When–UUÈ\toksa“«is“expanded,“it“closes“the“group“(undoing“the“·hÏassignments‘Ò!·iŽ‘@R «)“but“then“scansŽ¡‘8the‘UU·hÏde nition‘Äc·iŽ‘8[«using–UUthe“catcoGdes“set“b¸ãy“·hÏassignments‘Ò!·iŽ‘@R «.‘qÇ(In“extreme“cases,“the“de nitionŽ¡‘8of–UUÈ\toksa“«mighš¸ãt“bGe“enclosed“in“È\uppercase«,“to“get“strange“c˜haracters“in˜to“a“de niton.)Ž¡‘LThe–UUadv‘ÿqÇanš¸ãtage“of“this“idiom“o˜v˜er“using“È\gdef“«in“a“group“is“that“the“de nitions“needŽ¡‘8not–UUbGe“global.‘qÇAvš¸ãoiding“global“assignmen˜ts“mak˜es“it“more“lik˜ely“that“the“doGcumen˜t“will“bGeŽ¡‘8em¸ãbšGeddable–UUin“other“do˜cumen¸ãts.Ž¡‘LUsing–UUÈ\toksa“«instead“of“È\toks0“«is“more“robust“when“using“È\uppercase«,“bGecauseŽ¡‘8digits–UUare“bGe“givš¸ãen“È\uccode“«v‘ÿqÇalues“b˜y“Èmaamac.tex«.ŽŸ Œ-‘>ã=®27Ž‘LÈ\toksdef\toksa=0ŽŸ ™œ‘>ã=®28Ž‘LÈ\chardef\other=12ŽŸÊE‘)‹Þ4.Ž‘8V®ïerbatim‘£‰textŽ©å"‘8«`V‘ÿ*ªerbatim'–UUtext“means“text“designed“to“matcš¸ãh“the“ASCIGI“c˜haracters“in“the“man˜uscript“ leŽ¡‘8as–UUclosely“as“pGossible.‘qÇIt“kis“most“often“used“in“computer“manš¸ãuals,“where“commands“t˜ypGedŽ¡‘8to–UUa“computer“or“the“con•¸ãten“ts–UUof“text“ les“are“to“bGe“presenš¸ãted.‘qÇWithin“v˜erbatim“text,“mostŽ¡‘8of–UUT‘þÿüŸ'EŽ‘Î6X's“spšGecial“c¸ãharacters“are“temp˜orarily“disabled.Ž¦‘#áóÅUé cmssi10À4.1.Ž‘8Lists–¹fof“active“cha•¸ãra“rctersŽ©ò‘‘8«The–UUvš¸ãerbatim“text“macros“need“to“kno˜w“if“an˜y“c˜haracters“ha˜v˜e“bšGeen“made“sp˜ecial“apartŽ¡‘8from–UUthe“usual“ones.‘qÇThis“command“tells“the“vš¸ãerbatim“macros“that“È#1“«is“an“activ˜e“c˜har;Ž¡‘8in–UUaddition“to“setting“its“catcoGde,“this“makš¸ães“sure“that“the“c˜haracter“will“bšGe“re-catco˜dedŽ¡‘8appropriately–UUwhen“in“v¸ãerbatim“mošGde.‘qÇÈ#1“«should“b˜e“a“something“that“will“w¸ãork“after“`Ÿ‰ÇÈŽ‘?ý«';Ž¡‘8usually–UUthis“means“a“one-cš¸ãharacter“con˜trol“sequence.ŽŸ Œ-‘>ã=®29Ž‘LÈ\def\declareactivechar#1{%Ž¤ ™œ‘>ã=®30Ž‘aÈ\toksa\expandafter{\verbatimplains\do#1}%Ž¡‘>ã=®31Ž‘aÈ\edef\verbatimplains{\the\toksa‘?ý}%Ž¡‘>ã=®32Ž‘aÈ\catcodeŸ‰ÇŽ‘?ý#1\activeŽ¡‘>ã=®33Ž‘LÈ}Ž¦‘L«Twš¸ão–UUlist“macros“in“the“st˜yle“of“È\dospecials“«are“de ned.‘qÇThe“ rst“is“for“c˜haractersŽ¤ ‘8that–UUm¸ãust“bšGe“set“to“catco˜de“12,“suc¸ãh“as“`È\«',“`È{«',“`È}«',“`È_«',“`È$«',“`È#«',“`È&«',“and“`È%«'.‘qÇThe“other“isŽ¡‘8for–UUa“few“cš¸ãharacters“that“are“giv˜en“catcoGde“13,“suc˜h“as“`Ÿ‰ÇÈŽ›?ý«',“`Ÿ‰ÇÈŽ˜«',“`Ÿ'È~Ž˜«',“`Ÿ'È^Ž˜«'“and“SP‘ÿ*ª.Ž¤ Œ-‘>ã=®34Ž‘LÈ\def\verbatimplains{\do\\\do\{\do\}\do\_\do\$\do\#\do\&\do\%}ŽŸ ™œ‘>ã=®35Ž‘LÈ\def\verbatimactives{\do\-\do\Ÿ‰ÇŽ–?ý\do\Ÿ‰ÇŽ“\do\Ÿ'~Ž“\do\Ÿ'^Ž“\do\“}Ž¡‘>ã=®36Ž‘LÈ\chardef\other=12ŽŸå"‘#áÀ4.2.Ž‘8Setting–¶"up“verbatim“moGdeŽ¦‘8«This–UUis“a“macro“common“to“v‘ÿqÇarious“vš¸ãerbatim“text“moGdes.‘qÇThe“default“spacing“of“whatev˜erŽ¤ ‘8fonš¸ãt–UUis“used,“without“an˜y“adjustmen˜ts“of“spacefactor“for“punctuation.‘qÇThe“c˜haracters“`Ÿ‰ÇÈŽ‘?ý«',Ž¡‘8`Ÿ‰ÇÈŽ–?ý«',›UU`Ÿ'È~Ž“«',˜and˜`Ÿ'È^Ž“«'˜are˜proGduce˜sligh•¸ãtly˜lo“w“ered˜glyphs.Ž¤ Œ-‘>ã=®37Ž‘LÈ\newtoks\everyverbatimŽ¡‘>ã=®38Ž‘LÈ\bgroup–?ý\catcodeŸ‰ÇŽ“\-=13\catcodeŸ‰ÇŽ“\Ÿ'^Ž“=13“\catcodeŸ‰ÇŽ“\Ÿ‰ÇŽ“=13“\catcodeŸ‰ÇŽ“\Ÿ‰ÇŽ“=13Ž¤ ™œ‘8\toksa={\egroupŽ¡‘>ã=®39Ž‘aÈ\def\setupverbatim{%Ž¡‘>ã=®40Ž‘vÈ\frenchspacingŽ¡‘>ã=®41Ž‘vÈ\spaceskip0pt–?ý\xspaceskip0pt“%“use“spacing“of“fontŽ¡‘>ã=®42Ž‘vÈ\def\do##1{\catcode\lq##112‘?ý}\verbatimplainsŽ¡‘>ã=®43Ž‘vÈ\def\do##1{\catcode\lq##1\active‘?ý}\verbatimactivesŽ¡‘>ã=®44Ž‘vÈ\letŸ‰ÇŽ–?ý\ttlq“\letŸ‰ÇŽ“\ttrqŽ¡‘>ã=®45Ž‘vÈ\letŸ'~Ž–?ý\tttilde“\letŸ'^Ž“\ttcircum“\let-\ttminusŽŽŸ’ü› «2ŽŒ‹ Ÿ¹JŸò‘þÜ¥Å46{76’ïàvPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘>ã=®46Ž‘vÈ\the\everyverbatimŽ¤ ™œ‘>ã=®47Ž‘aÈ}Ž¡‘>ã=®48Ž‘LÈ}\the\toksaŽ©°î‘L«Here–UUare“the“de nitions“for“the“m¸ãunged“glyphs.‘qÇThese“are“only“necessary“in“CMŽ¤ ‘8Tš¸ãypGewriter;–UUwhen“using“a“P˜ostScript“fon˜t,“di eren˜t“de nitions“w˜ould“bGe“necessary‘ÿ*ª.Ž¡‘LThe–UUnames“`rq'“and“`lq'“are“based“on“the“use“of“È\lq“«and“È\rq“«in“plain“T‘þÿüŸ'EŽ‘Î6X.‘qÇAn“altern-Ž¡‘8ativš¸ãe–UUde nition“for“È\ttrq“«w˜ould“bšGe“È\chardef\ttrq="0D«,“pro˜ducing“`È «'.ŽŸ JŠ‘>ã=®49Ž‘LÈ\def\ttlq{\lower0.125ex–?ý\hbox{\char18“}}Ž¤ ™œ‘>ã=®50Ž‘LÈ\def\ttrq{\lower0.125ex–?ý\hbox{\char19“}}Ž¡‘>ã=®51Ž‘LÈ\def\tttilde{\lower0.5ex–?ý\hbox{\charŸ‰ÇŽ“\Ÿ'~Ž‘ ú}}Ž¡‘>ã=®52Ž‘LÈ\def\ttcircum{\lower0.5ex–?ý\hbox{\charŸ‰ÇŽ“\Ÿ'^Ž‘ ú}}Ž¡‘>ã=®53Ž‘LÈ\def\ttminus{-}Ž¦‘L«This–UUmakš¸ães“the“di erence“bGet˜w˜een“Ÿ‰ÇÈŽ‘•RŸ‰ÇŽ‘ ÕOŸ'^Ž‘LŸ'~Ž‘ªž«and“È`'^~«.Ž¤ ‘LThe–UUmacro“È\ttminus“«is“included“bGecause“it“is“needed“for“Pš¸ãostScript“fon˜t“suppGort.ŽŸaÝ‘#áÀ4.3.Ž‘8De ning–-ˆa“self-matching“chaš¸ãracter“fo˜r“verbatim“textŽ¦‘8«A–UUmacro“for“de ning“a“self-matcš¸ãhing“v˜erbatim“c˜haracter“(I“got“the“idea“of“a“macro“forŽ¡‘8declaring–UUvš¸ãerbatim“c˜haracters“from“the“L‘þÿüŸýxäaŽ‘ÿýT‘þÿüŸ'EŽ‘Î6X“2e“doGcumen˜tation“macros).‘qÇÈ#1“«m˜ust“bGeŽ¡‘8a–UUone-cš¸ãharacter“con˜trol“sequence.‘qÇIf“it“isn't“activ˜e“already‘ÿ*ª,“then“È\declareactivechar“«isŽ¡‘8applied–UUto“it“ rst.ŽŸ JŠ‘>ã=®54Ž‘LÈ\def\defverbatim#1{%Ž¤ ™œ‘>ã=®55Ž‘aÈ\ifcat\noexpand#1\noexpandŸ'~Ž–?ý\else“\declareactivechar#1“\fiŽ¡‘>ã=®56Ž‘aÈ\begingroup–?ý\uccodeŸ‰ÇŽ“\Ÿ'~Ž“=Ÿ‰ÇŽ“#1“\uppercase{\toksa={\endgroupŽ¡‘>ã=®57Ž‘vÈ\defŸ'~Ž‘?ý{%Ž¡‘>ã=®58Ž’‹ûÈ\leavevmodeŽ¡‘>ã=®59Ž’‹ûÈ\begingroup–?ý\tt“\setupverbatimŽ¡‘>ã=®60Ž’‹ûÈ\catcodeŸ‰ÇŽ–?ý#1\active“\letŸ'~Ž“\endgroupŽ¡‘>ã=®61Ž‘pÜ È}%Ž¡‘>ã=®62Ž‘aÈ}}\the\toksaŽ¡‘>ã=®63Ž‘LÈ}Ž¦‘L«Note–UUthat“there“mš¸ãust“bGe“a“fon˜t“called“È\tt“«for“it“to“switc˜h“to.‘qÇ(The“catcoGde“of“È#1“«is“setŽ¤ ‘8to–UU13“after“calling“È\setupverbatim“«bšGecause“È#1“«will“b˜e“included“in“È\verbatimplains«.)Ž¡‘LFinally‘ÿ*ª,–UUwš¸ãe“de ne“v˜ertical“bar“as“the“con˜v˜en˜tional“self-matc˜hing“v˜erbatim-moGde“c˜har-Ž¡‘8acter.ŽŸ JŠ‘>ã=®64Ž‘LÈ\defverbatim\|Ž¦‘L«Both–UUÈ\defverbatim“«and“È\defineactivechar“«ha•¸ãv“e–UUlošGcal“scop˜e.ŽŸaÝ‘#áÀ4.4.Ž‘8List–Üa“ le“verbatimŽ¦‘8«This–UUdošGes“something“similar“to“the“Èlines“«en•¸ãvironmen“t–UU(see“b˜elo¸ãw),“except“here“an“externalŽ¡‘8 le–UUis“read“in“v¸ãerbatim“(see“ÏT‘þúLŸ'EŽ‘ÂÒXb–ÿ}'o“ok–UU«AppGendix“D,“Section“3).‘qÇThe“È\startlinenumberingŽ¡‘8«macro–UUmaš¸ãy“bGe“put“in“the“È\everylisting“«tok˜en“register“to“create“a“listing“with“n˜um˜bGeredŽ¡‘8lines.Ž¤ JŠ‘>ã=®65Ž‘LÈ\newtoks\everylistingŽ¡‘>ã=®66Ž‘LÈ\def\listfile#1{Ž¤ ™œ‘>ã=®67Ž‘aÈ\medskipŽ¡‘>ã=®68Ž‘aÈ\begingroupŽ¡‘>ã=®69Ž‘vÈ\parindent=0pt‘?ý\parskip=0ptŽ¡‘>ã=®70Ž‘vÈ\def\par{\null\endgraf}\obeylinesŽ¡‘>ã=®71Ž‘vÈ\setupverbatim‘?ý\maketabstabŽ¡‘>ã=®72Ž‘vÈ\tt‘?ý\the\everylistingŽ¡‘>ã=®73Ž‘vÈ\input#1Ž¡‘>ã=®74Ž‘aÈ\endgroupŽ¡‘>ã=®75Ž‘aÈ\medskip\noindent\ignorespacesŽ¡‘>ã=®76Ž‘LÈ}Ž¦‘L«This–UUmacro“rede nes“cš¸ãharacter“Ÿ'È^Ž‘•RŸ'^Ž‘ ÕOI“«(horizon˜tal“tab)“to“proGduce“the“equiv‘ÿqÇalen˜t“of“eigh˜tŽ¤ ‘8spaces.‘qÇThis–UUisn't“quite“the“same“as“what“HTs“are“used“for“with“UNIX“ les,“but“it“w¸ãorksŽ¡‘8adequately–UUif“all“yš¸ãour“tabs“are“at“the“start“of“the“line“(i.e.,“if“tabs“are“used“only“for“inden˜t-Ž¡‘8ation,–UUnot“to“mak¸ãe“tables).ŽŽŸ’ü› 3ŽŒ‹›Ÿ¹JŸò‘þÜ¥Å77{102’ëX¤PDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘>ã=®77Ž‘LÈ{\catcodeŸ‰ÇŽ–?ý\Ÿ'^Ž“Ÿ'^Ž‘ úI=\activeŽ¤ ™œ‘>ã=®78Ž‘Q\È\gdef\maketabstab{\catcodeŸ‰ÇŽ–?ý\Ÿ'^Ž“Ÿ'^Ž› úI\active“\defŸ'^Ž“Ÿ'^Ž˜I{\hskip“4em}}Ž¡‘>ã=®79Ž‘LÈ}ŽŸÇ/‘)‹Þ5.Ž‘8Everypa®ïr‘œhhacksŽŸ㘑#áÀ5.1.Ž‘8P•¸ãa“rametersŽ©qÌ‘8«The–UUfolloš¸ãwing“ma˜y“bGe“set“b˜y“higher-lev˜el“macros“to“c˜hange“the“apGearance“of“the“next“para-Ž¤ ‘8graph.Ž¡‘LIf–UUthe“ ag“È\ifnoindent“«is“set,“then“the“inden¸ãtation“of“the“next“paragraph“will“bGeŽ¡‘8remo•¸ãv“ed›UU(b“y˜deleting˜the˜bGo“x˜added˜b“y˜T‘þÿüŸ'EŽ‘Î6X's˜È\indent˜«primitiv“e).‘qÇTh“us˜È\noindenttrueŽ¡‘8«w•¸ãorks›UUlik“e˜È\noindent«,˜except˜that˜there˜ma“y˜b•Ge˜blank˜lines˜b“et•¸ãw“een˜È\noindenttrue˜«andŽ¡‘8the–UUparagraph“it“a ects.ŽŸ h‘>ã=®80Ž‘LÈ\newif\ifnoindentŽ¦‘L«This–UU ag“is“reset“globally“once“it“has“had“its“e ect.Ž¡‘LIf–UUthe“bGoš¸ãx“È\parbox“«is“non-v˜oid,“then“its“v‘ÿqÇalue“is“t˜ypGeset“in“the“left“margin“of“the“nextŽ¡‘8paragraph.‘qÇ(A•¸ãt›UUpresen“t˜this˜doGes˜an˜implicit˜È\noindenttrue˜«but˜later˜v“ersions˜ma“y˜allo“wŽ¡‘8the–UUnext“paragraph“to“bGe“indenš¸ãted.)‘qÇThe“righ˜thand“edge“of“the“parbGo˜x“will“bGe“distanceŽ¡‘8È\parboxsep–UU«from“the“left“edge“of“the“text“area.ŽŸ h‘>ã=®81Ž‘LÈ\newbox\parboxŽ¤ ™œ‘>ã=®82Ž‘LÈ\newdimen\parboxsep‘?ý\parboxsep=1pcŽ©㘑#áÀ5.2.Ž‘8Setting‘ÝÀÈ\everyparŽŽŸ}4‘*ã;®83Ž‘8È\everypar={%Ž¡‘>ã=®84Ž‘aÈ\ifvoid\parboxŽ¡‘>ã=®85Ž‘vÈ\ifnoindent–?ý{\setbox0=\lastbox}\global\noindentfalse“\fiŽ¡‘>ã=®86Ž‘aÈ\elseŽ¡‘>ã=®87Ž‘vÈ{\setbox0=\lastbox}\global\noindentfalseŽ¡‘>ã=®88Ž‘vÈ\dp\parbox=0ptŽ¡‘>ã=®89Ž‘vÈ\hbox–?ýto“0pt{\hss“\box\parbox“\hskip\parboxsep}%Ž¡‘>ã=®90Ž‘aÈ\fiŽ¡‘>ã=®91Ž‘LÈ}ŽŸÇ/‘)‹Þ6.Ž‘8Environment‘L§infrastructureŽ¦‘8«An›UUen•¸ãvironmen“t˜is˜a˜structure˜used˜to˜t“ypGeset˜textual˜elemen“ts˜consisting˜of˜sev“eral˜T‘þÿüŸ'EŽ‘Î6XŽ¤ ‘8paragraphs–UU(usually“emš¸ãbGedded“within“one“conceptual“paragraph).‘qÇIt“is“a“concept“lik˜eŽ¡‘8L‘þÿüŸýxäaŽ‘ÿýT‘þÿüŸ'EŽ‘Î6X›UUen•¸ãvironmen“ts,˜but˜with˜the˜syn“tax˜c“hanged˜to˜bGe˜more˜plain-T‘þÿüŸ'EŽ‘Î6X-lik“e.Ž¡‘LSince›UUen•¸ãvironmen“ts˜ha“v“e˜one˜argumen“t˜that˜ma“y˜span˜man“y˜lines˜in˜the˜ le˜w“e˜useŽ¡‘8more–UUvš¸ãerbGose“brac˜k˜ets“than“È{«{È}“«to“mak˜e“it“easier“to“spšGot“where“they“b˜egin“and“end.‘qÇThisŽ¡‘8is–UUa“structure“in“a“došGcumen¸ãt“lo˜oking“lik¸ãe“this:ŽŸ)qñŸè’ßi-È\·hÏname‘À[·iŽ‘ HhÏar‘ÿ}'gs‘Ò!·iŽŽŽ¡’éi.ó  b> cmmi10±:–ª¨:“:ŽŽŽ¡’ßi-È\end·hÏname‘À[·iŽŽŽŽŽŸ*‘L«A–UUnew“en•¸ãvironmen“t–UUis“de ned“b¸ãy“de ning“macros“called“È\·hÏname‘À[·iŽ‘#_«and“È\end·hÏname‘À[·iŽ‘ H«.Ž¡‘8Within–UUthe“È\·hÏname‘À[·iŽ›#_«and“È\end·hÏname‘À[·iŽ˜«macros,“calls“to“È\beginthe“«and“È\endthe“«are“used“toŽ¡‘8c•¸ãhec“k–UUthat“en•¸ãvironmen“ts–UUare“nested“propGerly‘ÿ*ª.Ž© h‘>ã=®92Ž‘LÈ\def\beginthe#1{%Ž¤ ™œ‘>ã=®93Ž‘aÈ\begingroup\def\PDCFMTblockname{#1}%Ž¡‘>ã=®94Ž‘LÈ}Ž¦‘>ã=®95Ž‘LÈ\def\endthe#1{%Ž¡‘>ã=®96Ž‘aÈ\def\tmp{#1}%Ž¡‘>ã=®97Ž‘aÈ\ifx\tmp\PDCFMTblocknameŽ¡‘>ã=®98Ž‘vÈ\endgroupŽ¡‘>ã=®99Ž‘aÈ\elseŽ¡‘:æÊ®100Ž‘vÈ\errmessage{You–?ýshould“have“said“\string\endthe{\blockname}}%Ž¡‘:æÊ®101Ž‘aÈ\fiŽ¡‘:æÊ®102Ž‘LÈ}ŽŽŸ’ü› «4ŽŒ‹,lŸ¹JŸò‘þÜ¥Å103{124’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘#áÀ6.1.Ž‘8A‘€‡generic–€Õend-of-environment“macroŽ©8‘8«This–UUmacro“doGes“a“È\smallskip“«(if“there“is“not“already“a“larger“skip“on“the“curren¸ãt“list),ŽŸ ‘8and–UUsets“the“`noindenš¸ãt'“ ag“so“that“the“follo˜wing“T‘þÿüŸ'EŽ‘Î6X“paragraph“is“not“inden˜ted.ŽŸ Ô‘:æÊ®103Ž‘LÈ\def\PDCFMTendenv#1{Ž¤ ¸‘:æÊ®104Ž‘aÈ\smallskipŽ¡‘:æÊ®105Ž‘aÈ\endthe{#1}Ž¡‘:æÊ®106Ž‘aÈ\global\noindenttrueŽ¡‘:æÊ®107Ž‘LÈ}Ž¦‘L«Where–UUan“en•¸ãvironmen“t–UUdescribšGes“text“that“should“b˜e“inden¸ãted,“usually“È\parindentŽ¤ ‘8«should–UUbGe“used“(for“consistency).‘qÇIf“È\parindent“«is“zero“wš¸ãe“still“w˜an˜t“to“inden˜t“the“text,Ž¡‘8and–UUwš¸ãe“use“È\envindent“«to“describGe“ho˜w“m˜uc˜h“to“inden˜t“it“b˜y‘ÿ*ª.Ž¤ Ô‘:æÊ®108Ž‘LÈ\newdimen\envindent‘?ý\envindent=1pcŽ¡‘:æÊ®109Ž‘LÈ\def\PDCFMTindent{%Ž¤ ¸‘:æÊ®110Ž‘aÈ\ifdim\parindent>0ptŽ¡‘:æÊ®111Ž‘vÈ\parindentŽ¡‘:æÊ®112Ž‘aÈ\elseŽ¡‘:æÊ®113Ž‘vÈ\envindentŽ¡‘:æÊ®114Ž‘aÈ\fiŽ¡‘:æÊ®115Ž‘LÈ}ŽŸŠ‘)‹Þ7.Ž‘8QuotationsŽŸ†U‘8«This–UUis“a“simple“en•¸ãvironmen“t,–UUwith“the“left“margin“inden¸ãted“and“the“ rst“paragraph“in“theŽ¤ ‘8quotetd–UUtext“not“inden¸ãted.Ž‘8ŸÚI‰ffÿŸ sã‘ÈIt–?ýis“...‘ úwho“saidŽ¡\quotationŽ¡‘Shookum–?ýhip“rallo“dyne.Ž¡\endquotationŽ¡Indeed,–?ýit“burgle“gurgler.ŽŽŽ’àÿ…«It–UUis“inš¸ãteresting“to“remem˜bGer“the“w˜ordsŽ¡’Ìÿƒof–UUSpšGencone“Tip˜eth,“who“saidŽ¤’àÿ…ShoGokum–UUhip“rallo“dyne.Ž¡’ÌÿƒIndeed,–UUit“burgle“gurgler.ŽŽŽŽŸ6!f‰ffÿŸ õÿ‘The–UUtokš¸ãen“register“È\everyquotation“«migh˜t“bGe“used“to“arrange“for“all“quotations“toŽ¡bšGe–UUin“smaller“t¸ãyp˜e“withŽŸ †U‘z߯È\everyquotation={\smallfonts}ŽŽŸ†U¤ Ô‘Ê­®116Ž‘È\newtoks\everyquotationŽ¡‘Ê­®117Ž‘È\def\quotation{Ž¤ ¸‘Ê­®118Ž‘(ÿöÈ\smallskipŽ¡‘Ê­®119Ž‘(ÿöÈ\beginthe{quotation}Ž¡‘Ê­®120Ž‘(ÿöÈ\advance\leftskip\PDCFMTindentŽ¡‘Ê­®121Ž‘(ÿöÈ\noindenttrueŽ¡‘Ê­®122Ž‘(ÿöÈ\the\everyquotationŽ¡‘Ê­®123Ž‘È}ŽŸ Ô‘Ê­®124Ž‘È\def\endquotation{\PDCFMTendenv{quotation}}Ž¦‘«The–UUdi erences“from“using“È{\narrower±:–ª¨:“:Ž‘ UOÈ\par}“«(apart“from“ho¸ãw“it“loGoks“in“theŽ¤ source–UU le)“include“(a)“the“righš¸ãt“margin“isn't“inden˜ted;“(b)“it“inden˜ts“b˜y“È\envindent“«ifŽ¡there–UUis“no“È\parindent“«and“(c)“it“is“preceeded“and“follo•¸ãw“ed›UUb“y˜a˜smallskip.ŽŸŠ‘ñnüÞ8.ŽT‘ÿ Íextlists|bulleted–o®ïr“numbQered“listsŽŸ†U«Here's–UUa“generic“list-of-items“en•¸ãvironmen“t,–UUused“to“implemenš¸ãted“bulleted“and“n˜um˜bGeredŽ¡lists.‘qÇEacš¸ãh–UUitem“is“started“with“the“con˜v˜enien˜t“È\\“«macro“(and“so“ma˜y“con˜tain“more“thanŽ¡one–UUparagraph).‘qÇIt“is“called“a“`textlist'“to“distinguish“it“from“other“meanings“of“the“w¸ãordŽ¡`list'.‘qÇUsually–UUtextlists“will“bGe“generated“with“higher-levš¸ãel“macros“lik˜e“È\bullets“«andŽ¡È\numbered«.ŽŽŸ’ü› 5ŽŒ‹9柹JŸò‘þÜ¥Å125{155’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘#áÀ8.1.Ž‘8A‘¡fgeneric–¡¼textlist“environmentŽŸZ‘8«The–UUtokš¸ãen“register“È\everytextlist“«is“expanded“at“the“start“of“ev˜ery“textlist.‘qÇThe“lev˜elŽ¤ ‘8of–UUnesting“is“recorded“in“È\textlistdepth“«(a“to-lev¸ãel“list“is“depth“0,“a“list“inside“that“isŽ¡‘8depth–UU1,“and“so“on).‘qÇThe“ ag“È\ifnumbered“«conš¸ãtrols“whether“items“are“n˜um˜bGered“(usingŽ¡‘8È\numberfordepth«)–UUor“bulleted“(using“È\bulletfordepth«).Ž© óŸ‘:æÊ®125Ž‘LÈ\newtoks\everytextlistŽ¤ ™œ‘:æÊ®126Ž‘LÈ\newif\ifnumberedŽ¡‘:æÊ®127Ž‘LÈ\newcount\textlistdepth‘ ú\textlistdepth=-1Ž¡‘:æÊ®128Ž‘LÈ\newcount\textlistcountŽ¦‘:æÊ®129Ž‘LÈ\def\textlist{%Ž¡‘:æÊ®130Ž‘aÈ\parŽ¡‘:æÊ®131Ž‘aÈ\beginthe{textlist}Ž¡‘:æÊ®132Ž‘aÈ\advance\textlistdepth‘?ý1Ž¡‘:æÊ®133Ž‘aÈ\textlistcount0Ž¡‘:æÊ®134Ž‘aÈ\def\\{Ž¡‘:æÊ®135Ž‘vÈ\smallskip\noindentŽ¡‘:æÊ®136Ž‘vÈ\advance\textlistcount1Ž¡‘:æÊ®137Ž‘vÈ\llap{%Ž¡‘:æÊ®138Ž’‹ûÈ\ifnumberedŽ¡‘:æÊ®139Ž’ ïÈ\numberfordepth\textlistdepth\textlistcountŽ¡‘:æÊ®140Ž’‹ûÈ\elseŽ¡‘:æÊ®141Ž’ ïÈ\bulletfordepth\textlistdepthŽ¡‘:æÊ®142Ž’‹ûÈ\fi\enspace}%Ž¡‘:æÊ®143Ž‘vÈ\ignorespacesŽ¡‘:æÊ®144Ž‘aÈ}Ž¡‘:æÊ®145Ž‘aÈ\advance\leftskip\PDCFMTindentŽ¡‘:æÊ®146Ž‘aÈ\the\everytextlistŽ¡‘:æÊ®147Ž‘LÈ}Ž¦‘:æÊ®148Ž‘LÈ\def\endtextlist{\PDCFMTendenv{textlist}}ŽŸ´‘#áÀ8.2.Ž‘8Bulleted‘ÿlistsŽŸZ‘8«This–UUdescribGes“a“bulleted“list,“where“eacš¸ãh“paragraph“is“inden˜ted“and“preceeded“b˜y“a“markŽ¤ ‘8in–UUthe“margin.Ž‘8Ÿ²0‰ffÿ© KÊ‘ÈI–?ýwould“like“to“make...Ž¡\bulletsŽ¡\\–?ýthis“point;“andŽ¡\\–?ýthat“pointŽ¡\endbulletsŽ¡And–?ýso“on“and“so“forth.ŽŽŽ’àÿ…«I–UUwš¸ãould“lik˜e“to“mak˜e“the“follo˜wing“v˜eryŽ¡’ÌÿƒimpGortanš¸ãt–UUand“relev‘ÿqÇan˜t“itemized“pGoin˜ts:Ž¤’Öÿ„·Ž’àÿ…«this–UUpGoin¸ãt;“andŽ¡’Öÿ„·Ž’àÿ…«that‘UUpGoin¸ãtŽ¡’ÌÿƒAnd–UUso“on“and“so“forth.ŽŽŽŽŸ>Ài‰ffÿ¦‘Bullets›UUen•¸ãvironmen“ts˜ma“y˜bGe˜nested,˜in˜whic“h˜case˜di eren“t˜marks˜are˜used.‘qÇThe˜signŽ¡is–UUc¸ãhosen“with“È\bulletfordepth«.Ž¤ óŸ‘Ê­®149Ž‘È\newtoks\everybulletsŽ¡‘Ê­®150Ž‘È\def\bullets{\textlist–?ý\numberedfalse“\the\everybullets}Ž© ™œ‘Ê­®151Ž‘È\let\endbullets=\endtextlistŽ¡‘Ê­®152Ž‘È\def\bulletfordepth#1{%Ž¦‘Ê­®153Ž‘(ÿöÈ\ifcase#1–?ý$\bullet$\or“--\or“$\circ$\else“$\cdot$\fiŽ¦‘Ê­®154Ž‘È}ŽŸ´‘ëqÄÀ8.3.ŽNumbGered‘ô listsŽŸZ«The›UUn•¸ãum“bGered˜list˜is˜similar.‘qÇThe˜st“yle˜of˜n“um“bGering˜c“hanges˜with˜the˜listing˜depth;˜y“ouŽ¤ can–UUcš¸ãhange“this“b˜y“rede ning“È\numberfordepth«.ŽŸ4TÊŸÜ’„„kDepth‘UU0Ž’Èz›1.Ž’Ù%H2.Ž’ì—3.Ž’øÏ÷±:–ª¨:“:ŽŽŽ¡’„„k«Depth‘UU1Ž’Ä— (1)Ž’ÕA¹(2)Ž’賃(3)Ž’øÏ÷±:–ª¨:“:ŽŽŽ¡’„„k«Depth‘UU2Ž’ö:(Ïa‘Äc«)Ž’Õ‹(Ïb‘¡˜«)Ž’è‰7(Ïc‘¶«)Ž’øÏ÷±:–ª¨:“:ŽŽŽ¡’„„k«Depth‘UU3+Ž’ÆÏð(i)Ž’Ô³€(ii)Ž’å^-(iii)Ž’øÏ÷±:–ª¨:“:ŽŽŽŽŽŽŸ*«There–UUis“also“a“tokš¸ãen“regieter“È\everynumbered“«for“an˜y“extra“customization.‘qÇThis“is“readŽ¡after‘UUÈ\everytextlist«.ŽŸ óŸ‘Ê­®155Ž‘È\newtoks\everynumberedŽŽŸ’ü› «6ŽŒ‹E«Ÿ¹JŸò‘þÜ¥Å156{188’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘:æÊ®156Ž‘LÈ\def\numbered{\textlist–?ý\numberedtrue“\the\everynumbered}Ž¤ ¶‘:æÊ®157Ž‘LÈ\let\endnumbered=\endtextlistŽ© ¥Ð‘:æÊ®158Ž‘LÈ\def\numberfordepth#1#2{%Ž¡‘:æÊ®159Ž‘aÈ\ifcase#1–?ý\n{\number#2}.\or“(\n{\number#2})\orŽ¡‘:æÊ®160Ž‘vÈ({\it\alphabetletter#2\/})\else‘?ý(\romannumeral#2)\fiŽ¡‘:æÊ®161Ž‘LÈ}ŽŸ 4‘L«It–UUturns“out“that“sometimes“it“is“useful“to“bšGe“able“to“imp˜ose“a“format“on“n•¸ãum“b˜ersŽ¤ ‘8generated–UUb¸ãy“formatting“macros.‘qÇF‘ÿ*ªor“example,“I“oGccasionally“ nd“it“useful“to“force“allŽ¡‘8n•¸ãum“bšGers–UUto“b˜e“generated“in“maths“mo˜de.‘qÇT‘ÿ*ªo“do“this,“all“n•¸ãum“b˜ers–UUgenerated“b¸ãy“macros“areŽ¡‘8enclosed–UUin“È\n{«{È}«.‘qÇBy“default,“È\n“«is“equiv‘ÿqÇalen¸ãt“to“È\relax«.Ž¦‘:æÊ®162Ž‘LÈ\let\n\relaxŽŸ’M‘#áÀ8.4.Ž‘8Picking–˜a“letter“of“the“alphabGetŽŸ 4‘8«This–UUmacro“bGeha•¸ãv“es–UUas“m•¸ãuc“h›UUlik“e˜the˜primitiv“es˜È\number˜«and˜È\romannumeral˜«as˜it˜can:Ž¡‘8it–UUexpands“enš¸ãtirely“within“T‘þÿüŸ'EŽ‘Î6X's“mouth,“and“so“ma˜y“bGe“used“in“È\edef«s“and“the“lik˜e.‘qÇItŽ¡‘8proGduces–UUÈ???“«or“È!!!“«if“its“argumen¸ãt“is“not“in“the“range“1{26.‘qÇThe“macro“is“de ned“so“asŽ¡‘8to–UUreduce“the“n•¸ãum“bšGer–UUof“tok¸ãesn“to“b˜e“skipp˜ed“when“È#1“«is“less“than“6.Ž¦‘:æÊ®163Ž‘LÈ\def\alphabetletter#1{%Ž¤ ¶‘:æÊ®164Ž‘aÈ\ifcase#1–?ý???“\or“a\or“b\or“c\or“d\or“e\elseŽ¡‘:æÊ®165Ž‘vÈ\xxxalphabetletter#1\fiŽ¡‘:æÊ®166Ž‘LÈ}Ž¡‘:æÊ®167Ž‘LÈ\def\xxxalphabetletter#1{%Ž¡‘:æÊ®168Ž‘aÈ\ifcase#1–?ý\or\or\or\or\or\or“f\or“g\or“h\or“i\or“j\orŽ¡‘:æÊ®169Ž‘vÈk\or–?ýl\or“m\or“n\or“o\or“p\or“q\or“r\or“s\or“t\or“u\orŽ¡‘:æÊ®170Ž‘vÈv\or–?ýw\or“x\or“y\or“z\else“!!!\fiŽ¡‘:æÊ®171Ž‘LÈ}ŽŸž€‘)‹Þ9.Ž‘8T‘ÿ Íagged‘°plistsŽŸ’M‘8«In–UUother“wš¸ãords,“description“lists.‘qÇEac˜h“paragraph“starts“with“the“`tag'“set“either“in“the“leftŽ¤ ‘8margin–UUor“sticš¸ãking“in“to“the“curren˜t“line“if“it“is“toGo“long“to“ t.‘qÇThe“tag“for“eac˜h“paragraphŽ¡‘8is–UUin¸ãtroGduced“with“`È\\{·hÏtext‘òØ·iŽ‘œÈ}Ž‘# «'.ŽŸ †‘LThe–UUmaxim¸ãum“width“of“tag“labšGels“(including“the“1‘ª®en“space“that“go˜es“b˜et•¸ãw“een‘UUlab˜elŽ¡‘8and–UUtext)“in“is“stored“in“È\tagmaxwidth«.‘qÇIf“there“is“not“rošGom,“then“the“lab˜el“is“run“on“in“toŽ¡‘8the–UUparagraph“and“separated“from“the“text“b¸ãy“a“quad“space.Ž¦‘:æÊ®172Ž‘LÈ\newdimen\tagmaxwidthŽŸ 4‘L«As–UUw¸ãell“as“giving“a“new“de nition“to“the“È\\“«macro,“the“È\tagged“«command“mastŽ¡‘8cš¸ãhoGose–UUa“v‘ÿqÇalue“for“È\tagmaxwidth«.‘qÇIf“there“is“a“large“left“margin“(signalled“b˜y“givingŽ¡‘8È\leftmargin–UU«a“pšGositiv¸ãe“v‘ÿqÇalue)“then“tags“will“go“in“there;“otherwise“the“text“will“b˜e“inden-Ž¡‘8ted–UUand“the“amounš¸ãt“of“inden˜tation“used“as“the“maxim˜um“labGel“width.Ž¦‘:æÊ®173Ž‘LÈ\newtoks\everytaggedŽ¦‘:æÊ®174Ž‘LÈ\def\tagged{%Ž¤ ¶‘:æÊ®175Ž‘aÈ\parŽ¡‘:æÊ®176Ž‘aÈ\beginthe{tagged}Ž¡‘:æÊ®177Ž‘aÈ\let\\\TAGŽ¡‘:æÊ®178Ž‘aÈ\ifdim\leftmargin=0ptŽ¡‘:æÊ®179Ž‘vÈ\tagmaxwidth\PDCFMTindentŽ¡‘:æÊ®180Ž‘aÈ\elseŽ¡‘:æÊ®181Ž‘vÈ\tagmaxwidth\leftmarginŽ¡‘:æÊ®182Ž‘aÈ\fiŽ¡‘:æÊ®183Ž‘aÈ\the\everytaggedŽ¡‘:æÊ®184Ž‘aÈ\ifdim\tagmaxwidth>\leftmarginŽ¡‘:æÊ®185Ž‘vÈ\leftskip\tagmaxwidth‘?ý\advance\leftskip-\leftmarginŽ¡‘:æÊ®186Ž‘aÈ\fiŽ¡‘:æÊ®187Ž‘LÈ}Ž¦‘:æÊ®188Ž‘LÈ\def\endtagged{\PDCFMTendenv{tagged}}ŽŽŸ’ü› «7ŽŒ‹R<Ÿ¹JŸò‘þÜ¥Å189{231’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘L«The–UUadjustmen¸ãt“to“È\leftmargin“«comes“after“scanning“È\everytagged“«so“that“it“is“pGos-Ž¤ ‘8sible–UUto“adjust“È\tagmaxwidth“«inside“È\everytagged«.ŽŸ xΑLT‘ÿ*ªric•¸ãk“ery–UUwith“È\futurelet“«and“È\aftergroup“«(lik¸ãe“that“used“in“plain“T‘þÿüŸ'EŽ‘Î6X's“È\footnoteŽ¡‘8«command)–UUis“used“to“alloš¸ãw“catcoGde“c˜hanges“in“·hÏtext‘òØ·iŽ‘Fº«to“w˜ork.‘qÇThis“allo˜ws“macros“thatŽ¡‘8generate–UU`vš¸ãerbatim'“text“to“w˜ork.Ž¤ ‹8‘:æÊ®189Ž‘LÈ\newtoks\everytagŽ¡‘:æÊ®190Ž‘LÈ\def\TAG{%Ž¤ j‘:æÊ®191Ž‘aÈ\smallskip\noindentŽ¡‘:æÊ®192Ž‘aÈ\setbox0=\hbox\bgroup‘)ÿè%–?ýmatched“by“\TAGfinishŽ¡‘:æÊ®193Ž‘aÈ\the\everytag\ignorespacesŽ¡‘:æÊ®194Ž‘aÈ\futurelet\next\TAGtestŽ¡‘:æÊ®195Ž‘LÈ}Ž© ‹8‘:æÊ®196Ž‘LÈ\def\TAGtest{%Ž¡‘:æÊ®197Ž‘aÈ\ifcat\bgroup\noexpand\nextŽ¡‘:æÊ®198Ž‘vÈ\let\next\TAGgotbraceŽ¡‘:æÊ®199Ž‘aÈ\elseŽ¡‘:æÊ®200Ž‘vÈ\let\next\TAGnobraceŽ¡‘:æÊ®201Ž‘aÈ\fi‘?ý\nextŽ¡‘:æÊ®202Ž‘LÈ}Ž¦‘:æÊ®203Ž‘LÈ\def\TAGgotbrace{%Ž¡‘:æÊ®204Ž‘aÈ\bgroup\aftergroup\TAGfinishŽ¡‘:æÊ®205Ž‘aÈ\let\nextŽ¡‘:æÊ®206Ž‘LÈ}Ž¦‘:æÊ®207Ž‘LÈ\def\TAGnobrace#1{%Ž¡‘:æÊ®208Ž‘aÈ#1\TAGfinishŽ¡‘:æÊ®209Ž‘LÈ}Ž¦‘:æÊ®210Ž‘LÈ\def\TAGfinish{%Ž¡‘:æÊ®211Ž‘aÈ\unskip\hskip0.5em\egroup‘$¿ë%–?ýmatches“\TAGŽ¡‘:æÊ®212Ž‘aÈ\ifdim–?ý\wd0“<“\tagmaxwidthŽ¡‘:æÊ®213Ž‘vÈ\wd0=\tagmaxwidthŽ¡‘:æÊ®214Ž‘vÈ\llap{\box0}%Ž¡‘:æÊ®215Ž‘aÈ\elseŽ¡‘:æÊ®216Ž‘vÈ\hskip-\tagmaxwidthŽ¡‘:æÊ®217Ž‘vÈ\unhbox0‘?ý\unskip\quadŽ¡‘:æÊ®218Ž‘aÈ\fiŽ¡‘:æÊ®219Ž‘aÈ\ignorespacesŽ¡‘:æÊ®220Ž‘LÈ}ŽŸñœ‘L«It–UUmighš¸ãt“bGe“in˜teresting“to“generalize“these“macros“so“that“new“macros“with“an“argu-Ž¤ ‘8menš¸ãt–UUscanned“this“w˜a˜y“ma˜y“bGe“created“more“easily‘ÿ*ª.ŽŸ\‘#×ëÞ10.Ž‘8Lines–Ò·environment“(foš®ïr“p˜rogram“listings“etc)ŽŸjk‘8«In–UUthe“Èlines“«en•¸ãvironmen“t,›UUeac“h˜line˜in˜the˜man“uscript˜ le˜bGecomes˜a˜new˜paragraph˜(i.e.,Ž¡‘8a–UUseparate“line“on“the“prinš¸ãted“page).‘qÇA“È%“«at“the“end“of“a“line“ma˜y“bGe“used“to“split“a“ leŽ¡‘8line–UUin“to“sevš¸ãeral“logical“lines.‘qÇIn“addition,“the“Èlines“«en˜vironmen˜t“is“brac˜k˜eted“b˜y“hori-Ž¡‘8zonš¸ãtal–UUrules.‘qÇThe“e ect“is“similar“to“that“proGduced“b˜y“the“È\beginlines«{È\endlines“«mac-Ž¡‘8ros–UUin“ÏT‘þúLŸ'EŽ‘ÂÒXb–ÿ}'o“ok–UU«AppGendix“E.Ž¦‘:æÊ®221Ž‘LÈ\newtoks\everylinesŽ¦‘:æÊ®222Ž‘LÈ\def\lines{Ž¤ j‘:æÊ®223Ž‘aÈ\parŽ¡‘:æÊ®224Ž‘aÈ\beginthe{lines}Ž¡‘:æÊ®225Ž‘aÈ\nobreak\smallskip\hrule\nobreak\smallskipŽ¡‘:æÊ®226Ž‘aÈ\obeylinesŽ¡‘:æÊ®227Ž‘aÈ\parindent=0pt‘?ý\parskip=0ptŽ¡‘:æÊ®228Ž‘aÈ\parfillskip=0pt–?ýplus“1filŽ¡‘:æÊ®229Ž‘aÈ\the\everylinesŽ¡‘:æÊ®230Ž‘aÈ\nobreakŽ¡‘:æÊ®231Ž‘LÈ}ŽŽŸ’ü› «8ŽŒ‹ `Ÿ¹JŸò‘þÜ¥Å232{268’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘:æÊ®232Ž‘LÈ\def\endlines{Ž¤ Ã[‘:æÊ®233Ž‘aÈ\nobreak\smallskipŽ¡‘:æÊ®234Ž‘aÈ\endthe{lines}Ž¡‘:æÊ®235Ž‘aÈ\hrule\smallskipŽ¡‘:æÊ®236Ž‘aÈ\global\noindenttrueŽ¡‘:æÊ®237Ž‘LÈ}ŽŸS~‘L«F‘ÿ*ªor–UUlonger“listings“it“maš¸ãy“bGe“nice“to“ha˜v˜e“the“lines“n˜um˜bGered“for“later“reference.‘qÇTheŽ¤ ‘8follo•¸ãwing›UUt“w“o˜macros˜ma“y˜bGe˜put˜in˜È\everylines˜«to˜enable˜line˜n“um“bGering|the˜ rstŽ¡‘8starts–UUfrom“1“in“eacš¸ãh“listing“en˜vironmen˜t,“the“other“con˜tin˜ues“the“n˜um˜bGering“from“whereŽ¡‘8it–UUleft“o .ŽŸ )¿‘LThe–UUline“n•¸ãum“bGer–UUis“kš¸ãept“in“È\linenumber“«(whic˜h“ma˜y“bGe“adjusted“b˜y“the“user).‘qÇOnlyŽ¡‘8evš¸ãery–UU5th“line“is“n˜um˜bGered.‘qÇThe“n˜um˜bGer“of“lines“un˜til“the“next“prin˜ted“one“is“held“inŽ¡‘8È\PDCFMTcount«.‘qÇBoth–UUthese“are“alw•¸ãa“ys–UUset“globally“(whicš¸ãh“means“lines“en˜vironmen˜ts“cannotŽ¡‘8bGe‘UUnested!).Ž¤ í‘:æÊ®238Ž‘LÈ\newcount\linenumberŽ© Ã[‘:æÊ®239Ž‘LÈ\newcount\PDCFMTcountŽ¡‘:æÊ®240Ž‘LÈ\def\startlinenumbering{%Ž¦‘:æÊ®241Ž‘aÈ\global\linenumber=0‘?ý\global\PDCFMTcount=5Ž¦‘:æÊ®242Ž‘aÈ\everypar{\numberthisline}%Ž¦‘:æÊ®243Ž‘LÈ}Ž¡‘:æÊ®244Ž‘LÈ\def\continuelinenumbering{%Ž¦‘:æÊ®245Ž‘aÈ\everypar{\numberthisline}%Ž¦‘:æÊ®246Ž‘LÈ}ŽŸS~‘L«The–UUÈ\numberthisline“«macro“is“in•¸ãv“ok“ed–UUat“the“bGeginning“of“ev¸ãery“paragraph.‘qÇIt“incre-Ž¤ ‘8menš¸ãts–UUÈ\linenumber«,“and“writes“the“line“n˜um˜bGer“of“ev˜ery“ fth“line“in“the“righ˜t“margin.‘qÇByŽ¡‘8default–UUit“uses“the“same“fonš¸ãt“as“used“in“subscripts;“this“can“bGe“c˜hanged“b˜y“c˜hanging“theŽ¡‘8tok¸ãen–UUregister“È\everylinenum«.Ž¤ í‘:æÊ®247Ž‘LÈ\newtoks\everylinenum–?ý\everylinenum{\the\scriptfont0“}Ž¡‘:æÊ®248Ž‘LÈ\def\numberthisline{%Ž¦‘:æÊ®249Ž‘aÈ\strutŽ¦‘:æÊ®250Ž‘aÈ\global\advance\linenumber1‘?ý\global\advance\PDCFMTcount-1Ž¦‘:æÊ®251Ž‘aÈ\ifnum\PDCFMTcount>0‘?ý\elseŽ¦‘:æÊ®252Ž‘Q\È\global\advance\PDCFMTcount‘?ý5Ž¦‘:æÊ®253Ž‘Q\È\rlap{\the\everylinenum–?ý\kern\hsize\kern1em“\the\linenumber}%Ž¦‘:æÊ®254Ž‘aÈ\fiŽ¦‘:æÊ®255Ž‘LÈ}%ŽŸS~‘L«Within–UUthe“lines“en•¸ãvironmen“t–UUit“can“bšGe“useful“to“indicate“where“lines“ha•¸ãv“e‘UUb˜eenŽŸ ‘8skippGed.‘qÇThis–UUmacro“also“adjusts“the“È\linenumber“«macro.Ž¡‘:æÊ®256Ž‘LÈ\def\linesskipped#1{%Ž¦‘:æÊ®257Ž‘aÈ\strut–?ý\hskip20pt“$\vdots$“\hskip20ptŽ¦‘:æÊ®258Ž‘aÈ{\rm(\it–?ý#1“lines“omitted\rm)}\parŽ¦‘:æÊ®259Ž‘aÈ\advance\linenumber#1\relaxŽ¦‘:æÊ®260Ž‘LÈ}ŽŸк‘#×ëÞ11.Ž‘8Displa®ïys,‘>‘ÿ Íables–á.{“wrappšQer“ab˜out“È\halignŽŽŸ}=‘8«The–UUÈdisplay“«en•¸ãvironmen“t–UUdoGes“a“generic“(meaning“not“necessarily“mathematical)“displa¸ãy‘ÿ*ª,Ž¤ ‘8in–UUa“manner“similar“to“the“È\begindisplay«{È\enddisplay“«macros“in“ÏT‘þúLŸ'EŽ‘ÂÒXb–ÿ}'o“ok–UU«AppGendix“E.Ž¡‘8As–UUwith“Knš¸ãuth's“macro,“assignmen˜ts“ma˜y“follo˜w“on“the“same“line“as“È\display«,“and“È\crŽ¡‘8«and–UUÈ&“«maš¸ãy“bGe“used“to“split“the“displa˜y“in˜to“ro˜ws“and“columns.ŽŸ í‘:æÊ®261Ž‘LÈ\outer\def\display{\obeylines\startdisplay}Ž¦‘:æÊ®262Ž‘LÈ\bgroup\obeylines–?ý\toksa={\egroup“%Ž¦‘:æÊ®263Ž‘aÈ\def\startdisplay#1Ÿ'^Ž‘?ýŸ'^Ž‘ úM{%Ž¦‘:æÊ®264Ž‘vÈ\catcodeŸ‰ÇŽ–?ý\Ÿ'^Ž“Ÿ'^Ž‘ úM=5“$$“#1“%“matched“by“\enddisplayŽ¦‘:æÊ®265Ž‘vÈ\displayindent\PDCFMTindent‘?ý%Ž¦‘:æÊ®266Ž‘vÈ\halign\bgroup##\hfil&&\quad##\hfil\cr‘?ý%Ž¦‘:æÊ®267Ž‘aÈ}‘?ý%Ž¦‘:æÊ®268Ž‘LÈ}\the\toksa‘?ý%ŽŽŸ’ü› «9ŽŒ‹ k/Ÿ¹JŸò‘þÜ¥Å269{295’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘:æÊ®269Ž‘LÈ\def\enddisplay{\crcr\egroup$$}ŽŸ‚‘L«The–UUÈtable“«en•¸ãvironmen“t–UUis“similar,“ecept“that“what“follo¸ãws“È\table“«is“an“arbitraryŽŸ ‘8È\halign‘UU«spGeci cation.Ž© ·‘:æÊ®270Ž‘LÈ\def\table{%Ž¤ (]‘:æÊ®271Ž‘aÈ$$‘^Ê%–?ýmatching“$$“is“in“\endtableŽ¡‘:æÊ®272Ž‘aÈ\displayindent\PDCFMTindentŽ¡‘:æÊ®273Ž‘aÈ\halign‘?ý\bgroupŽ¡‘:æÊ®274Ž‘LÈ}Ž¦‘:æÊ®275Ž‘LÈ\let\endtable=\enddisplayŽŸ¬C‘Lóò"V cmbx10ÂNote‘ ÏBoth–“çthe“Ètable“Ïand“Èdisplay“Ïenvir›ÿ}'onments“must“go“within“p˜ar˜agr˜aphs.‘™–ThatŽ¤ ‘`!is,–“çther›ÿ}'e“should“not“b˜e“blank“lines“b˜efor˜e“È\tableÏ,“or“after“È\endtable“ÏunlessŽ¡‘`!the–“çtable“ends“the“p–ÿ}'ar“agr“aph.ŽŸÉÇ‘#×ëÞ12.Ž‘8(E)BNFŽŸ¬D‘8«BNF–UUis“Bakus-Naur“F‘ÿ*ªormalism;“EBNF“is“Extended“BNF.“The“same“en•¸ãvironmen“t‘UUdoGesŽ¡‘8either–UUformat.‘qÇThe“stš¸ãyle“I“happGen“to“lik˜e,“has“non-terminal“sum˜bGols“written“lik˜e“·hÏthis‘Ò!·iŽ‘…O«,“andŽ¡‘8terminal–UUsymš¸ãbGols“enclosed“in“`{'.‘qÇOptional“text“is“enclosed“in“brac˜k˜ets“(I“lik˜e“to“put“spacesŽ¡‘8bšGet•¸ãw“een–UUthe“brac•¸ãk“ets–UUand“the“enclosed“text“for“clarit¸ãy)“and“rep˜eatable“text“in“braces.ŽŸ ŽÁ‘LIn–UUthe“manš¸ãuscript“ le,“eac˜h“prošGduction“is“a“separate“paragraph.‘qÇThe“macro“È\>“«go˜esŽ¡‘8bšGet•¸ãw“een–UUthe“left“hand“side“and“righ¸ãt“hand“side“of“a“pro˜duction;“b¸ãy“default,“it“expands“toŽ¡‘8`::='.‘qÇAlternativš¸ães–UUare“separated“b˜y“È\\«;“b˜y“default“this“expands“to“a“bar“`·j«'.‘qÇIf“the“terminalŽ¡‘8sym¸ãb•Gols›UUhapp“en˜to˜b“e˜k¸ãeyb“oard˜c•¸ãharacters,˜use˜the˜v“erbatim˜text˜c“haracter˜È|˜«whic“h˜addsŽ¡‘8quotation–UUmarks“around“the“text“it“proGduces.‘qÇF‘ÿ*ªor“example,“the“follo¸ãwing“expressionŽ¤¬D’’M‘·hÏfo‘ÿ}'o‘¡˜·iŽ’¬}^«::=‘`Èf«'–UU`Èo«'“`Èo«'“·j“hÏb‘ÿ}'ar‘·iŽ‘ïø«[“·hÏmumble‘À[·iŽ‘0¬e«`Âm®9unge«'“].ŽŽ¡‘8ma¸ãy–UUbšGe“pro˜duced“withŽ¡‘a›úÈ\–?ý\>“|f|“|o|“|o|“\\“\“[“\“Ÿ‰ÇŽ› ú{\bf“munge}Ÿ‰ÇŽ˜].ŽŽ¡‘8«Braces–UUare“proGduced“with“È\{“«and“È\}«.Ž¦‘:æÊ®276Ž‘LÈ\newtoks\everybnfŽ¦‘:æÊ®277Ž‘LÈ\def\bnf{Ž¤ (]‘:æÊ®278Ž‘aÈ\nobreak\smallskipŽ¡‘:æÊ®279Ž‘aÈ\beginthe{bnf}Ž¡‘:æÊ®280Ž‘aÈ\advance\leftskip2\parindent‘?ý\parindent=-\parindentŽ¡‘:æÊ®281Ž‘aÈ\parskip0pt–?ýplus“1ptŽ¡‘:æÊ®282Ž‘aÈ\rightskip=1\rightskip–?ýplus“3emŽ¡‘:æÊ®283Ž‘aÈ\def\\{$\mid$}Ž¡‘:æÊ®284Ž‘aÈ\def\>{\unskip\enspace$::=$\enspace\ignorespaces}Ž¡‘:æÊ®285Ž‘aÈ\def|{Ÿ‰ÇŽ–?ý\begingroup\tt\setupverbatim\catcodeŸ‰ÇŽ“\|=13Ž¡‘:æÊ®286Ž’‹ûÈ\def|{\endgroupŸ‰ÇŽ‘?ý}}Ž¡‘:æÊ®287Ž‘aÈ\def\{{$\lbrace$}‘?ý\def\}{$\rbrace$}Ž¡‘:æÊ®288Ž‘aÈ\the\everybnfŽ¡‘:æÊ®289Ž‘LÈ}Ž¦‘:æÊ®290Ž‘LÈ\def\endbnf{Ž¡‘:æÊ®291Ž‘aÈ\smallskipŽ¡‘:æÊ®292Ž‘aÈ\endthe{bnf}Ž¡‘:æÊ®293Ž‘aÈ\global\noindenttrueŽ¡‘:æÊ®294Ž‘LÈ}ŽŸ‚‘L«The–UUmacro“È\<“«is“based“on“the“one“in“AppGendix“E“of“the“ÏT‘þúLŸ'EŽ‘ÂÒXb–ÿ}'o“ok«.‘qÇF‘ÿ*ªor‘UUexample,ŽŸ ‘8È\–UU«proGduces“`·hÏfo‘ÿ}'o‘¡˜·iŽ‘/Í«'.Ž¦‘:æÊ®295Ž‘LÈ\def\<#1>{\leavevmode\hbox{$\langle${\it#1\/}$\rangle$}}ŽŽŸ’úŸ«10ŽŒ‹ yGŸ¹JŸò‘þÜ¥Å296{316’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘L«The–UUdi erence“is“that“the“name“is“in“italics:‘qÇ·hÏname‘À[·iŽ‘'Ñd«not“·h«name·i«.ŽŸßž‘LÂNote‘ ÏThis–“çmacr›ÿ}'o“is“not“intene˜d“for“b˜e“use˜d“to“gener˜ate“char˜acter“names“likeŽ¤ ‘`!R›ÿ}'eturn–“çand“T‘ÿ;¼ab;“I“suggest“just“saying“`R˜eturn‘þúP'“and“`T‘ÿ;¼ab'“for“these.ŽŸ oÏ‘t#Ther›ÿ}'e–“çis“a“style“of“RF¾“C-822“email“addr˜esses“written“in“the“form“`‘=ßÈDamianŽ¡‘`!Cugley‘?ýÏ'.‘™–I–“çsuggest“that“when“pr›ÿ}'esenting“email“addr˜essesŽ¡‘`!in–“çprinte›ÿ}'d“do˜cuments“this“b˜e“r˜ender˜e˜d“as“something“like“`‘=ß«Damian‘UUCugleyŽ¡‘`!(Èpdc@alleged.co.uk«)Ï'.ŽŸ/ ‘#×ëÞ13.Ž‘8HeadingsŽ©On‘8«Here–UUare“some“macros“for“making“headings“for“sections“of“a“doGcumenš¸ãt.‘qÇThere“are“t˜w˜oŽ¡‘8stš¸ãyles–UUof“la˜y˜out“suppGorted“b˜y“these“heading“macros:‘qÇthe“usual“st˜yle“±N‘«,“with“headingsŽ¡‘8abGo•¸ãv“e–UUthe“ rst“paragraph“of“the“section,“and“the“`tab-indexed'“st¸ãyle“±T‘c«,“with“headings“inŽ¡‘8the–UUleft“margin,“aligned“with“the“ rst“line“of“the“paragraph.Ž¦‘àÀ13.1.Ž‘8The–µ#left“maš¸ãrgin“pa˜rameterŽŸßž‘8«F‘ÿ*ªor–UUst¸ãyle“±T‘¸ä«headings,“this“is“the“size“of“the“extra“margin“at“the“left“side“of“the“page“(soŽ¡‘8(Ïho setŽ‘á|«+–Ó1‘ª¨inŽ‘ ÿÿ)“·“Ïleftmar‘ÿ}'ginŽ‘2~`«is–UUthe“margin“bGet•¸ãw“een–UUthe“left“edge“of“headings“and“the“edgeŽ¡‘8of–UUthe“papGer).‘qÇSet“this“parameter“to“0‘ª¨ptŽ‘qÆfor“st¸ãyle“±N‘«.ŽŸ y:‘:æÊ®296Ž‘LÈ\newdimen\leftmarginŽ¦‘àÀ13.2.Ž‘8Headings–w¤that“don't“sta¸ãrt“a“new“pageŽ©ßž‘8«This–UUmacro“is“inš¸ãtended“to“bGe“used“b˜y“higher-lev˜el“macro“with“names“lik˜e“È\section«,“whic˜hŽ¡‘8takš¸ãe–UUcare“of“n˜um˜bGering“section“headings“and“so“on.Ž¤On’›6OÈ\doheadingŽ’϶1{·hÏskip‘¡˜·iŽ‘FÈ}Ž’ó|¸{·hÏstyle‘À[·iŽ‘ó†È}Ž’ð8{·hÏc–ÿ}'o“da‘Äc·iŽ‘t¶È}Ž’?äè{·hÏtext‘òØ·iŽ‘œÈ}ŽŽŽ¡‘8«Where‘UU·hÏskip‘¡˜·iŽ‘ñ7«is–UUthe“skip“to“put“bGefore“the“heading“(for“example,“a“·hÏdimendef‘“çtoken‘Äc·iŽ‘Qfi«lik¸ãeŽ¤ ‘8lik¸ãe–UUÈ\medskipamount“«or“È\bigskipamount«,“or“a“·hÏdimen‘Äc·iŽ‘)Ê «enclosed“in“braces);“·hÏstyle‘À[·iŽ‘"ž0«isŽ¡‘8tokš¸ãens–UUto“insert“bGefore“the“·hÏtext‘òØ·iŽ‘Fº«(suc˜h“as“assignmen˜ts“that“select“the“fon˜t);“·hÏc–ÿ}'o“da‘Äc·iŽ‘"`«isŽ¡‘8tokš¸ãens–UUthat“follo˜w“the“·hÏtext‘òØ·iŽ‘Fº«(whic˜h“migh˜t“proGduce“a“rule“under“the“heading,“for“example;Ž¡‘8usually–UUthis“is“emptš¸ãy);“and“·hÏtext‘òØ·iŽ‘Fº«is“the“text“of“the“heading“supplied“b˜y“the“user.ŽŸ y:‘:æÊ®297Ž‘LÈ\newskip\headingtempŽ¤ k‘:æÊ®298Ž‘LÈ\def\doheading#1#2#3#4{Ž¡‘:æÊ®299Ž‘aÈ\ifdim\lastskip<#1\relax–?ý\removelastskip“\vskip#1\relax“\fiŽ¡‘:æÊ®300Ž‘aÈ\ifdim‘?ý\leftmargin>0ptŽ¦‘L«If–UUthe“left“margin“is“greater“than“zero“then“wš¸ãe“generaten“a“st˜yle“±T‘¸ä«heading.‘qÇThis“isŽŸ ‘8done–UUbš¸ãy“putting“the“text“in“È\parbox«,“whic˜h“will“bGe“used“b˜y“the“È\everypar«.ŽŸ y:‘:æÊ®301Ž‘vÈ\global\setbox\parbox=\vtop{%Ž¡‘:æÊ®302Ž’‹ûÈ\hsize=\leftmargin‘?ý\advance\hsize-\parboxsepŽ¡‘:æÊ®303Ž’‹ûÈ\parindent=0ptŽ¡‘:æÊ®304Ž’‹ûÈ\leftskip=0pt–?ý\rightskip=0pt“plus“3emŽ¡‘:æÊ®305Ž’‹ûÈ\hyphenpenalty=10000‘?ý\exhyphenpenalty=5000Ž¡‘:æÊ®306Ž’‹ûÈ\strut#2#4#3Ž¡‘:æÊ®307Ž‘vÈ}Ž¡‘:æÊ®308Ž‘aÈ\elseŽ¦‘L«Otherwise–UUwš¸ãe“t˜ypGeset“the“heading“as“a“separate“paragraph.ŽŸ y:‘:æÊ®309Ž‘vÈ\begingroupŽ¡‘:æÊ®310Ž’‹ûÈ\parindent=0pt–?ý\parfillskip=0pt“plus“1filŽ¡‘:æÊ®311Ž’‹ûÈ\leftskip=0pt–?ý\rightskip=0pt“plus0.25\hsizeŽ¡‘:æÊ®312Ž’‹ûÈ\hyphenpenalty=10000‘?ý\exhyphenpenalty=5000Ž¡‘:æÊ®313Ž’‹ûÈ\strut#2#4#3Ž¡‘:æÊ®314Ž’‹ûÈ\global\headingtemp=\baselineskipŽ¡‘:æÊ®315Ž’‹ûÈ\parŽ¡‘:æÊ®316Ž‘vÈ\endgroupŽŽŸ’úŸ«11ŽŒ‹ …øŸ¹JŸò‘þÜ¥Å317{353’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘L«The–UUvš¸ãertical“space“bGet˜w˜een“the“heading“and“the“follo˜wing“text“is“calculated“from“theŽ¤ ‘8di erence–UUin“baselineskips“bšGet•¸ãw“een–UUthe“fon¸ãts“used“in“the“heading“and“those“used“in“b˜o˜dyŽ¡‘8text,–UUplus“Ïsmal‘‚Ølskip‘ÿ}'amount‘òØ«.Ž© Ÿ‘:æÊ®317Ž‘vÈ\advance\headingtemp-\baselineskipŽ¤ ¯ª‘:æÊ®318Ž‘vÈ\ifdim\headingtemp>0pt–?ý\nobreak“\vskip“1.0\headingtemp“\fiŽ¡‘:æÊ®319Ž‘vÈ\smallskipŽ¡‘:æÊ®320Ž‘vÈ\noindenttrueŽ¡‘:æÊ®321Ž‘aÈ\fiŽ¡‘:æÊ®322Ž‘LÈ}ŽŸB)‘àÀ13.3.Ž‘8Headings–—·that“sta¸ãrt“a“new“pageŽŸ,‘8«Ma‘Ž8jor–UUdivisions“of“a“b•Go“ok–UUstart“on“a“n¸ãw“page.‘qÇThe“parameters“to“the“macro“are“similar“toŽŸ ‘8those–UUfor“È\doheading«:Ž¤B)’ŽVÈ\newpageheadingŽ’ÜÖ){·hÏskip‘¡˜·iŽ‘FÈ}Ž’œ°{·hÏstyle‘À[·iŽ‘ó†È}Ž’'0{·hÏc–ÿ}'o“da‘Äc·iŽ‘t¶È}Ž’Mà{·hÏtext‘òØ·iŽ‘œÈ}ŽŽŽ¡‘8«Where–UUhere“the“·hÏskip‘¡˜·iŽ‘ñ7«is“the“extra“space“at“the“top“of“the“page.Ž¦‘:æÊ®323Ž‘LÈ\def\newpageheading#1#2#3#4{Ž¤ ¯ª‘:æÊ®324Ž‘aÈ\vfill\supereject–?ý%“ensure“no“insertions“still“floatingŽ¡‘:æÊ®325Ž‘aÈ\null\vskip#1\relaxŽ¡‘:æÊ®326Ž‘aÈ\moveleft\leftmargin\vbox{Ž¡‘:æÊ®327Ž‘vÈ\advance\hsize\leftmarginŽ¡‘:æÊ®328Ž‘vÈ\parindent=0pt–?ý\parfillskip=0pt“plus“1filŽ¡‘:æÊ®329Ž‘vÈ\leftskip=0pt–?ý\rightskip=0pt“plus0.25\hsizeŽ¡‘:æÊ®330Ž‘vÈ\hyphenpenalty=10000‘?ý\exhyphenpenalty=5000Ž¡‘:æÊ®331Ž‘vÈ#2\strut#4#3Ž¡‘:æÊ®332Ž‘vÈ\global\headingtemp=\baselineskipŽ¡‘:æÊ®333Ž‘vÈ\parŽ¡‘:æÊ®334Ž‘aÈ}Ž¡‘:æÊ®335Ž‘aÈ\advance\headingtemp-\baselineskipŽ¡‘:æÊ®336Ž‘aÈ\advance\headingtemp\smallskipamountŽ¡‘:æÊ®337Ž‘aÈ\vskip‘?ý\headingtempŽ¡‘:æÊ®338Ž‘aÈ\noindenttrueŽ¡‘:æÊ®339Ž‘aÈ\def\tmp{#4}Ž¡‘:æÊ®340Ž‘aÈ\message{*\expandafter\TOCtrim\meaning\tmp.‘ ú}Ž¡‘:æÊ®341Ž‘LÈ}ŽŸnE‘#×ëÞ14.Ž‘8F®ïoQotnotesŽŸB)‘8«W‘ÿ*ªe–UUde ne“a“new“command“È\note“«that“replaces“use“of“the“È\footnote“«command.‘qÇThisŽ¤ ‘8takš¸ães–UUone“parameter|the“text“of“the“foGotnote|and“supplies“automatically-n˜um˜bšGered“fo˜ot-Ž¡‘8note‘UUmark¸ãers.ŽŸ ‘LThe–UUÈ\newcount“«command“implicitly“sets“the“coun¸ãter“to“0.Ž¦‘:æÊ®342Ž‘LÈ\newcount\notecountŽ¦‘:æÊ®343Ž‘LÈ\def\note{%Ž¤ ¯ª‘:æÊ®344Ž‘aÈ\global\advance\notecount+1Ž¡‘:æÊ®345Ž‘aÈ\footnote{\number\notecount}%Ž¡‘:æÊ®346Ž‘LÈ}ŽŸ,‘L«W‘ÿ*ªe–UUadd“a“parameter“for“the“inden¸ãtation“of“foGotnote“paragraphs.Ž¦‘:æÊ®347Ž‘LÈ\newdimen\footnoteparindentŽ¡‘:æÊ®348Ž‘LÈ\footnoteparindent=\parindentŽŸ,‘L«No•¸ãw›UUw“e˜mo•Gdify˜the˜de nition˜of˜È\footnote˜«in˜plain˜T‘þÿüŸ'EŽ‘Î6X˜(see˜T‘ÿ*ªeXb“o“ok˜p.‘ª®363).‘qÇIt˜hasŽ¤ ‘8the–UUsame“function“as“plain“T‘þÿüŸ'EŽ‘Î6X's“È\footnote«,“but“uses“extra“parameters“(È\everyfootnote«,Ž¡‘8È\footnotetextmark«),–UUand“handles“the“case“Ïp‘ÿ}'arindentŽ‘1Y«=‘ËL0‘ª¨ptŽ‘ q.Ž¦‘:æÊ®349Ž‘LÈ\newtoks\everyfootnoteŽ¦‘:æÊ®350Ž‘LÈ\catcodeŸ‰ÇŽ‘?ý\@=11Ž¤ ¯ª‘:æÊ®351Ž‘LÈ\def\footnote#1{\let\@sf\emptyŽ¡‘:æÊ®352Ž‘VœÈ\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fiŽ¡‘:æÊ®353Ž‘VœÈ\footnotetextmark{#1}\@sf\vfootnote{#1}}ŽŽŸ’úŸ«12ŽŒ‹ ”ÿŸ¹JŸò‘þÜ¥Å354{384’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘:æÊ®354Ž‘LÈ\def\vfootnote#1{\insert\footins\bgroup–?ý%“matched“by“\@footŽ¤ j£‘:æÊ®355Ž‘aÈ\interlinepenalty=\interfootnotelinepenaltyŽ¡‘:æÊ®356Ž‘aÈ\parindent=\footnoteparindentŽ¡‘:æÊ®357Ž‘aÈ\leftskip=0ptŽ¡‘:æÊ®358Ž‘aÈ\the\everyfootnoteŽ¡‘:æÊ®359Ž‘aÈ\splittopskip=\ht\strutbox‘?ý\splitmaxdepth=\dp\strutboxŽ¡‘:æÊ®360Ž‘aÈ\floatingpenalty=20000Ž¡‘:æÊ®361Ž‘aÈ\indent\footstrutŽ¡‘:æÊ®362Ž‘aÈ\ifdim\parindent>1emŽ¡‘:æÊ®363Ž‘vÈ\llap{\footnotenotemark{#1}\enspace}%Ž¡‘:æÊ®364Ž‘aÈ\elseŽ¡‘:æÊ®365Ž‘vÈ\footnotenotemark{#1}\enspaceŽ¡‘:æÊ®366Ž‘aÈ\fiŽ¡‘:æÊ®367Ž‘aÈ\futurelet\next\fo@tŽ¡‘:æÊ®368Ž‘LÈ}Ž¤;ª‘:æÊ®369Ž‘LÈ\def\@foot{\smallskip\egroup}Ž¡‘:æÊ®370Ž‘LÈ\catcodeŸ‰ÇŽ‘?ý\@=12Ž©¢‘L«These›UUt•¸ãw“o˜parameters˜con“trol˜the˜formatting˜of˜the˜foGotnote˜mark“er˜in˜the˜text˜andŽ¤ ‘8in–UUthe“note“itself.›qÇThey“tak¸ãe“one“parameter,“a“·hÏnumb‘ÿ}'er‘·iŽ‘,Bn«.˜The“default“de nitions“simplyŽ¡‘8use–UUa“supšGerscript“in“maths“mo˜de.ŽŸ;ª‘:æÊ®371Ž‘LÈ\def\footnotetextmark#1{$Ÿ'^Ž‘?ý{#1}$}ŽŸ j£‘:æÊ®372Ž‘LÈ\def\footnotenotemark#1{$Ÿ'^Ž‘?ý{#1}$}ŽŸ$‘#×ëÞ15.Ž‘8Miscellaneous–ý”in-pa®ïragraph“commandsŽŸs‘àÀ15.1.Ž‘8W¸ãriting–¿"the“current“dateŽ¦‘8«W‘ÿ*ªe–UUde ne“a“macro“È\today“«that“prinš¸ãts“toGda˜y's“date.‘qÇI“used“to“ha˜v˜e“the“option“of“theŽ¡‘8abbreviated–UUdate“but“decided“this“w¸ãas“an“unnecessary“complication.‘qÇThe“format“`29“AprilŽ¡‘81996'–UUis“usual“in“non-American“counš¸ãtries,“and“is“recommended“b˜y“ÏHart's‘“çR¾“ules‘Ò!«*“andŽ¡‘8Strunk–UU&“White.·yŽŽ¤;ª‘:æÊ®373Ž‘LÈ\def\today{\n{\number\day}–?ý\monthname\month\“\n{\number\year}}Ž¡‘:æÊ®374Ž‘LÈ\def\monthname#1{%Ž¤ j£‘:æÊ®375Ž‘aÈ\ifcase#1\orŽ¡‘:æÊ®376Ž‘vÈJanuary\or–?ýFebruary\or“March\or“April\orŽ¡‘:æÊ®377Ž‘vÈMay\or–?ýJune\or“July\or“August\orŽ¡‘:æÊ®378Ž‘vÈSeptember\or–?ýOctober\or“November\or“December%Ž¡‘:æÊ®379Ž‘aÈ\fiŽ¡‘:æÊ®380Ž‘LÈ}Ž¦‘L«Rede ne–UUthe“È\monthname“«macro“if“yš¸ãou“w˜an˜t“di eren˜t“names“for“the“mon˜ths.ŽŸ Ñ‘LHere's–UUa“de nition“for“the“date“in“ISO“8601/BS“4795“format,·zŽ‘Ç«whicš¸ãh“puts“the“y˜earŽ© ‘8 rst,–UUgiving“`1996{04{29':Ž¤;ª‘:æÊ®381Ž‘LÈ\def\isodate{\n{\number\year}--\twodigits\month--\twodigits\day}Ž¡‘:æÊ®382Ž‘LÈ\def\twodigits#1{%Ž¤ j£‘:æÊ®383Ž‘aÈ\ifnum#1<10–?ý0\fi“\number#1%Ž¡‘:æÊ®384Ž‘LÈ}Ž‘8Ÿ Ö‰ffŠ=Ÿ š‘ «*Ž‘Horace–UUHart,“ÏHart's–“çR¾“ules“for“Comp›ÿ}'ositors“and“R˜e˜aders“at“the“University“Pr˜ess,Ž¦Oxfor‘ÿ}'d«,–UU39th“ed.,“completely“revised“(Oxford“Univ•¸ãersit“y–UUPress,“1990),“p.‘ª®19.Ž¦‘ Ž;·yŽŽ‘«William–UUStrunk“jun.,“and“E.“B.“White,“ÏThe–“çElements“of“Style«,–UU3rd“ed.“(Macmillan,Ž¦1979),–UUp.‘ª®3.‘qÇThe“American“format“is“givš¸ãen“ rst“but“follo˜w˜ed“b˜y“the“observ‘ÿqÇation“that“theŽ¦da•¸ãy{mon“th{y“ear–UUformat“is“`an“excellenš¸ãt“w˜a˜y“to“write“that“date;“the“ gures“are“separatedŽ¦bš¸ãy–UUa“w˜ord,“and“are,“for“that“reason,“quic˜kly“graspGed'.Ž¦‘ Ž;·zŽŽ‘ÏThe–“çOxfor‘ÿ}'d“Writers'“Dictionary–UU«(Oxford“Univ•¸ãersit“y–UUPress,“1990),“under“`date'.‘qÇI“ha•¸ãv“eŽ¦not–UUread“the“relev‘ÿqÇan¸ãt“standards.ŽŽŸ’úŸ13ŽŒ‹¡ÁŸ¹JŸò‘þÜ¥Å385{398’æÐÒPDCFMT2|F‘ÿAormatting– ôMacros“2.4“1995{04{06ŽŽ . ýˆðÒ‘àÀ15.2.Ž‘8Raising‘øþthingsŽ©‘8«The–UUÈ\flushtop“«macro“prinš¸ãts“its“argumen˜t“in“a“bGo˜x“raised“so“that“the“its“top“is“alignedŽŸ ‘8with–UUthe“top“of“a“letter“X“in“the“currenš¸ãt“fon˜t.ŽŸ ™œ‘:æÊ®385Ž‘LÈ\def\flushtop#1{%Ž¤ ™œ‘:æÊ®386Ž‘aÈ\leavevmodeŽ¡‘:æÊ®387Ž‘aÈ\begingroupŽ¡‘:æÊ®388Ž‘vÈ\setbox0\hbox{#1}\setbox2\hbox{X}%Ž¡‘:æÊ®389Ž‘vÈ\dimen0\ht2‘?ý\advance\dimen0-\ht0Ž¡‘:æÊ®390Ž‘vÈ\raise\dimen0\box0Ž¡‘:æÊ®391Ž‘aÈ\endgroupŽ¡‘:æÊ®392Ž‘LÈ}Ž¦‘L«This–UUalloš¸ãws“us“to“de ne“a“fairly“generic“v˜ersion“of“the“L‘þÿüŸýxäaŽ‘ÿýT‘þÿüŸ'EŽ‘Î6X“logo:ŽŸ ™œ‘:æÊ®393Ž‘LÈ\def\La{L\negthinspace\flushtop{a}}Ž¡‘:æÊ®394Ž‘LÈ\def\LaTeX{\La\TeX}Ž¦‘L«I›UUha•¸ãv“e˜not˜giv“en˜a˜de nition˜for˜the˜L‘þÿüŸýxäaŽ‘ÿýT‘þÿüŸ'EŽ‘Î6X˜2e˜logo,˜since˜I˜think˜that˜`È\LaTeXŸ'~Ž‘?ý2e«'˜(orŽ¤ ‘8`È\LaTeX2e«'–UUif“y¸ãou“prefer)“is“adequate,“whereas“Addison{W‘ÿ*ªesley“think“it“should“bGe“`È\LaTeXŽ¡‘8\kern0.05em–UU2$“_{\textstyle“\varepsilon}“$«'“in“regular“text“and“something“in•¸ãv“olvingŽ¡‘8bšGold–UUmaths“in“b˜oldface.‘qÇSImilarly‘ÿ*ª,“I“do“not“include“macros“for“BibT‘þÿüŸ'EŽ›Î6X,“SliT‘þÿüŸ'EŽ˜X,“AMS-Ž¡‘8T‘þÿüŸ'EŽ‘Î6X,–UUand“so“on;“the“Ètexlogos.sty“« le“from“the“Eplain“pac¸ãk‘ÿqÇage“has“de nitions“for“these.Ž¡‘LHere's–UUa“v‘ÿqÇariation“whicš¸ãh“raises“a“scriptst˜yle“letter“so“that“its“Ïx«-heigh˜t“matc˜hes“theŽ¡‘8cap-heighš¸ãt–UUof“the“b•Go“dy–UUtext,“th˜us“making“`MŸýxå®cŽŽŸ[1Ÿj«È䎎ŽŽŽŽŽ‘Ûc«Donald'“and“`1Ÿýxå®aŽŽŸ[1Ÿj«ŽŽŽŽŽŽŽ›üs«',“`1Ÿýxå®oŽŽŸ[1Ÿj«ŽŽŽŽŽŽŽ˜«',“`1Ÿýxå®erŽŽ‘®;«',“`2ÈãŸýx宑ü:ªemeŽŽ‘ ®=«',“`1Ÿýxå®stŽŽ‘K«',“`2Ÿýxå®ndŽŽ‘ÕX«',Ž¡‘8`3Ÿýxå®rdŽŽ›Š­«'–UUand“`659Ÿýxå®thŽŽ˜«'“(whic¸ãh“I“prefer“to“659Ÿü^ÿ®thŽ‘ ­«).Ž© ™œ‘:æÊ®395Ž‘LÈ\def\superiorletter#1{%Ž¤ ™œ‘:æÊ®396Ž‘aÈ\flushtop{\the\scriptfont\fam‘?ý\vphantom{x}\smash{#1}}%Ž¡‘:æÊ®397Ž‘LÈ}Ž¦‘:æÊ®398Ž‘LÈ\def\Mc{M\flushtop{\the\scriptfont\fam‘?ý\b{c}}}ŽŽŸ’úŸ«14ŽŒø®Ëƒ’À;èªÈxÆ# ó3pÚãi cmssdc10ó2ñkAHG® cmssbx10ó$ý': cmti10óßê cmmi10óÙ“ Rcmr7óKñ`y cmr10ù·0ßßßßßß