; TeX output 1996.04.29:0828J.p)ܥ2kAHG cmssbx10PDCCODE|Do+cumentedT]E /XMacrosW8K`y cmr10V*ersionUU1.6,lastchangedpGdc1995{03{308 V܉ffffffffff v=P*.UUDamianCugley|n3pi cmssdc101.IntroQduction~PDCCODEUUisasimplerandlessfeaturefulsystemthantheLxaT'E6X2eDoGcstrippackqage, butUUusesthesame lesux` cmmi10:2.1*Jܥf$cmbx7{+vPDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ8doGesn'tUUhaveDoGcstrip'soptions'vfeature,whichallowsseverallargely-similar lestobGegen- 8eratedUUfromthesamesource. !", cmsy10y㎫ItdoGesn'tprintstatisticsattheend,ordochecksums,or8evenUUprintcomfortinglinesofasterisksandpGercentsignsinthelog le.LMyUUdtx lesuseasinglemacro lepdccode.texwhichde nesa`coGdemode'where8linesUUarewrittentothemacro leaswellasappGearingintheprinteddoGcumentation.qOne8passUUgeneratesbGoththemacro leandthedocumentationindviform.qThepdccode.tex8 leUUalsoincludesenoughlayoutUUcommandstotypGesetthecomments.*)2.8Summary2ofusingPDCCODEϕ8TheseUUcommandsareexplainedinmoredetailbGelow.#2.1.8AskeletonPcoGde leˍ8AUUcoGde leusingpdccode.texwilllooksomethinglikethis:&L%name--onelinedescriptionL%%%@TeX-document-file?{ Lhe}'adercommentsforthedocumentL%%%}ˍL\relaxL\input?pdccodeL\documentL\rcs$RCSidenti c}'ationstring$\endrcsL\codefile{ lename}L\author{authorname}L\title{titleforthedo}'cument}L\section{Introduction}Lintr}'oductionL\section{File?identification}L\codeV\|\% lename\fileversion'~?\filedate'~--onelinedescV|V|%%%@TeX-definition-file?{Z0he}'adercommentsformacro leV|%%%}V|V\|\\message\{\fileversion'~?<\fileauthor'~\filedate>\}V|L\endcodeLde nitionsandc}'ommentaryL\endcodefileL\enddocumentL\bye&#2.2.8CommandsincoGdesections8CoGdeUUsectionsstartwith\codeandendwith\endcode.qBeforethe rst\codeyoumust8doUU\codefile{h lename[i0eF}tospGecifythe le.LV*erticalUUmoGdematerialmaybeusedbetweenUUlines(e.g.,\smallbreaks).qUnexpanded8coGdeUUlinesareintroducedwith|,expandedlineswith\|.qInexpandedlines,use\{,\},8\\,UU\%,\'~Rforthosecharacters,'~ ꧫforasinglespace.8 ,ff=  ;yIUUdohaveUUanexpGerimentalversionpdccode2.texwhichdoGesthisbutIamnotpar-ticularlyUUhappywithityet.2UJܥ1{27ؔPDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ#2.3.8Commands incommentary8MostUUofthecommentarywillbGetypGesetusingtheconventionsofplainT'E6X. ^L\author{htextطi}UU(mustprecede\title)L\title{hhe}'ading}i)_}L\section{hhe}'ading}i)_}L\subsec{hhe}'ading}i)_}L\noindenttrueL\footnoteL\defverbatimhone-char}'actercontrolsequence[iL$hnumb}'eri(\mm$UU$hnumb}'eri\em$$hnumb}'eri\pt$$hnumb}'eri\inch$L\UU\cs{hname[i}\arg{har}'gumentname[iL}L\TeXUU\LaTeX\LaTeX'~?2eL\noteparUUhp}'aragraphci9`\endnotepar荍)3.8Fileidenti cation8Nowadays,UUmacro lesstartwithsomecommentsidentifyingthe le. WB߰ٓRcmr71L%?pdccode.tex1.61995/03/30--self-documentingTeXmacros B߰2B߰3L%%%@TeX-definition-file?{B߰4L%%%?filename$="$texmf/tex/plain/pdcmac/pdccode.tex",B߰5L%%%?version)="1.6",B߰6L%%%?date9="1995/03/30",B߰7L%%%?package)="pdcmac1.0",B߰8L%%%?author/?="P.DamianCugley",B߰9L%%%?email4="damian.cugley@comlab.ox.ac.uk",>=10L%%%?address)="OxfordUniversityComputingLaboratory,>=11L%%%cParks?Road,Oxford OX13QD,UK",>=12L%%%?codetable="USASCII",>=13L%%%?keywords$="TeX,plainTeX,macros",>=14L%%%?supported="Maybe",>=15L%%%?abstract$="MacrosfordocumentedTeXmacros(DTXfiles).>=16L%%%cThis?filewasgeneratedbyrunning>=17L%%%cplain?TeXonpdccode.dtx",>=18L%%%?copyright="Copyright(c)1991-1995P.DamianCugley",>=19L%%%?copying)="DONOTDISTRIBUTETHISFILE.>=20L%%%cDistribute?pdccode.dtxonlyaspartofthe>=21L%%%cpackage?itcamein.",>=22L%%%?dependencies="",>=23L%%%?}>=24>=25L\message{1.6?}>=269㍑8W*eUUstartbymakinganicknameforascratchregister.qThisis\toks@inplainT'E6X;this 8de nitionUUgivesitanameIcanusewithoutcatcoGdehackery*.>=27L\toksdef\toksa=0荍)4.8RCSTSuppQort8RCSUU(RevisionControlSystem)isafreesourcecoGdecontrolsystemwhichisavqailable8fromUUtheF*reeSoftwareUUFoundation.qItinsertskeyword-vqalueUUpairsenclosedindollarsigns8intoUUthesourcecoGde.qThiscommandextractsthe le'sversion,date,authorandloGcker(if8thereUUisone).qItisusedlikethis:$񍍍ġ\rcsĕ$Id: hname[i H,v hversionci'٬ hdate[ik hignor}'edi> hauthori% hignor}'edi( [hlo}'ckeri" ]$\endrcs3Jܥ28{55 .PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ8TheUUhlo}'ckeri(^ eldUUisnon-emptyi the leis`loGcked'(meaningithasbGeeneditedandthe 8changesUUarenotcheckedinyet).qThe\filenamemacroisde ned,eventhoughitwill8almostUUcertainlybGeidenticalto\jobname. >=28L\def\rcs#1:?#2,v#3#4#5#6#7#8$#9\endrcs{ >=29a\def\filename{#2}>=30a\def\fileversion{#3}>=31a\def\filedate{#4}>=32a\def\fileauthor{#6}>=33a\def\filelocker{#8}>=34L}Ս)5.8Verbatimtextꍑ8V*erbatimUUtextistextthatisprintedidenticallytothecharactersinthemanuscript le.qIn 8theUUcoGdesections,averticalbarisusedtomakelinesforthecoGde le.qInthedocumenta-8tion,UUtheverticalbarisusedasaself-matchingverbatimmoGdecharacter.LTheseUUde nitionsshouldbGethesameasthecorrespondingcodeinpdcfmt2.dtx.#5.1.8ListsGofactivecharacters8TheUUverbatimtextmacrosneedtoknowifanycharactershavebGeenmadespecialapart8fromUUtheusualones.qThiscommandtellstheverbatimmacrosthat#1isanactivechar;8inUUadditiontosettingitscatcoGde,thismakessurethatthecharacterwillbGere-catcoded8appropriatelyUUwheninverbatimmoGde.q#1shouldbeasomethingthatwillworkafter`?';8usuallyUUthismeansaone-charactercontrolsequence. >=35L\def\declareactivechar#1{% >=36a\toksa\expandafter{\verbatimplains\do#1}%>=37a\edef\verbatimplains{\the\toksa?}%>=38a\catcode?#1\active>=39L}LTwoUUlistmacrosinthestyleof\dospecialsarede ned.qThe rstisforcharacters 8thatUUmustbGesettocatcode12,suchas`\',`{',`}',`_',`$',`#',`&',and`%'.qTheotheris8forUUafewcharactersthataregivencatcoGde13,suchas`?',`',`'~',`'^'andSP*. >=40L\def\verbatimplains{\do\\\do\{\do\}\do\_\do\$\do\#\do\&\do\%} >=41L\def\verbatimactives{\do\?\do\\do\'~\do\'^\do\}>=42L\chardef\other=12ꍍ#5.2.8Setting"upverbatimmoGde8ThisUUisamacrocommontovqariousverbatimtextmoGdes.qThedefaultspacingofwhatever 8fontUUisused,withoutanyadjustmentsofspacefactorforpunctuation.qThecharacters`?',8`?',UU`'~',and`'^'proGduceslightlyloweredglyphs. >=43L\newtoks\everyverbatim>=44L\bgroup?\catcode\'^=13\catcode\=13\catcode\=13\toksa={\egroup >=45a\def\setupverbatim{%>=46v\frenchspacing>=47v\spaceskip0pt?\xspaceskip0pt%usespacingoffont>=48v\def\do##1{\catcode\lq##112?}\verbatimplains>=49v\def\do##1{\catcode\lq##1\active?}\verbatimactives>=50v\let?\ttlq\let\ttrq>=51v\let'~?\tttilde\let'^\ttcircum>=52v\the\everyverbatim>=53a}>=54L}\the\toksaLHereUUarethede nitionsforthemungedglyphs.qTheseareonlynecessaryinCM- 8TypGewriter-likeUUfonts;usingsomethinglikeCourier,thesede nitionscouldprobablybGe8omitted.LTheUUnames`rq'and`lq'arebasedontheuseof\lqand\rqinplainT'E6X.qAnaltern-8ativeUUde nitionfor\ttrqwouldbGe\chardef\ttrq=13,producing` '. >=55L\def\ttlq{\lower0.125ex?\hbox{\char18}}4)ܟJܥ56{71 .PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ>=56L\def\ttrq{\lower0.125ex?\hbox{\char19}} >=57L\def\tttilde{\lower0.5ex?\hbox{\char\'~ }}>=58L\def\ttcircum{\lower0.5ex?\hbox{\char\'^ }}LThisUUmakesthedi erencebGetweenR O'^L'~and`'^~.*S#5.3.8De ning-aself-matchingcharacterforverbatimtext8AUUmacroforde ningaself-matchingverbatimcharacter(Igottheideaofamacrofor 8declaringUUverbatimcharactersfromtheLxaT'E6X2edoGcumentationmacros).q#1mustbGe8aUUone-charactercontrolsequence.qIfitisn'tactivealready*,then\declareactivecharis8appliedUUtoit rst. {>=59L\def\defverbatim#1{% >=60a\ifcat\noexpand#1\noexpand'~?\else\declareactivechar#1\fi>=61a\begingroup?\uccode\'~=#1\uppercase{\toksa={\endgroup>=62v\def'~?{%>=63\leavevmode>=64\begingroup?\tt\setupverbatim>=65\catcode?#1\active\let'~\endgroup>=66p }%>=67a}}\the\toksa>=68L}LNoteUUthattheremustbGeafontcalled\ttforittoswitchto.q(ThecatcoGdeof#1isset 8toUU13aftercalling\setupverbatimbGecause#1willbeincludedin\verbatimplains.) qLFinally*,UUwede neverticalbarastheconventionalself-matchingverbatim-moGdechar-8acter.>=69L\defverbatim\|>=70L\hyphenchar\tentt=-1LBothUU\defverbatimand\defineactivecharhaveUUloGcalscope.5')6.8CoQde#sectionsS8TheUUmarkers\code:::\endcodemarkcoGdetobewrittentothede nition le.qEachline8startsUUwitheither|or\|and nisheswiththeendofthelineinthemanuscript le. qLLinesUUthatstartwith|arewrittenoutas-is;nomacroexpansionisallowed.qThisUUis8howUUthevqastma8jorityoflinesaredone.LLinesUUstarting\|areexpanded.qThisissothatthingslikethecurrentversionID8(extractedUUfromtheRCSidenti cationlineorsetwith\def)maybGeincludedinthecode8 le.qWithinUUsuchanexpandedline,thefollowingmacrosarede ned:SL\%`%opGerUUcentsign \{ƍ{ޫleftUUbraceU\}*P},jNrightUUbraceL\\`\obackslash '~ƍ ޫspaceU\'~*P'~,jNtilde8(ThisUUlistisprobablyincomplete.)S#6.1.8Setting(thecoGde lename8BeforeUUthe rstcoGdesection,the\codefile{h lename[i0eF}commandspeci esthecode le.8TheUUlastcoGdesectionshouldbefollowedUUby\endcodefile.qOnlyonecoGde lemaybGe8opGenUUatatime. {>=71L\newwrite\CODEwrite8 ؉ff=  *ItUUturnsoutthatonsomeT'E6Xsystems,theCMTTfonthasbGeenhackedtohaveanUUASCIGI-stylereverse-apGostrohe-cum-grave-accentascharacter96andamatchingapGostrophe-cum-acute-accentUUascharcter39,therebycorrectingthedefectsthatmyde ni-tionsUUof\ttlqand\ttrqaddress.qButsuchmoGdi edfontsarenonstandard|theyshouldnotUUbGecalledCMTT|andshouldbereplaced.59Jܥ72{116τ\PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ>=72L\def\codefile#1{ Ӎ>=73a\ifeof\CODEwrite\else?\endcodefile\fi>=74a\def\thecodefile{#1}?\openout\CODEwrite=#1>=75L} >=76L\def\endcodefile{>=77a\message{Code?writtenon\thecodefile.}>=78a\closeout\CODEwrite>=79L}#6.2.8CoGdesections n8SwitchingUUto`coGdemode'iseasy*,becausemostoftheworkisreallydonebythe|and 8\|UUcommands.>=80L\def\code{>=81a\smallskip>=82a\begingroup>=83a\let|\CODEline?\let\|\CODElinex>=84a\let\{=\CODElb?\let\}=\CODErb\let\\=\CODEbslash>=85a\def'~?{}\let\'~\CODEtilde>=86a\the\everycode>=87a\obeylines>=88L}>=89L\def\endcode{>=90a\smallbreak>=91a\endgroup>=92L}#6.3.8CoGde lines n8ThisUUisthede nitionforunexpandedcoGdelines.>=93L\def\CODEline{%>=94a\begingroup?%matchedby\CODElinei>=95a\setupverbatim?\catcode\|\other>=96a\CODElinei>=97L} nLInUU\CODElinei,W*emustrede nethecharacters(suchasR)thatareactivewithin 8verbatimUUtexttoexpandtotheircatcoGde-12equivqalentswhentheyarewrittentothecoGde8 leUUcurrectly*. 7LSinceUUoneoftheseis'^R,wetempGorarilygive@themeaningof'^ ꧫsothatwemaysafely8changeUUthecatcoGdeof'^R.>=98L\begingroup\catcode?\=\active\catcode\=\active Ӎ>=99\catcode\lq\@=\catcode\lq\'^ \catcode\lq\'^?=\active:ʮ100\catcode\lq\@@M=\active?\toksa={\endgroup%:ʮ101a\def\CODElinei#1@@M{%:ʮ102v\begingroup\let?\lq\let\rq%:ʮ103\let'^?\CODEcircum\let'~ \CODEtilde%:ʮ104\edef\tmp{#1}%:ʮ105\write\CODEwrite\expandafter{\tmp}%:ʮ106v\endgroup?%:ʮ107v\indent\the\everycodeline?#1\par%:ʮ108v\endgroup?%matches\CODEline:ʮ109a}%:ʮ110L}\the\toksa nLTheUUde nitionfor\CODElinex(expandedcoGdelines)ismuchUUsimpler::ʮ111L\begingroup\catcode?\'^'^ M=13\toksa={\endgroup%:ʮ112a\def\CODElinex#1'^?'^ M{%:ʮ113v\edef\tmp{\write\CODEwrite{#1}}\tmp?%:ʮ114v{\indent\the\everycodeline?#1\par}%:ʮ115a}%:ʮ116L}?\the\toksa6HҟJܥ117{145PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ#6.4.8Macrosc formakingcategory-12charactersG8F*orUUcharactersthatareactiveinverbatimmoGde(likeR),orwhichmustbGespeciallygener- 8atedUUinexpandedcoGdelines(suchasbracesgeneratedwith\{ O),wehavea`\CODE-'macro8thatUUgeneratesanexplicitcharactertokenwithcatcoGde12. ᘍ:ʮ117L\begingroup\catcode?\/=0\catcode\\=\other/toksa={/endgroup :ʮ118a/def/CODEbslash{\}:ʮ119L}/the/toksa:ʮ120L\begingroup\catcode?\'^=\other\toksa={\endgroup:ʮ121a\def\CODEcircum{'^?}:ʮ122L}\the\toksa:ʮ123L\begingroup\catcode?\'~=\other\toksa={\endgroup:ʮ124a\def\CODEtilde{'~?}:ʮ125L}\the\toksa:ʮ126L\begingroup\catcode?\%=\other\toksa={\endgroup:ʮ127a\def\%{%}:ʮ128L}\the\toksa:ʮ129L\begingroup\catcode?\'~=\other\toksa={\endgroup:ʮ130a\def\CODEtilde{'~?}:ʮ131L}\the\toksa:ʮ132L\begingroup\catcode?\[=1\catcode\]=2:ʮ133v\catcode?\{=\other\catcode\}=\other:ʮ134v\toksa=[\endgroup:ʮ135a\def\CODElb[{]?\def\CODErb[}]:ʮ136L]\the\toksak#6.5.8CustomizationG8TheUUtokenlistregister\everycodeisexpandedatthestartofeverycoGdesection,the 8tokenUUlistregister\everycodelineatthestartofeverycoGdeline.qThedefaultde nitions8selectUUtypGewriterfontforthecoGdelistings,witheachlinenumbGered.:ʮ137L\newtoks\everycode :ʮ138L\newtoks\everycodeline:ʮ139L\everycode{\tt?\baselineskip=0.8\baselineskip\lineskiplimit=0pt}:ʮ140L\newcount\lineno:ʮ141L\everycodeline{\llap{$?\global\advance\lineno1:ʮ142v\scriptstyle\the\lineno?$\enspace}%:ʮ143v\mark\expandafter{\the\lineno}})7.8Layoutk8TheUUPDCCODEmacrosincludeenoughbasicformattingcommandstomakeasimple 8doGcument|sinceUUthis leneedstobeself-contained.qTheformattingisfairlyprimitive,so8thatUUpdccode.texwillnotbGeexcessivelylong. #LTheUUtextissetinthedefaultplainT'E6Xfonts:q10-pGointUUComputerModernRoman.8TitlesUUareinCMSansSerifBoldExtended,headingsinCMSSDemibGoldCondensed,and8subheadingsUUinCMSSItalic:qallofthesearestandardfontswhichshouldbGeavqailableon8allUUT'E6Xsystems.LTheUUlinewidthiswideenoughthatcoGdelinesdonotneedtobeprintedinareduced8fontUU(whichloGokssilly).LtheUU rsttokenmofadoGcumentis\relaxandeverythingexcepttheinitial\input8andUU nal\byeinthedoGcumentisenclosedin\document::: UO\enddocument.qThisissothat8doGcumentsUUusingthePDCCODEconventionscanbGeembGeddedwithinaanotherdocument8whichUUbyrede ningthesetokens. ᘍ:ʮ144L\let\document\relax?\let\enddocument\relaxGLIUUhavetosetsomeT'E6X3parametersbGecausewedon'tseemtohavede nitionsfor8themUUintheloGcalversionofplain.tex.:ʮ145L\lefthyphenmin=3?\righthyphenmin=2\errorcontextlines100007TeJܥ146{184PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ#7.1.8LayoutAX8TheUUtextwidthiswideenoughfor72-charactercoGdelines. 􍍑:ʮ146L\parindent=2em?\hsize=36\fontdimen6\tentt\advance\hsize\parindentLAUUlargishleftmarginisusedset|pGerhapsreaderswill nditusefulforwritingcom- 8ments.:ʮ147L\hoffset=210mm?\advance\hoffset-\hsize\advance\hoffset-25mm H:ʮ148L\newdimen\leftmargin?\leftmargin=\hoffset\advance\leftmargin-25mm:ʮ149L\advance\hoffset-1inAXLTheUUverticalmarginsaresetsothatifthe leisformattedforA4(297mmUV)papGerand 8fedUUintoadriverwhichthinksitisformattedforAmericanLetter(11^O!cmsy700r)papGernoinforma-8tionUUwillbGelost.qW*eallowfor7mmunprintableareaattheedgesofpapGer(thisisreason-8ableUUforalaserprinter),andfortheheadlinebGeing24pt +a6pt10pt=Z20ptqabGoveUUthe8topUUofthetext.q(The6ptqallowsfortheheightoftheheadline,whichisin7-pttypGe.):ʮ150L\voffset=297mm?\advance\voffset-11in H:ʮ151L\advance\voffset7mm?\advance\voffset20pt:ʮ152L\vsize=297mm?\advance\vsize-2\voffset\advance\vsize-2\baselineskip:ʮ153L\advance\voffset-1inAXLW*eUUuseragged-right(ranged-left)printing.q(Readabilitystudieshaveindicatedthat 8ragged-rightUUprintingis,ifanything,easiertoreadthanwithbGothsidesaligned.)qT*odo8thisUUweremovethestretchandshrinkcompGonentsofthefontweuse,andmaketheright8marginUUstretchable.:ʮ154L\def\do#1{\fontdimen3#1=0pt?\fontdimen4#1=0pt} H:ʮ155L\do\tenrm?\do\tenit\do\tenbf:ʮ156L\rightskip=0pt?plus2emminus2pt\adjdemerits=0\tolerance=500:ʮ157L\parfillskip=0pt?plus0.8\hsizeb#7.2.8TitleandheadlineAX8TheUUauthorandtitleinfoareprintedatthetopofthe rstpage|inlieuofaseparatetitle 8page|andUUthetitlegoGesintheheadlineofsubsequentpages,followedbytheversionID8andUUdateasextractedfromtheRCSidenti cationstring.qIfthe leloGckerisnon-empty8(i.e.,UUthe leisbGeingedited),an`e'isappendedtotheversionIDintheheadline.:ʮ158L\def\author#1{\def\theauthor{#1}}?\author{P.DamianCugley}:ʮ159L\font\titlefont=cmssbx10?scaled\magstep3:ʮ160L\def\title#1{ H:ʮ161a\vglue2\baselineskip:ʮ162a\begingroup?\parindent-\leftmargin\hyphenpenalty10000\titlefont:ʮ163Q\#1\smallskip:ʮ164a\endgroup:ʮ165a\leftline{Version?\fileversion,:ʮ166vlast?changed\fileauthor\space\mungedate\filedate}:ʮ167a\ifx\filelocker\empty\else:ʮ168v\leftline{Edited?by\filelocker\unskip\\today}:ʮ169a\fi:ʮ170a\medskip:ʮ171a\hrule?\vskip1pt\hrule\vskip1pt\hrule\vskip1pt\hrule:ʮ172a\medskip:ʮ173a\rightline{\theauthor}:ʮ174a\bigskip:ʮ175a\headline{\hfil\global\headline{%:ʮ176v\sevenbf?\hskip-\leftmargin\themarks\hfil#1:ʮ177v\fileversion:ʮ178v\ifx\filelocker\empty:ʮ179\space\mungedate\filedate:ʮ180v\else:ʮ181e\space\today:ʮ182v\fi:ʮ183a}}:ʮ184L}8 c^Jܥ185{227PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ:ʮ185L\def\themarks{% :ʮ186a\ifx\firstmark\empty\else:ʮ187v\firstmark:ʮ188v\ifx\firstmark\botmark?\else--\botmark\fi:ʮ189a\fi:ʮ190L}b荑LSomeUUmacrosforprintingthedate.qThe\mungedatemacroconvertsfromRCS's 8formatUU(usingslashes)toISOformat(usingshortdashes). :ʮ191L\def\today{\mungedate{\number\year/\twodigits\month/\twodigits\day}}:ʮ192L\def\twodigits#1{\ifnum#1<10?0\fi\number#1}:ʮ193L\def\mungedate#1{$?\textfont0=\font\mathcode/="7B#1$}[#7.3.8Sectioning8TheUUsectioningcommandsdonomorethangeneratenumbGeredUUheadings|thereareno 8tablesUUofcontentsUUormarksrequired. :ʮ194L\font\secfont=cmssdc10?at12pt:ʮ195L\font\subsecfont=cmssi10:ʮ196L\newcount\seccount:ʮ197L\newcount\subseccount:ʮ198L\def\section#1{%:ʮ199a\advance\seccount1?\subseccount=0:ʮ200a\bigbreak:ʮ201a\begingroup:ʮ202v\secfont?\hyphenpenalty=10000\tolerance=1000:ʮ203v\rightskip=0pt?plus2em:ʮ204v\noindent\llap{\number\seccount.\enspace}#1:ʮ205v\medskip:ʮ206a\endgroup:ʮ207a\noindenttrue:ʮ208L}:ʮ209L\def\subsec#1{%:ʮ210a\advance\subseccount1:ʮ211a\medbreak:ʮ212a\begingroup:ʮ213v\subsecfont?\hyphenpenalty=10000\tolerance=1000:ʮ214v\rightskip=0pt?plus2em:ʮ215v\noindent\llap{\number\seccount.%:ʮ216\number\subseccount.\enspace}#1:ʮ217v\nobreak\smallskip:ʮ218a\endgroup:ʮ219a\noindenttrue:ʮ220L}b荑LHere'sUUasimplehacktoremovetheindentationofthe rstparagraphfollowingasec- 8tionUUheading.:ʮ221L\newif\ifnoindent:ʮ222L\everypar{%:ʮ223a\ifnoindent:ʮ224v{\setbox0=\lastbox}\global\noindentfalse:ʮ225a\fi:ʮ226L}[#7.4.8FoGotnotesb荑8PlainUUT'E6X'sfoGotnotecommandisadjustedtouseanewparametertospecifythevqalueof 8\rightskipUUinfoGotnotes.*qItwasthetrickinessinvolvedinchangingde nitionslikethis8thatUUpGersuadedmetonotuse`@'charactersinmacro les.:ʮ227L\newskip\footnoterightskip?\footnoterightskip=\rightskip8 eff=  *TheUUdefaultde nitionsets\rightskipto0pt q,whichismoGderatelydisastrousgiventhatUUspacescannotstretchorshrink.9 rpJܥ228{262PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ:ʮ228L\catcode?@=11 K:ʮ229L\def\vfootnote#1{\insert\footins\bgroup:ʮ230V\interlinepenalty\interfootnotelinepenalty:ʮ231V\splittopskip\ht\strutbox?%topbaselineforbrokenfootnotes:ʮ232V\splitmaxdepth\dp\strutbox?\floatingpenalty\@MM:ʮ233V\leftskip\z@skip?\rightskip\footnoterightskip:ʮ234V\spaceskip\z@skip?\xspaceskip\z@skip\rm:ʮ235V\textindent{#1}\footstrut\futurelet\next\fo@t}:ʮ236L\catcode?@=11cLThisUUde nitionisadrop-inreplacementfortheoneinTL'EXb}'ookUUAppGendixB(p.363 8inUUmycopy).􍍑#7.5.8Miscellaneousabbreviations8TheUU\{\leavevmode\hbox{$\langle$\it#1\/$\rangle$}} K:ʮ238L\def\cs#1{\leavevmode\hbox{\tt\char?\\#1}}:ʮ239L\def\arg#1{\leavevmode\hbox{{\tt\char?\{}#1{\tt\char\}}}}:ʮ240L\def\pt{\,{\rm?pt}}\def\em{\,{\rmem}}\def\mm{\,{\rmmm}}:ʮ241L\def\inch{? }cLT*oUUmakeaversionoftheLxaT'E6Xlogothatshouldworkacceptablywitharangeof8fontsUU(LLxaTL'EX,"V cmbx10LٖUapTٖ8EgX,La6T8EX),I rstde neamacroforraisinglettersuntiltheyare ush8withUUtheprevqailingcapheight.qIalsoloGosenupthe`TL'EX'logo(sothatitalsoworkswith8sanserifUUfonts)andmakeitsetthespacefactorto1000(tooverrideT'E6X'sassumptionthat8aUUfullstopfollowingacapitalX7isn'ttheendofasentence). :ʮ242L\def\flushtop#1{%:ʮ243a\leavevmode:ʮ244a\begingroup:ʮ245v\setbox0=\hbox{#1}\setbox2=\hbox{X}%:ʮ246v\dimen0=\ht2?\advance\dimen0-\ht0:ʮ247v\raise\dimen0?\box0:ʮ248a\endgroup:ʮ249L}:ʮ250L\def\TeX{T\kern-0.1em?\lower0.5ex\hbox{E}X\spacefactor1000}:ʮ251L\def\LaTeX{L\kern-0.1em?\flushtop{a}\TeX}cLOccasionalUUparagraphsarewritteninitalicsandmarkedwith`note'.LNote Thec}'ommandsays`notepar'notjust`note'becauseinmymacro lesIuse `!\notefornumb}'eredfootnotes(T'E6XbGook,Exer}'cise15.12).* t#Notesmayo}'ccasionallybemorethanoneparagraphlong.:ʮ252L\def\notepar{ K:ʮ253a\smallskip:ʮ254a\begingroup:ʮ255a\leftskip2\parindent?\advance\rightskip\parindentminus\parindent:ʮ256a\noindent\kern-\parindent{\bf?Note}\quad\it:ʮ257a\ignorespaces:ʮ258L}:ʮ259L\def\endnotepar{:ʮ260a\smallbreak:ʮ261a\endgroup:ʮ262L}8 ff=  *F*oGotnotesUUindtx lesareproducedwiththeplain\footnotecommand.10 }Jܥ263{263PDCCODE|Do?cumen[ted T8EDXMacros1.61995{03{30.ҍ8TheUU leis nishedwithan\endinputcommand;thiscanbGeusedbyotherprgoramsto 8checkUUthatthis lehasn'tbGeentruncatedbyT'E6Xcomingtoahaltpart-waythroughpro-8cessingUUthedtx le. :ʮ263L\endinput11;x# 3pi cmssdc102kAHG cmssbx10$': cmti10 cmmi10ٓRcmr7K`y cmr10