; TeX output 1996.05.08:1036soDtGGcmr17Critical7tEditionTqypsesettingqThe7t߆TG cmtt12EDMACformatforPo cmr9LAINGT[-E;gX!", cmsy10wSXQ cmr12JohnLarvXagnino2K cmsy8yDominikWVujastryk2z:ƍ5Nff cmbx12Contents5"V cmbx101DIn9troQduction3 DK`y cmr101.1[Overviewk...............................3D1.2[Historyx................................4D1.3[NewUUtoTU>'ExX? 卍.............................552DHo9wTtouse 'ExX,provideseveralimpGortantfacilitiesfor 5formatting5criticaleditionsoftextsinatraditionalmanner.gMa8jorfeatures5include:D !", cmsy10NautomaticUUsteppGedlinenumbering,UUbypageorbychapter;ȍDNsub-lineationUUwithinthemainseriesoflinenumbGers;DNvqariantUUreadingsautomaticallykeyedtolinenumbGers;DNmultipleUUseriesoffoGotnotesandendnotes;DNbloGckUUorcolumnarformattingoffootnotes.DEDMACLnallowsLpthescholarengagedinpreparingacriticaleditiontofoGcusat- 5tentionwhollyonthetaskofcreatingthecriticaltextandevqaluatingthevariant5readings,6text-critical notesandtestimonia.TU>'ExXandEDMAC ~willtakecareof5theUUformattingandvisualcorrelationofallthedisparatetypGesofinformation.DEDMACCworks`togetherwiththe#- cmcsc10PlainTU>'ExXformat,#andwiththeexception5of1foGotnote-relatedcommands,virtuallyallplainTU>'ExXcommandsareavqailable5foruseinthenormalway*.:Otherlanguagesandfonts(Sanskrit,Greek,Russian,5etc.),^ٓRcmr71ȲcanUUbGeincorporated.DWhilezEDMACzܲcanbGeused\outofthebox",Jwithlittleornocustomization,5youmayalsogototheotherextremeandviewitasacollectionoftoGols.,]Critical5editions&PareamongstthemostidiosyncraticofbGooks&P(liketheirauthors),/sowe5haveb{madeEDMACb>delibGeratelyblandinsomeways,whileb{alsotryingtodocument5itUUreasonablywellsothatyoucan ndouthowtomakeitdowhatyouwant.DThisbdoGcumentationassumesthe\manual"useofEDMAC.ButEDMACbisalso5successfullybGeingused(withTU>'ExX,ofcourse)astheformattingengineor\back5end"+@fortheoutputofanautomaticmanuscriptcollationprogram.COLLATE5runsontheAppleMacintosh,İcancollatesimultaneouslyuptoahundredmanu-5scriptsnofanylength,6andprovidesfacilitiesforthescholartotailorthecollation5interactively*.^2DThis EbGookcontainsageneraldescriptionofhowtouseEDMAC 8(insection2);5the:completesourcecoGdeforthepackqage,withextensivedoGcumentation(in5sections3through12);aseriesofexamples(inAppGendixA);andanIndexto5theJksourcecoGde(inAppendixB).W*edonotsuggestthatyouneedtoreadthe5sourcejcoGdeforthispackqageinordertouseit;weprovidethiscoGdeprimarilyfor5reference, and manyofourcommentsonitrepGeatmaterialthatisalsofoundin5section2.J|ButnodoGcumentation,howeverthorough,cancovereveryquestion5that;5comesup,@oandmanycanbGeansweredquicklybyconsultationofthecoGde.5OnOa rstreading,4then,youOshouldskipfromthegeneraldoGcumentationof5section"2totheexamplesinAppGendixA,,unlessyouareparticularlyinterested5inUUtheinnardsofEDMAC.5ffffv J= "5-:Aacmr61LSee,Xe.g.,$#fcmti8TUGboat%2@cmbx89X(1988),pp.j131{151. > "5-:2LConÎtactCOLLATE'sauthor,PeterRobinson,atTheComputersandManuscriptsProxject, OxfordןUnivÎersityComputingService,013BanburyRoad,0OxfordOX26NN,England.Inter-net: peterr@vax.oxford.ac.uk.@͠s51 INTRODUCTIONUJ4o51.2SHistoryuT5TheoriginalversionofEDMACۮwasTEXTED.TEX,writtenbyJohnLavqagninoin 5lateUU1987andearly1988forformattingcriticaleditionsofEnglishplays.DJohnQpassedthesemacrosontoDominikW*ujastykwho,JinSeptembGer{5OctobGer1988,addedthefootnoteparagraphingmechanism,marginswapping5andhotherchangestosuithisownpurpGoses,makingthestylemorelikethattra-5ditionally#usedforclassicaltextsinLatinandGreek(e.g.,-theOxfordClassical5T*exts series).Y^HealsowrotesomeextradoGcumentationandsentthe lesoutto5severalUUpGeople.qThisversionofthemacroswasthe rsttobGecalledEDMAC.DTheڋpresentversionwasdevelopGedinthesummerof1990,withtheintentof5adding)}necessaryfeatures,2BstreamlininganddoGcumentingthecode,2Bandfurther5generalizing aittomakeiteasilyadaptabletotheneedsofeditorsindi erent5disciplines.RdJohndidmostofthegeneralreworkinganddoGcumentation,with5the˟ nancialassistanceoftheDivisionoftheHumanitiesandSoGcialSciences,5CaliforniaiInstituteofT*echnology.# DominikiadaptedthecoGdetotheconventions5oflF*rankMittelbach'sdocoption,RandaddedsomedoGcumentation,Rmultiple-5columnfoGotnotes,̝cross-references,andcropmarks.^3 rAAdescriptionbyJohn5andLDominikofthisversionofEDMACLwaspublishedas\AnoverviewofEDMAC:5aUUPlainTU>'ExXformatforcriticaleditions",&': cmti10TUGb}'oatH-11UU(1990),pp.623{643.DF*rom̝1991through1994,themacroscontinued̝toevolve,and̝weretestedat5anumbGerofsites.PW*eareverygratefultoallthemembGersofthe(nowdefunct)5edmac@mailbase.ac.ukdiscussiongroupwhohelpGeduswithsmoothingout5bugs\nandinfelicitiesinthemacros.RonWhitneyandouranonymousreviewer5attheTUGwerebGothofgreathelpinironingoutlast-minutewrinkles,3while5Ron!madesomeimpGortantsuggestionswhichmayhelptomakefutureversions5of,bEDMAC,+evenmoreecient.W*ayneSullivqan,b%inparticular,providedseveral5impGortantJ xesandcontributions,GincludingadaptingtheMittelbach/Schopf5\NewF*ontSelectionScheme"forusewithPlainTU>'ExXandEDMAC(seep.155bGelow).ZAnotherYpro8jectW*aynehasworkedonisaDVI/pGost-processorYwhich5worksIwithanEDMAC%thathasbGeenslightlymoGdi edtooutput\specials.BThis5combinationfenablesyoutorecovertosomeextentthetextofeachline,Жasasci8i5coGde,UUfacilitatingthecreationofconcordances,anindexverb}'orum,etc.DAtFzthetimeofwriting,IswearepleasedtobGeabletosaythatEDMACFvisbGeing5usedMforreal-lifebGookMproductionofseveralinterestingeditions, suchasthe5LatintextsofEuclid'sElements,^4HaneditionofthelettersofNicolausCopGerni-5cus,^5۲Simon#mBredon'sArithmetic}'a,^6aLatintranslationbyPlatoofTivoliofan5ArabicastrolabGetext,^7#вaLatintranslationofpartIIoftheArabicAlgebr}'a[Xby5AbGu^KamilShuja'b.WAslam,^8 theLatinRithmachia"gofW*erinhervonTegernsee,^95X-ffv J= "5-:3LThisbvÎersionofthemacroswasusedtoformattheSanskrittextinvolumeIWofMetarules of~Pqan.inianGrammarbÎyXDominikWJujastyk(Groningen: FJorsten,1993). > "5-:4LGerhardبBreyusedEDMACاinthepro'ExXbefore,Iyoushould ndsomeonetohelpyougetstartedwith5the%program.< Itisnotreallyhard,bbuttherearesomepGointswhereabitofgood5advice2mightsaveyousometime.VfTU>'ExXisavqailableinversionsthatrunonmost5computers,andymanyimplementationsofTU>'ExXareavqailablefree,orataverylow5cost.iTheoutputofTU>'ExXcanbGeprintedwithoutchangeonmostprintersand5phototypGesettingmachines._TU>'ExXproGducesveryhighqualitytypGesetting,)andis5particularlystrongintheareasoftypGesettingcomplexmathematicalformulae5andUUmultilingualtexts.DTheTU>'ExXUsersGroup(TUG)canadviseyouonallmattersrelatedtoTU>'EX.5IfyouarenotalreadyamembGerofthegroup,itiswellworthjoining.;Oneof5the;mostusefulthingsTUG(willdoforyouinitiallyisgiveyouamembGership5list,UUsoyoucan ndoutwhoyourloGcalTU>'ExXguruis.qTheaddressis:NTU>'ExXUUUsersGroup,NP*.UUO.Box869,NSantaUUBarbara,CA93102 USA.NInternet:qtug@tug.orgDThisodoGcumentdoesnotincludeaTU>'ExXtutorial.%Inbrief,whenyouuseEDMAC5theLmaintexttobGeeditedistypedintoacomputer leasaplaintext,withblank5linesmarkingparagraphbreaks,6andwithallformatting,accentedcharacters,5and#otherspGecialrequirementsindicatedbyTU>'ExXmacros.ܬTheQTKß'E-Xb}'ook^15 by5DonaldE.Knuthgivesguidelinesonvqariousformattingcommandsforheadings,5pageUUsize,etc.,andisanecessaryreferenceforusersofEDMAC.!č52MLHowfftouse(߆Tff cmtt12EDMAC52.1SIntro`ductionuT5AzbdoGcumentzthatusesEDMACwillusemanystandardTU>'ExXcommands,along5with'spGecialEDMACcommands.6cThischapterdescribestheusageofalltheEDMAC5X-ffv J=w-:10LGeertkH.M.Claassens, DeUMiddelnederlandseKruisvaartromans, (Amsterdam: ScÎhiphowerXenBrinkman,1993). >w-:11LEmil>;HargittaÎyJ,\uCsqaky Istvan:PoliticaphilosophiaiOkoskodqas-szerintvalorendesMԟeletnekpԟeldqaja~(1664{1674)*(Budap'ExXconventions;tifyouarenotconversant5withTU>'ExX,GyoushouldbGeabletoformanideaofthespeci ccapabilitiesofEDMAC5from֕thisaccount,but(werepGeat)youwillnotbGeabletouseEDMACtwithout5 rstUUlearningsomeTU>'ExX.DAllyouneedtodotoinvokeEDMACistoincludetheline\input?EDMAC.DOC5atthetopofyourdoGcument,pandtohavethe leEDMAC.DOCҲsomewhereonyour5diskthatis\visible"toTU>'ExXforinput.*IttakesonlyafewsecondsforTU>'EXto5readEDMAC.DOC,butifyouaregoingtouseitfrequently*, aswillcertainlybGe5the4caseifyouaredoingarealedition,:youwill nditconvenienttocompileit5intoaTU>'ExXformat le,loadingitafterPLAIN.TEXandanyotherprivqatemacros.DEDMACwis 9athr}'ee-pass 9system,likeחL5ffA͉TU>'ExX.^16 òAlthoughyourtextualapparatus5and!linenumbGers!willbeprintedevenonthe rstrun,,2ittakestwomorepasses5throughTU>'ExXtobGesurethateverythinggetstoitsrightplace.DAnychangesyou5maketotheinput lemaysimilarlyrequirethreepassestogeteverythingto5the `rightplace,ifthechangesalterthenumbGeroflinesornotes.YvEDMAC Nwilltell5youqthatyouneedtomakemoreruns,xwhenitnotices,butitdoGesnotexpend5the`labGortocheck`thisthoroughly*.kIfyouhaveproblemswithalineortwo5misnumbGeredUUatthetopofapage,tryrunningTU>'ExXonceortwicemore.DA lemaymixnumb}'eredxandunnumberedtext.NumbGeredtextisprinted5with1marginallinenumbGers1andcanincludefootnotesandendnotesthatare5referenced]tothoselinenumbGers:this]ishowyou'llwanttoprintthetextthat5you'rex4editing.eUnnumbGeredtextisnotprintedwithlinenumbGers,andyou5can'tr]useEDMAC'snotecommandswithit:thisisappropriateforintroGductions5andUUothermaterialaddedbytheeditoraroundtheeditedtext.65TheZ:c9hoiceofeditingprogram ThecarefulchoiceofagoGodtextediting5programbcanmakethepreparationoftextsforEDMACbmucheasier.Incommon5withSmostTU>'ExXdoGcuments,Sa leformattedwithEDMACmacroswillhavemany5sets1ofbraces,hoftennested,andoftenenclosingmaterialthatwillendupat5thewbGottomofthepageasnotes.ٓSomewordprocessorsoreditorshavewthe5abilitymto\fold"textoutofsight.Thismeansthatonthecomputerscreen5aӓparticularstringorpassagecanbGehidden,"perhapsbehindasymbol.Most5moGdern~word-processorshandlefootnotesinthisway*.vWhenyouwanttotypGe5agnote,0awindowopGensup;ayoutypGethenote,0andthewindowcloses,0leavinga5highlightedYnumbGertoremindyouthatanoteisthere.8Thereareseveralfolding5editorsavqailablecommerciallyandinthepublicdomain,whichwouldallowyou5to8~seeonlythemaintextofyourworkonthecomputerscreen,>Cwhilethenotes5and8vqariants,q~etc.,would8bGehiddenfromview.GNU8nEmacshasanoutline5moGdewhichcouldprobablybemodi edtoworklikethis.q(ItisimpGortant,of5course,7that/theeditordoGesn'tpepperyourtextwithunwantedcontrolcoGdes,7or5thatifitdoGes,theycaneasilyberemoved.)=Aneditorlikethiscanbeextremely5helpfulUUinkeepingyourtextingoGodUUorder.652.2SGeneralmarkupuT5EachsectionofnumbGeredtextmustbGeprecededby\beginnumberingand 6)ߤN cmtt9\beginnumberingb\endnumbering5followedUUby\endnumbering:5Jffv J=w-:16LOhXyÎesitis,ifyouhaveatableofcontents,listsof gures,etc.w[s52 HOWUUTOUSEEDMACv7oD\beginnumbering DhtextظiD\endnumberingDThewy\beginnumberingmacroresetsthelinenumbGerwytozero,readsanaux-5iliary lecalledh lename[i/.hnnci貲(where lenameisthenameofthemaininput5 leforthisjob,bandnnHis1forthe rstnumbGeredsection,2forthesecondsec-5tion,andysoon),andthencreatesanewversionofthisauxiliary letocollect5information7duringthisrun.gThe rstinstanceof\beginnumberingalsoopGens5a lecalledh lename[i/*.endtoreceivethetextoftheendnotes.]D\endnumbering5closesUUtheh lename[i0&.hnncif le.DIfp>thelinenumbGeringp>ofatextistobecontinuousp>fromstarttoend,5thenthewholetextwillbGetypedbetweenonepairof\beginnumberingand5\endnumberingڲcommands.eWButyourtextwillmostoftencontainchapteror5otherdivisionsmarkingsectionsthatshouldbGeindependentlynumbGered,.and5theseAwillbGeappropriateplacestobeginnewnumberedAsections.6EDMACAjhas5to|readandstoreinmemoryacertainamountofinformationabGouttheentire5sectionSwhenitencountersa\beginnumberingcommand,soitspGeedsupthe5proGcessing andreducesmemoryusewhenatextisdividedintoalargernumbGer5ofsections(attheexpGenseofmultiplyingthenumbGerofexternal lesthatare5generated).DWithin_anumbGered_section,teachparagraphofnumbGeredtextmustbGe\pstart`\pend5markedUUusingthe\pstartand\pendcommands:D\pstartDhp}'aragraphoftextظiD\pendDT*extkthatappGearswithinanumberedksectionbutisn'tmarkedwith\pstart5andUU\pendwillnotbGenumbered.DThefollowingexampleshowsthepropGersectionandparagraphmarkup,9and5theUUkindofoutputthatwouldtypicallybGegenerated:x@J\beginnumbering J\pstartJThisisasampleparagraph,withJlinesnumberedautomatically.J\pendJ\pstartJThisparagraphtoohasitsJlinesautomaticallynumbered.J\pendJThelinesofthisparagraphareJnotnumbered.J\pstartJAndherethenumberingbeginsJagain.J\pendJ\endnumbering~1xThisTisasampleparagraph ~2xwithTlinesn9umbAered~3xautomatically:.~4xThisTparagraphtoAo~5xhasTitslinesautomatically~6xn9umbAered.xTheTlinesofthisparagraphxareTnotn9umbAered.~7xAndTherethen9umbAering~8xbAeginsTagain.DY*ou`canuse\autopartoavoid`thenuisanceofthisparagraphmarkupand3P\autoparMs52 HOWUUTOUSEEDMACv8o5stillhaveeveryparagraphautomaticallynumbGered.SMThescopeofthe\autopar 5commandUUneedstobGelimitedbykeepingitwithinagroup,asfollows:@J\begingroup Tm\beginnumberingTm\autoparTmAparagraphofnumberedtext.TmAnotherparagraphofnumbered Tmtext.Tm\endnumberingJ\endgroup~1xATparagraphofn9umbAered ~2xtext.~3xAnotherTparagraphof~4xn9umbAeredTtext.1Ǎ5\autoparܴfails,however,onܴparagraphsthatstartwitha{orwithanyother5commandethatstartsanewgroupbGeforeitgeneratesanytext.8wSuchparagraphs5need{tobGestartedexplicitly*,beforethenewgroupisopened,using\indent,5\noindent,UUor\leavevmode,orusing\pstartitself.^17DEDMACstoresalotofinformationabGoutlinenumbersandfootnotesinmem- 6\pausenumberingf\resumenumbering5oryasitgoGesthroughanumberedsection.8Butattheendofsuchasection,5itxemptiesitsmemoryout,sotospGeak.IfyourtexthasaverylongnumbGered5section-TitispGossiblethatyourTU>'ExXmayreachitsmemorylimit.dqTherearetwo5solutions^tothis.The rstistogetanewTU>'ExXwithincreasedmemory*.There5areoseveralBigTU>'ExXimplementationseasilyavqailabletoGday*,bothocommercialand5public-domain,b`depGending_onyouroperatingsystem.Thesecondsolutionisto5splitXyourlongsectionintoseveralsmallerones.Thetroublewiththisisthat5your2linenumbGeringwillstartagainatzerowitheachnewsection.f_T*oavoid5thisproblem,weprovide\pausenumberingand\resumenumberingwhichare5justlike\endnumberingand\beginnumbering,Rexceptthattheyarrangefor5your|linenumbGeringtocontinueacrossthebreak.>=Use\pausenumberingonly5bGetweenUUnumberedUUparagraphs:@J\beginnumbering J\pstartJParagraphoftext.J\pendJ\pausenumberingJ\resumenumberingJ\pstartJAnotherparagraph.J\pendJ\endnumberingJ\bye~1xP9aragraphTof ~2xtext.~3xAnotherTparagraph.1ǍDW*eohavede nedthesecommandsastwomacros,7incaseyou nditnecessary5towsinserttextbGetweenwsnumberedwssectionswithoutdisturbingthelinenumbering.5X-ffv J=w-:17LFJortvadetailedstudyofthereasonsforthisrestriction,>seeBarbaraBeeton,\Initiation rites",XTUGboat12(1991),pp.j257{258. 5s52 HOWUUTOUSEEDMACv9o5Butaifyouarereallyjustusingthesemacrostosavememory*,"youmightaswell 5say9\def\memorybreak{\pausenumbering\resumenumbering} 5andUUsay\memorybreakbGetweentherelevqant\pendand\pstart.652.3STheapparatusuT5Withinj6numbGeredparagraphs,=allfootnotesandendnotesaregeneratedbyforms`\text5ofUUthe\textmacro:N\text{hlemmaci%*}hc}'ommands!i6U/DThe鏸hlemmaci,޲argumentisthelemmainthemaintext:<\textbGothprints5this$aspartofthetext,Xandmakesitavqailabletothehc}'ommands!i=2youspGecify5togeneratenotes.JThe/attheendterminatesthecommand;itispartofthe5macro'sUUde nitionsothatspacesafterthemacrowillbGetreatedassigni cant.DF*orUUexample:@JIsawmyfriend\text{Smith} J\Afootnote{JonesC,D.}/JonTuesday.~1ITsa9wmyfriend ~2SmithTonT:uesda9y.~&fff*۟1*t : cmbx92TSmith]JonesC,D.71ǍDThe%lemmaSmithisprintedaspartofthissentenceinthetext, andis5also@madeavqailabletothefoGotnotethatspeci esavqariant,;Jones?C,D.@The5foGotnotehmacroissuppliedwiththelinenumberhatwhichthelemmaappearsin5theUUmaintext.DThehlemmaci+maycontainfurther\textcommands;othisistheotherreason5why\text'sargumentsareterminatedby/. shNestingmakesitpGossibleto5printXanexplanatorynoteonalongpassagetogetherwithnotesonvqariants5forUUindividualwordswithinthepassage.qF*orexample:@J\text{Isawmyfriend Tm\text{Smith}\Afootnote{JonesTmC,D.}/onTuesday.}Tm\Bfootnote{ThedatewasTmJuly16,1954.}J/~1ITsa9wmyfriend ~2SmithTonT:uesda9y.~&fff*ۤ12TSmith]JonesC,D.5ff*ۡ1{2TIsa9wmyfriendSmithTonT:uesda9y.]pThedateTw9asJuly16,1954.X1ǍDHowever,;\textçcannothandleoverlappingçbutunnestednotes|forexam-5ple,Donenotecoveringlines10{15,andanothercovering12{18;ta\textthat5startsrinthehlemmaci-Wargumentofanother\textmustendthere,FtoGo.(The5\lemmaRand\linenumcommandsmaybGeusedtogenerateoverlappingnotesif5necessary*.)65Commandsusedin\text'ssecondargumen9t Thesecondargumentof5the?\textmacro,Fzhc}'ommands!i:\ϲ,Fzmaycontainaseriesofsubsidiarycommands5thatUUgeneratevqariouskindsofnotes.DFivefseparateseriesoffoGotnotesaremaintained;o@whenall veareused,jthe$\Afootnote$\Bfootnote$\Cfootnote$$\Dfootnote0$\Efootnote |s52 HOWUUTOUSEEDMACߜu10o5AnotesUappGearinalayerUjustbelowthemaintext,Ufollowedbytherestin 5turn,uFdownntotheEnܲnotesatthebGottom.oThesearethemainmacrosthatyou5will5usetoconstructthecriticalapparatusofyourtext.UEDMAC5provides ve5layersofnotesinthebGeliefthatthiswillbeadequateforthemostdemanding5editions.l'ButDuitisnothardtoaddfurtherlayersDuofnotestoEDMACDqshouldthey5bGeUUrequired.DEDMACalsomaintains veseparateseriesofendnotes.?Normally*,1noneofy\Aendnotey\Bendnotey\Cendnote$y\Dendnote0y\Eendnote5themm isprinted:/youm mustusethe\doendnotesmacrodescribGedbelow(p.18)5toUUcallfortheiroutputattheappropriatepGointinyourdoGcument.DSometimeseyouwanttochangethelemmathatgetspassedtothenotes. |\lemma5Y*oulicandothisbyusing\lemmawithinthesecondargumentto\text,r.bGefore5theUUnotecommands.sN\lemma{halternative5YlemmaciV}s5TheRmostcommonuseofthiscommandistoabbreviatethelemmathat's5printedUUinthenotes.qF*orexample:s@J\text{Isawmyfriend Tm\text{Smith}\Afootnote{JonesTmC,D.}/onTuesday.}Tm\lemma{I\dots\Tuesday.}Tm\Bfootnote{ThedatewasTmJuly16,1954.}J/~1ITsa9wmyfriend ~2SmithTonT:uesda9y.~&fff*ۤ12TSmith]JonesC,D.5ff*ۡ1{2TI...T:uesda9y.]TheTdatew9asJuly16,1954.bUDY*ou9canuse\linenumtochangethelinenumbGerspassedtothenotes.3P\linenum5Thenotesareactuallygivensevenparameters:Ithepage,Fline,andsub-line5numbGer forthestartofthelemma;gthesamethreenumbers fortheendofthe5lemma;Zdand_thefontspGeci erforthelemma.{Asargumentto\linenum,.you5spGecifyLxthosesevenparametersinthatorder,Aseparatedbyverticalbars(the5|1jcharacter).However,hoyoucanretainthevqaluecomputedbyEDMAC11forany5numbGerx$bysimplyomittingit;andyoucanomitasequenceofverticalbarsat5the*endoftheargument.cF*orexample,3\linenum{|||23}changesonenumbGer,5theUUendingpagenumbGerUUofthecurrentlemma.DThiscommanddoGesn'tchangethemarginallinenumbGersinanyway;UPit5justʹchangesthenumbGerspassedtothefootnotes.Itsusecomesinsituations5thatyd\texthastroubledealingwithforwhateverreason.Ifyouneednotes5foroverlappingpassagesthataren'tnested,=5forinstance,youcanuse\lemma5and\linenumtogeneratesuchnotesdespitethelimitationsof\text.nIfthe5hlemmaci^hٲargument>to\textisextremelylong,xJyoumayrunoutofmemory;5hereagainyoucanspGecifyanotewithanabbreviatedlemmausing\lemmaand5\linenum./mThenumbGersusedin\linenumneednotbeenteredmanually;(you5canusethe\x-"symbGoliccross-referencingcommandsbelow(p.18)tocompute5themUUautomatically*.DSimilarly*,5bGeingabletomanuallychangethelemma'sfontspGeci erinthe5notes{mightbGeimportantifyouwereusingmultiplescriptsorlanguages.The5formofthefontspGeci erdependsonthefontselectionschemeyouareusing5(see_section2.7bGelow).Ifyou'reusingPlain,bitisthe\fontfamily"numbGer;e=if5you'reusingNFSS,itisactuallythreeseparatecoGdesseparatedby/characters,5givingUUthefamily*,series,andshapGecodesasde nedwithinNFSS. s52 HOWUUTOUSEEDMACߜu11o5Changingthenamesofthesecommands Thecommandsforgenerating 5theF,apparatushaveF,bGeengivenratherblandnames,I5becauseeditorsindi erent5 eldsXhavewidelydivergentnotionsofwhatsortofnotesarerequired,$where5they$shouldbGeprinted,-andwhattheyshouldbecalled.a]Butthisdoesn'tmean5you8havetotypGe\Afootnotewhenyou'drathersaysomethingyou ndmore5meaningful,like,\variant.FMW*erecommendthatyoucreateaseriesofsuch5aliasesFandusetheminsteadofthenameschosenhere;Kallyouhavetodoisput5commandsUUofthisformatthestartofyour le:Q9\let\variant=\Afootnote 9\let\explanatory=\Bfootnote9\let\trivial=\Aendnote9\let\testimonia=\CfootnoteQDItisalsopGossibletode nealiasesfor\text,Pwhichcanbeeasiertotype. 5Y*ouUUcanmakeasinglecharactersubstitutefor\textbysayingthis:9\catcode`\<=\active9\let<=\textQDThenyoumightsay<{Smith}\variant{Jones}/. pThisofcoursedestroys 5the\abilitytouse{\text{#1}{#2}/}9\let<=\xtextQ5ThisUUallowsyoutosay<{Smith}\Afootnote{Jones}>. DAliasesT}Oвmacro,wherehar}'g}i޲iseitherpageorsection.Y*oumayonly5useURthiscommandatplaceswherenumbGeringURisnotine ect;USyoucan'tchange5thelineationsystemwithinasection.PY*oucanchangeitbGetweensections:@they5don'tallhavetousethesamelineationsystem."Theline-of-sectionsystemis5EDMAC'sUUstandardsetting.DThe>xmarginallinenumbGers>xwillbeprintedintheleft,xright,inner,or\linenummargin5outer8margin,qdepGendingonwhichyouspGecifyasargumenttothe\linenummargin5command:3for example,8\linenummargin{inner}.Normally*,linenumbGersap-5pGeartintheleftmargin.]'Y*oucanchangethiswheneveryou'renotinthemiddle5ofUUmakingaparagraph.DInfmostcases,DjyouwillnotwantanumbGerprintedforeverysinglelineb\firstlinenum٭ \linenumincrementf\firstsublinenum$ˀH\sublinenumincrement5of9thetext.~F*ourTU>'ExXcountregisterscontroltheprintingofmarginalnum-5bGers. u\firstlinenum#speci esthenumbGerofthe rstlineinasectionto às52 HOWUUTOUSEEDMACߜu12o5numbGer,Dand\linenumincrementistheincrementbetweennumberedlines. 5\firstsublinenumand\sublinenumincrementdothesameforsub-lines.ZIni-5tially*,UUallthesecountersaresetequalto5.DWhenMamarginallinenumbGerMistobeprinted,PtherearealotofwaystoL\leftlinenumb\rightlinenum\linenumsep5displayYit.Y*oucanrede ne\leftlinenumand\rightlinenumtochangethe5waymarginallinenumbGersareprintedintheleftandrightmarginsrespGectively;5theUinitialversionsprintthenumbGerinfont\numlabfont(describGedbelow)at5aUUdistance\linenumsep(initiallysettoonepica)fromthetext.652.5SChangingthelinenumb`ersuT5Normally[|thelinenumbGering[|startsat1forthe rstlineofasectionandsteps5upfbyoneforeachlinethereafter.ATherearevqariouscommonmoGdi cations5ofQthissystem,Lhowever;~OtheQcommandsdescribGedhereallowyoutoputsuch5moGdi cationsUUintoe ect.DY*ou sinsertthe\startsuband\endsubcommandsinyourtexttoturnsub-y\startsub\endsub5lineation'onando .bInplays,0forexample,stagedirectionsareoftennumbGered5withjsub-linenumbGers:easjline10 b> cmmi10:1,10:2,10:3,ratherjthanas11,12,andj13.5TitlesUUandheadingsaresometimesnumbGeredUUwithsub-linenumbersUUaswell.DWhensub-lineationisine ect,>>thelinenumbGercounterisfrozenandthe5sub-linejcounteradvqancesinstead.IfoneofthesecommandsappGearsinthe5middleRofaline,SitdoGesn'ttakee ectuntilthenextline;Svinotherwords,Saline5isicountedasalineorsub-linedepGendingonwhatitstartedoutas, evenifthat5changesUUinthemiddle.DThe1\startlockcommand,usedinrunningtext,loGcksthelinenumbGerat$\startlock3P\endlock5itswcurrentvqalue,suntilyousay\endlock.Itcantellforitselfwhetheryouare5in}Sapatchoflineorsub-linenumbGering.Oneuseforline-numbGerlockingisin5printing7inthreecolumns(seesecondlayerofnotesin g.2,p.82).5Eachofthesemacrostakesoneargument:Ualetter(bGetweenAandE)forthe5seriesofnotesyouwantchanged.Soatextwiththreelayersofnotesmight5bGeginUUthus:9\footnormal{A} 9\footthreecol{B}9\footparagraph{C}5ThiswouldmaketheA-notesordinary*, B-noteswouldbGeinthreecolumns, and 5theUUbGottomlayerUUofnoteswouldbeformedintoaparagraphoneachpage.DIfAyouuseparagraphedfoGotnotes, themacro\interparanotegluede nest\interparanoteglue5the^glueappGearinginbetween^footnotesintheparagraph.1Itisamacrowhose5argumentUUistheglueyouwant,anditsinitialsettingis(seep.67):9\interparanoteglue{1emplus.4emminus.4em} DY*oushouldset\hsizeforthetext,andthe\baselineskipofthefoGotnotes5(thisw%isdoneforyouifyouusethestandard\notefontsetup),bGeforeyoucall5anymofthesemacros,%ibGecausetheiractiondependsonthosevqalues;-etoomuchmor5toGolittlespacewillbeallottedforthenotesonthepageifthesemacrosusethe5wrongUUvqalues.^18652.7SFontsuT5OneJofthemostimpGortantfeaturesoftheappearanceofthenotes,Landindeed5ofPyourwholedoGcument,willbGethefontsused.GBecausethedemandsofcritical5editionsFtaxthefont-handlingsystemof +PlainTU>'ExX,IweprovidebGoththatsys-5temandanalternative,ЕtheNewF*ontSelectionSystem(NFSS)developGedfor5L5ffA͉TU>'ExX.9W*ewill rstdescribGethecommandsthatgiveyoucontrolovertheuseof5fontsfinthedi erentstructuralelementsofthedoGcument,%cespeciallyfwithinthe5notes,C%andtheninsubsequentsectionsspGecifyhowthesecommandsareused5withUUeachofthefont-handlingsystems.5X-ffv J=w-:18LThereOisonetinÎyprovisoabcommandrede nessuchcommandsas\itsothattheyreferto5an1appropriatefamilyoffonts,typically1di erentfromthatusedforthemain5text;Ynormally*,`EDMAC*vchoGoses*eight-point*fontsforyourfoGotnotes,`asagainst5ten-pGointUUfontsforthemaintext.DThey\notenumfontmacrospGeci esthefontusedforthelinenumbGersprintedL\notenumfont5inGnotes.GThiswilltypicallybGeacommandlike\bf(EDMAC'sinitialvqalueis5\sevenrm)thatselectsadistinctivestyleforthenotenumbGers,butleavesthe5choiceUUofasizeupto\notefontsetup.DLinenumbGersforthemaintextareusuallyprintedinasmallerfontinthe\numlabfont5margin.e:The/\numlabfontmacroisprovidedasastandardnameforthatfont:5itGisinitiallysettobGeaseven-pointGromanfont.Y*oumightwishtousea5di erentfontif,forexample,youpreferredtohavetheselinenumbGersprinted5usingUUold-stylenumerals.DW*ewillbrie ydiscuss\select@lemmafontherebGecauseitisimportantto٭ \select@lemmafont5knowՎabGoutitnow,althoughitisnotoneofthemacrosyouwouldexpGectto5change\ointhecourseofasimplejob.Henceitis\protected"byhavingthe5@-signUUinitsname.DWhenYyouusethe\textmacrotomarkawordinyourtextasalemma,5thatV6wordwillnormallybGeprintedagaininyourapparatus.tiIfthewordinthe5texthappGenstobeinafontsuchasitalicorbGoldyouwouldprobablyexpGect5ittoappGearintheapparatusinthesamefont. YThisbecomesanabsolute5necessity~ifthefontisactuallyadi erentscript,NsuchasArabicorCyrillic.5\select@lemmafont5YdoGestheworkofdecodingEDMAC'sdataaboutthefonts5usedtoprintthelemmainthemaintextandcallingupthosefontsforprinting5theUUlemmainthenote.D\select@lemmafontHisamacrothattakesonelongargument|thecluster5of/linenumbGers/passedtothenotecommands.0TThisclusterendswithacode5indicatingfHwhatfontswereinuseatthestartofthelemma."\select@lemmafont5selectsUUtheappropriatefontforthenoteusingthatfontspGeci er.DEDMACuuses\select@lemmafontinastandardfoGotnoteformatmacrocalled5\normalfootfmt.ThefoGotnoteformatsforeachofthelayersA~toEare\let5equalnto\normalfootfmt.dSoallthelayersnoffoGotnotesareformattedinthe5sameUUway*.DBut~witisalsolikelythatyoumightwanttohavedi erentfontsforjust,5say*,thenotenumbGersinlayersAandBofyourapparatus.VT*odothis,make5twocopiesofthe\normalfootfmtmacro(seep.60)|or\twocolfootfmt,3Yor5theotherappropriatemacroendingin-footfmt,depGendingonwhatfootnote5formatyouhaveselected|andgivethesemacrosthenames\Afootfmtand5\Bfootfmt.qThen,qin8thesenewmacros,changethefontspGeci cations(and5spacing,UUorwhatever)toyourliking.DAÃrelativelyßtrivialmatterrelatestopunctuation.InyourfoGotnotes,2there\endashchary\fullstopy\rbracket5willoEsometimesbGespansoflinenumbersoElikethis:12{34,uorlineswithsub-line5numbGers2ilikethis:`Q55.6.f#Theen-dashandthefullstoparetakenfromthesameqs52 HOWUUTOUSEEDMACߜu15o5fontdasthenumbGers,anditallworksnicely*.TButwhatifyouwantedtouseold- 5style2numbGers,9'like12and34?f TheseloGokniceinanedition,9'butwhenyouuse5the fontsprovidedbyPlainTU>'ExXtheyaretakenfromamathfontwhichdoGes5notvhavetheen-dashorfullstopinthesameplacesasatextfont.'Ifyou(oryour5macros)e_justtypGed$\oldstyle?12--34$or$\oldstyle55.6$youwouldget5\12--34"andE\55.6".]Sowede ne\endashcharand\fullstop,#whichproGduce5anen-dashandafullstoprespGectivelyfromthe\rmfont,whateverfontyouare5usingVEforthenumbGers.tTheseVEtwomacrosareusedinthemacroswhichformat5theH&linenumbGersH&inthemarginsandfootnotes,Jinsteadofexplicitpunctuation.5W*eTalsode nean\rbracketmacrofortherightsquarebracketprintedatthe5endIofthelemmainmanystylesoftextualnotes(includingEDMAC'sstandard5style).652.7.1X#TheTNewF on9tSelectionSchemeuT5WhilethehandlingthefontsinPlainTU>'ExXworksforsimplecases,1itquickly5getsdinadequateifyouwantTU>'ExXtoloadmanydi erentfonts,orifyoufrequently5changefontsizes,Olanguages,etc.hW*erecommendthatforallbutthesimplest5editionsUUyouconsiderusingtheNewF*ontSelectionScheme.DThe/NewF*ontSelectionScheme(NFSS)isama8jorpieceofprogramming5byF*rankMittelbachandRainerSchopfwhichcompletelyrewritesthewayTU>'ExX5macrosBhandlefonts.kItwas rstpublishedinTUGb}'oatBin1989.^19 䉲Initially*,Fthe5NFSSwasaimedatreplacingtheL5ffA͉TU>'ExXsystemoffonthandling,ascontainedin5lfonts.tex.^20 ƲLaterOitbGecamepartofama8jorrevisionofthewholeofL5ffA͉TU>'ExX,5andOXisnowdoGcumentedinThedL雍Q+t}\cmti7ATKß'E-XComp}'anion^21 >andOXinthe lesdistributed5with1\L5ffA͉TU>'ExXitself.^22~²AnotherreasonwhyyoumightwishtousetheNFSS1#is5thatpyoumayalreadybGeaccustomedtousingitifyouareusingL5ffA͉TU>'ExXforother5partsUUofyourbGook,UUorforotherpublications.DW*ayneoSullivqanadaptedanearlyreleaseoftheNFSSoforseparateusewith5PlainTU>'ExXandEDMAC.^23 CSincethen,(theNFSSʭhasbGecomemorecloselyinte-5gratedintoL5ffA͉TU>'ExX.SotoGday*,lifyouwishtousetheNFSS,youshouldstartby5installing7thelatestversionofL5ffA͉TU>'ExX.nThisdoGesnotmeanthatEDMACiscom-5patiblewithL5ffA͉TU>'ExXingeneral:Titisn't.^GButtheaccompanying leed-nfss.tex5containsminstructionsabGoutasimplewayinwhichEDMACcanusejustthose5partskofL5ffA͉TU>'ExXthatde netheNFSS.W*ehavekkepttheseinstructionsseparate5bGecauseL5ffA͉TU>'ExXisinaperiodofevolution,* andthingsmayworkdi erentlyin5future.ZButEDMAC²itselfdoGescontainthe`hooks'requiredtoaccesstheNFSS5ifUUithasbGeende ned.DWhat%OwillyougainbyusingtheNFSS%CwithEDMAC?ThegL雍QATKß'E-XComp}'anion,5referred"toabGove,VVmakes"thegeneralcaseforNFSS"incleartermsatthebe-5ginningGofchapter7.'ExX.בSeethediscussionof5\select@lemmafontinparticular(p.58).)IfyouarehappywiththeCMfonts5fffv J=w-:19LTUGboat10X(1989),pp.j222{238. >w-:20LSeeXTUGboat11(1990),pp.j297{305.w-:21LByAMicÎhelGo'ExX,+plusjustaveryfewothers,+thenyoucouldstaywithEDMAC 5asitis.GButifyouwanttousecompletelydi erentfamiliesoffonts,"suchas5PostScriptfonts,8orifyouplantouseseveraldi erentlanguagesoralphabGets5suchasArmenianorGreek,ithenyourworkwillbGemademucheasierbythe5NFSS.DHereharesomeexamplesofhowyoumightde nesomeofthefontmacros5whenUUyouuseNFSS.C,\def\notefontsetup{\fontsize{7}{8}\selectfont} C,\let\notenumfont=\rm5TheseWcommandsselectseven-pGointWfontsoneight-pGointbaselinesforthenotes, 5andUUchoGosearomanfontforthelinenumbGerswithinnotes.652.7.2X#TheTPlainfon9tselectionschemeuT5IfyourunordinaryTU>'ExXwithedmac.doc,themainfontcommandsof5PlainTU>'ExXUUwillbGeavqailableinthenormalway(seetheTKß'E-Xb}'ook,UUchapter4).DEDMACalsode nesasetofmacros(moGdelledonsomeofthemanmac5macrosfromappGendixEmofTheTKß'E-Xb}'ook)toinvokeeight-pointfonts, andan5\eightpointTmacrotoselectawholesetoffontsatthatsize;whenthePlain5fontJselectionschemeisused,=thisistheinitialvqalueof\notefontsetup.RZIf5you^wanttousesomeotherfontsizeforthenotes,0 youwillneedtoloadthe5appropriateLfontsinyour le,NPandthende neyourownmacroonthemoGdelof5\eightpointthatwillpropGerlyassignthebaselinespacing, {setthevqariousfont5families,UUandrede nethecommands\rm,\it,etc.DIfyourdoGcumentrequiresfontshapGesotherthanthosefoundinPlainTU>'ExX,5you:willneedtogofurtherandmoGdifythe\select@lemmafontmacrotohandle5theseshapGes:̠seeitsuseonp.58formoredetails.z Asyouwillseefromthat5description,pif wyouareusingsomenew,outlandishfontsuchasDevqanagarq,pyou5shouldassignitanewfontfamily*,`inorderfor\select@lemmafonttobGeable5tophandleitthisway*.ĿButponceyougettothislevelofcomplexity*,witmightbGe5bGetter2toswitchovertotheNewF*ontSelectionSchemeanyway*.f>Notethatour5usecofthePlainfontselectionschememakesauseofthe\fontfamily"spGeci er5thatisnotwhatwasintended;pandbGecauseTU>'ExX'smaximumfont-familynumbGer5ism15,"ritispGossibletorunoutoffontfamiliesifyourtexthasmanydi erent5kindsoffontorusesothermacropackqagesthatalsode nenewfontfamilies.5WhenEDMAC農usesNFSS,itdoGesnotmeddlewithfont-familynumbGersinthis5way*.DBecause0\notefontsetupsetsupthewholesetoffontsusedwithinnotes5thatarelikelytochangefontshapGes,Ptitneedstobeequatedtoacomplex5macro›like\eightpoint.@ButtheotherEDMACvfontmacros|\notenumfontand5\numlabfont|areusedfortextwhichshouldnotcontainanyfontchanges,and5itisusuallygoGodenoughtoequateoneofthesetoacommandthatselectsa5spGeci c[ fontataspeci csize.F*orexample,\wsaying\let\numlabfont=\seveni5selects{aseven-pGoint{mathitalicfontformarginallinenumbGers,5sothatthe5numbGersUUwillbeprintedusingold-style gures.(s52 HOWUUTOUSEEDMACߜu17oÍ9KJSff aTƠJSff aTff aKff abXנGj aff Gj affbS냚 aff 냚 affmƟҬffFmƠl>ffFҬffFl>ffFtҬffl}ҬfflҬffl pҬffl'HҬfflB Ҭffltl>ffl}l>ffll>ffl pl>ffl'Hl>fflB l>fflmyȄFff1yȄFffmnRFff1nRFffymlff ؍mlffmlffmlffmlffmlffmlffmlffmlffmlffy1lff ؍1lff1lff1lff1lff1lff1lff1lff1lff1lffBɎmƠ`offFmƠ\PffF`offF\PffFt`offl}`offl`offl p`offl'H`offlB `offlt\Pffl}\Pffl\Pffl p\Pffl'H\PfflB \Pffl`ffFHlҬffFHll>ffF@ҬfflҬffl!Ҭffl*ȟҬffl3Ҭffl= xҬffl@l>ffll>ffl!l>ffl*Ƞl>ffl3l>ffl= xl>ffl|yȄFffJyȄFff|nRFffJnRFffy|lff ؍|lff|lff|lff|lff|lff|lff|lff|lff|lffyJlff ؍JlffJlffJlffJlffJlffJlffJlffJlffJlffBɎ`offF\PffFHl`offFHl\PffF@`offl`offl!`offl*Ƞ`offl3`offl= x`offl@\Pffl\Pffl!\Pffl*Ƞ\Pffl3\Pffl= x\Pffl`<|lff`<Jlff`L headline%3$ff_tznznff-<oGdd:ISpage;Stextznffffff_tm\Є affmƠ\O line10?mPB"ffmƠS 6~߰bacӍk\tmarginF5fflrͬ"5ffl-,^źbacӍk\tmarginY8-OffYk`S 6Y8-VDITffYk`V?Ս4cropsetup\t#1m{cropsetup\t#2 (cropsetup\t#4)Tp.|(cropsetup\t#3)O_p.|head\tmargind5fflrͬwП5ffl-b#ff(~#ff-8-$x4ff&c->4ff9:ƞ}ShsizeNy\1ffO.\?O q̈́8xffO@(qU6KQcvsizejBVwtopskipSg4ffSg4?SrOffSv6Q lDЄff玍Q gdff玎zѺFigureUU1:qCropmarks,backandheadmargins.52.8SCropmarksuT5Publishersusuallylikecropmarksonthecamera-readycopyforworksofthis 5kind,UUsoafacilityforgeneratingthemhasbGeenincorporatedintoEDMAC.DPublishers>2spGecifycropmarks(ortrimlines,vetc.)intermsoftwo>2dimensions,5heightUUandwidth,andtheyalsousuallyspGecifybackandheadmargins.DTher\headmargin"isthedistancebGetweenrthetopoftheprintedtextand5thec topcropmarks;iitisnormallymeasuredfromthetopoftherunninghead,5PlainTU>'ExX'sgQ\headline.The\backmargins"(or\guttermargins")arethe5right@marginsofeven-numbGeredpages,;andtheleftmarginsofodd-numbered5pages.&If'ExX's\makeheadlinemacro)./EDMACpGerformsthese5calculationswwhenyouissuethe\cropsetupcommand.؆Therefore,%itisimpGor-5tantthatyousetthe\hsizeandmakeanychangesto\makeheadlinebGefore5youissuethe\cropsetupcommand.Ifyoudochangethesevqalues,issuethe5\cropsetupUUcommandagain.DInparticular,Uifthe\headlineisgoingtobGesetatadi erentheightfromb\headlinefont\magicvskip5thetopofthetext, orinadi erentfont, youcanchangetheappropriatevqalues*s52 HOWUUTOUSEEDMACߜu18o5easilybyusing\headlinefontand\magicvskip. Theformeriswhatyou 5wouldexpGect;(sjust\letittobewhateverfontyouareusing(thefontmacro5shouldpincludeade nitionofanappropriate\strutboxforthatfont).Note5that[thisspGeci cationdoesnot3changewhatfontisactuallyusedbyTU>'ExX,'unless5youYmoGdifyTU>'ExX's\headlinemacro;itservesonlytoinform\cropsetupofthe5sizeUUofyourheadlinefont.DThe\magicvskipgivesyoudirectaccesstowhatDonaldKnuthcallsa5\magicconstant"onp.255ofThe#TKß'E-Xb}'ook.DF*orPlainTU>'ExX,\magicvskipis522:5pt,butyoucanchangethisifyouwantthe\headlinehigherorlower5thanUUthebuilt-invqalue.qSeep.73bGelowformoredetails.DApartqfromthisstricturethatthe\cropsetupcommandshouldfollowany5changesin\hsizeandthe\headline,thereisnorelation(otherthanvisual)5bGetweenthecropmarksandthe\hsizeand\vsize.QY*oucanvqaryanyof5these\AdimensionsindepGendently*,withouta ectinganyother.Y*ourpublisher5willGalmostalwaysGwantthe\hsizeand\vsizetobGeafewpicassmallerthan5thehorizontalandverticaldistancesbGetweencropmarks.Andifyouwantto5shift} thewholeofyourprintedpageabGoutonthepaper,use\hoffsetand5\voffsetjLasdescribGedinThe1TKß'E-Xb}'ook,op.251,orjLusethefacilitiesofyourDVI5translator.D\cropwidth and\cropgapde nethethicknessoftherulesusedfordrawing$\cropwidth3P\cropgap5cropmarksandthegapbywhichcropmarksdon'tcross;RmasbGefore,ifyou5changeUUeither,dosobGeforeusingthe\cropsetupmacro.DIf,GforEJexample,youwantyourtexttohaveabackmargin,Gfortwo-sided5printing,UUbutyoudon'twantcropmarks,justset\cropwidth=0pt.652.9SEndnotesuT5\doendnotesʲclosesthe.end lethatcontainsthetextoftheendnotes,ifit's\doendnotesy\endprint5opGen,[and printsoneseriesofendnotes,asspGecifedbyaseries-letterargu-5ment,e.g.,\doendnotes{A}.}\endprintisthemacrothat'scalledtoprint5eachnote.Ituses\notenumfont,>`\select@lemmafont,and\notefontsetup5toUUselectfonts,justasthefoGotnotemacrosdo(seep.14above).DIfXyouaren'tgoingtohaveanyendnotes,Xyoucansay\noendnotesinyour\noendnotes5 le,ubGefore=the rst\beginnumbering,tosuppressthegenerationofanunneeded5.endUU le.52.10ZCrossreferencinguT5EDMACprovidesasimplecross-referencingfacilitythatallowsyoutomarkplaces5in[thetextwithlabGels,andgeneratepageandlinenumber[referencestothose5placesUUelsewhereinthetextusingthoselabGels.DFirstEyouplacealabGelinthetextusingthecommand\label{foo}.lW\foo" |\label5canbGealmostanythingyoulike,includingletters,numbGers,punctuation,ora5combination|anything%butspaces;youmightsay\label{toves-3},bforexam-5ple.^24DElsewhere5inthetext,<;eitherbGeforeorafterthe\label,youcanrefertoits3P\pageref3P\lineref\sublineref5loGcationbysaying\pageref{foo},or\lineref{foo},or\sublineref{foo}.5Jffv J=w-:24LMore?preciselyJ,xyÎoushouldsticktocharactersintheTAEMXcategoriesof\letter"and\other".C3s52 HOWUUTOUSEEDMACߜu19o5ThesecommandswillproGduce,)respectively*,thepage,lineandsub-lineonwhich 5theUU\label{foo}commandoGccurred.DA\labelXcommandmayappGearinthemaintext,gXorinthe rstargu-5mentˈof\text,butnotintheapparatusitself.aBut\pageref,\linerefand5\sublinerefi}commandscanalsobGeusedintheapparatustoreferto\labels5inUUthetext.DThe&\labelcommandworksbywritingmacrostoan.aux le(whichwill5only>wbGecreatedifyouareactuallyusingsomeofthesecommands).-,Clearly*,5then, youۀwillneedtoproGcessyourdoGcumentthroughTU>'ExXtwiceinorderfor5theUUreferencestobGeresolved.DY*ouľwillbGewarnedifyousay\label{foo}andfoohasbGeenusedasalabel5bGefore.FThe*refcommandswillreturnreferencestothelastplaceinthe le5marked `withthislabGel.Y*ouwillalsobewarnedifareferenceismadetoan5unde nedlabGel.(Thiswillalsohappenthe rsttimeyouprocessadocument5afteraddinganew\labelcommand:theauxiliary lewillnothavebGeen5upGdatedUUyet.)DIfkyouwanttorefertoawordinsidea\text{...}/command,qthe\label5shouldUUbGede nedinsidethe rstargument,e.g.,C,The\text{creature\label{elephant}wasquite Lunafraid}\Afootnote{Ofthemouse,thatis.}/DHowever,9therearesituationsinwhichyou'llwantEDMACtoreturnanumbGery\xpageref y\xlinerefL\xsublineref 5withoutqdisplayinganywarningmessagesabGoutunde nedlabelsorthelike:if5youvwanttousethereferenceinacontextwhereTU>'ExXisloGokingforanumbGer,5such?awarningwillleadtoacomplaintthatthenumbGerismissing./Thisis5thecaseforreferencesusedwithintheargumentto\linenum,Nforexample.T/F*or5thiszsituation,threevqariantsofthereferencecommands,withthexpre x,are5supplied: \xpageref,\xlineref,and\xsublineref.-TheonlyopGerationsthey5pGerformareonesthatTU>'ExXcandoinits\mouth".^]Theyhavetheselimitations:5they willnottellyouifthelabGelisunde ned,E9andtheymustbGepreceded5in?the lebyatleastoneofthefourothercross-referencecommands|e.g.,5a\label{foo}command,[evenifyouneverrefertothatlabGel|sincethose5commandspcanalldothenecessaryproGcessingofthe.aux le,7andthesecannot.DThemacros\xxrefand\makelabelletyoumanipulatenumbGersandlabels |\xxref5inUUwayswhichyoumay ndhelpfulintrickysituations.DThe+\xxrefcommandgeneratesareferencetoasequenceoflines, foruse5inthesecondargumentof\text.Ittakestwoarguments,0}bGothofwhichare5labGels:e.g.,\xxref{mouse}{elephant}.NItFcalls\linenum(q.v.,p.10abGove)5and[setsthebGeginningpage,'\line,and[sub-linenumbers[tothoseoftheplace5where\label{mouse}wasplaced,~andtheendingnumbGerstothosewhere5\label{elephant}UUoGccurs.DSometimesGthe\labelcommandcannotbGeusedtospecifyexactlythe$\makelabel5pageandlinedesired|forexample,ifyouwanttorefertoapageandline5numbGerinanothervolumeofyouredition.rInsuchcases,8youcanusethe5\makelabel%macrosothatyoucan\rollyourown"labGel.48F*orexample,Zifyou5say\\makelabel{elephant}{10|25|0}"youwillhavecreatedanewlabGel,zand5alatercallto\pageref{elephant}wouldprint\10"and\lineref{elephant}5would print\25".XThesub-linenumbGerhereiszero.XItisusuallybesttocollectTs53 IMPLEMENT*ATIONUUOVERVIEW#y20o5yours\makelabelstatementsnearthetopofyourdoGcument,!;sothatyoucan 5seeUUthemataglance.652.11ZMiscellaneousuT5Generally*,Pyou}Qshouldsetthe\vsizeand\hsizeofyoudoGcumentatthetop,5bGefore2anyEDMACcommandsareissued,sinceEDMACusesthesevqaluestowork5out%somethings,XlikecropmarksandfoGotnotespacing.6AsTheTKß'E-Xb}'ookٲsays5(p.251),=\It'sbGestnottomonkeywith\hsizeand\vsizeexceptatthevery5bGeginningUUofajob...".DAny/jchangesyoumaketo\leftskipor\rightskipwillapplytothemain5bGody]text,_butnottothefoGotnotes.|Thisishowyoucangetanarrow-settext5onĎawiderbaseofnotes,acommonstyleforcriticaleditions.AF*oGotnotematerial5isUUalwaysset\hsizewide.DWhen~EDMACTassemblesthenameoftheauxiliary leforasection,!Hitpre- 6\extensionchars5 xesV\extensioncharstothesectionnumbGer. uZThisVisinitiallyde nedto5bGeQempty*,butyoucanaddsomecharacterstohelpdistinguishthese les5if^youlike;DcwhatyouuseislikelytobGesystem-dependent.OIf,forexample,5youvsaid\def\extensionchars{!},thenyouwouldgettempGorary lescalled5jobname.!1,UUjobname.!2,etc.52.12ZKnownbugsuT5ThePlainTU>'ExX\footnotecommandwillworkonlywithinunnumbGeredtext;5withinnumbGeredtextitwillwreakhavoGc.7:Ingeneral,EDMAC'ssystemforadding5marginal4linenumbGers4breaksanythingthatmakesdirectuseoftheTU>'ExXinsert5system.D\parshapeMcannotbGeusedwithinnumberedMtext,exceptinaveryrestricted5wayUU(seep.48).DEDMAC is athree-passsystem,butevenafteradoGcumenthasbGeenprocessed3P\ballast5threetimes,therearesometrickysituationsinwhichthepagebreaksdecided5by1TU>'ExXneversettledown.|\AteachsuccessiverunofTU>'ExX,hEDMACٲoscillates5bGetweentwodi erentsetsofpagedecisions.T*ostopthishappGening,Wshouldit5arise,'ExX,thusreinforcingthese5breaks.So?ifyou ndyourpagebreaksoscillating,:say\ballast=100orsome5suchܪ gure,andwithanyluckthepagebreakswillsettledown.Luckily*,this5problemUUdoGesn'tcropupatalloften.DTheDrestrictiononexplicitline-breakinginparagraphedfoGotnotes,{>mentioned5in_qfoGotnote18,ap.13,and_qdescribedinmoredetailonp.66,areallyisanuisance5if that'ssomethingyouneedtodo.ATherearesomepGossiblesolutions,Odescribed5byUUMichaelDownes,butthisarearemainsunsatisfactory*.DHelp,UUsuggestionsandcorrectionswillbGegratefullyreceived.!č53MLImplementationffoverview5W*epresenttheEDMACϲcoGdeinroughlytheorderinwhichit'susedduringarun5ofWTU>'ExX.TheorderisexactlyԲthatinwhichit'sreadwhenyouloadtheEDMACexs54 PRELIMINARIES+21o5packqage,-bGecausebthesame leisusedtogeneratethisbookandtogeneratethe 5TU>'ExXinput le.OMostofwhatfollowsconsistsofmacrode nitions,Gbutthereare5some1TU>'ExXcommandsthatareexecutedimmediately|espGeciallyatthestartof5the7?whatfollows,xmacroswithan@intheirnamearemoreinternalto5theVworkingsofEDMACthanthosemadeupjustofordinaryletters,Kjustas5inTPlainTU>'ExX(seeTheMTKß'E-Xb}'ook,Up.344).FrY*ouTaremeanttobGeabletomakefree5with}ordinarymacros,butthe\@"onesshouldbGetreatedwithmorerespect,5andUUchangedonlyifyouareprettysureofwhatyouaredoing. 54MLPreliminaries5When-this leisloadedbyTU>'ExX,5itmakesacheck,5bGeforeanythingelseisdone,5fornwhetherthissetofmacroshasalreadybGeenloadedbefore.Ifithas,.} \makeatletter b\makeatother5Y*oucan'tnormallyuse@signswithinTU>'ExXmacronames.Wede nemacros 5thattallowyoutoturnthiscapabilityonando ;,andthenweturnitonforthe5time"bGeing,sincethis lewilluseandde nemanymacroswith@signsintheir5names. Y?\def\makeatletter{\catcode`\@=11} ?\def\makeatother{\catcode`\@=12}?\makeatletter\@tempcnta \@tempcntb5InVimitationofL5ffA͉TU>'ExX,wecreateacoupleofscratchcounters,\@tempcntaand 5\@tempcntb,UUthatwecanuselike\count255(seeTheTKß'E-Xb}'ook,UUp.122). Y?\newcount\@tempcnta\newcount\@tempcntb 6\edmac@warning5EDMACwill'sometimeswant'towarnyouabGoutwhat'sgoingonbywritingto5yourterminalandlog le;}8thatopGerationishandledbythe\edmac@warning5macro.us54 PRELIMINARIES+22o?\def\edmac@warning#1{\immediate\write\sixt@@n{EDMACwarning:#1}}654.1SSectioningcommandsuTb\section@num5Y*ouDKuse\beginnumberingand\endnumberingtobGeginandendaline- 5numbGeredДsectionofthetext;4thepairofcommandsmaybeusedasmany5timesZasyoulikewithinonedoGcumenttostartandendmultiple,separately5line-numbGeredļsections.TU>'ExXwillmaintainanddisplaya\sectionnumbGer"as5acounternamed\section@numthatcountshowmany\beginnumberingand5\resumenumbering*commandshave*appGeared;8itneedn'tberelatedtothelogi-5calUUdivisionsofyourtext.f\extensionchars5EachjsectionwillreadandwriteanassoGciated\line-list le",containinginfor-5mation usedtodothenumbGering;$0the lewillbecalledhjobname[i/.hnnci,[where5nn/iskthesectionnumbGer.RHowever,youkmaydirectthatanextrastringbGe5addedpbGeforethennӲinthat lename,inordertodistinguishthesetemporary5 les fromothers:thatstringiscalled\extensionchars.Initiallyit'sempty*,5sincedi erentopGeratingsystemshavegreatlyvqaryingideasabGoutwhatcharac-5tersarepGermittedin lenames.USo\def\extensionchars{-}givestemporary5 lesUUcalledjobname.-1,jobname.-2,etc.?\newcount\section@num ?\section@num=0?\let\extensionchars=\emptyb\ifnumbering 6\numberingtrue f\numberingfalse5Thes\ifnumbering agissettotrueifwe'rewithinanumbGeredsection(thatis, 5bGetween5\beginnumberingand\endnumbering).3Y*oucanuse\ifnumberingin5yourRowncoGdetocheckwhetheryou'reinanumbGeredsection,Sbutdon'tchange5theUU ag'svqalue.?\newif\ifnumberingf\beginnumbering5\beginnumberingbGeginsasectionofnumberedtext.Whenit'sexecutedwe5incrementthesectionnumbGer, initializeourcounters, sendamessagetoyour5terminal,UUandcallmacrostostartthelineationmachineryandendnote les.DTheUWinitializationsherearetrickierthantheyloGok.q\line@list@stuffwill5useOallofthecountersthatarezeroGedherewhenitassemblestheline-listand5otherlistsofinformationabGoutthelineation.Butitwilldoallofthislocally5and̗withinagroup,gandwhenit'sdonethelistswillremainbutthecounters5willUreturntozero.1rThosesamecounterswillthenbGeusedasweproGcessthetext5ofDythissection,GbuttheassignmentswillbGemadeglobally*.l(Theseinitializations5actuallyjapplytobGothuses,&thoughinallotherrespectsthereshouldbeno5directA-interactionbGetweentheuseofthesecountersandvqariablesinthetwo5proGcessingUUsteps.?\def\beginnumbering{% I\ifnumberingWJ\errmessage{Numberinghasalreadybeenstarted}%WJ\endnumberingI\fiI\global\numberingtrueI\global\advance\section@numby1I\global\absline@num=0I\global\line@num=0gs54 PRELIMINARIES+23oI\global\subline@num=0 I\global\@lock=0I\global\sub@lock=0I\global\sublines@falseI\global\let\next@page@num=\relaxI\global\let\sub@change=\relaxI\message{Section\the\section@num}%I\line@list@stuff{\jobname.\extensionchars\the\section@num}%I\end@stuff}\endnumbering5\endnumberingjmustfollowthelasttextforanumbGeredsection.Ittakescare 5of!notifyingyouwhenchangeshavebGeennotedintheinputthatrequirerunning5theUU lethroughagaintomoveUUeverythingtotherightplace.?\def\endnumbering{% I\ifnumberingR\global\numberingfalseR\normal@parsR\ifx\insertlines@list\empty\else\2\global\noteschanged@trueR\fiR\ifx\line@list\empty\else\2\global\noteschanged@trueR\fiR\ifnoteschanged@\2\immediate\write\sixt@@n{EDMACreminder:}%\2\immediate\write\sixt@@n{Thenumberoffootnotesinthissectionnhaschangedsincethelastrun.}%\2\immediate\write\sixt@@n{YouwillneedtorunTeXtwomoretimesnbeforethefootnoteplacement}%\2\immediate\write\sixt@@n{andlinenumberinginthissectionarencorrect.}%R\fiI\elseR\errmessage{Numberingwasnotstarted}%I\fi}f\pausenumbering ߭ \resumenumbering5The3\pausenumberingmacroisjustthesameas\endnumbering,:}butwiththe 5\ifnumbering"$ agsettotrue,UWtoshowthatnumbGeringcontinuesacrossthe5gap.^25?\def\pausenumbering{\endnumbering\global\numberingtrue}5The\resumenumberingmacroisabitmoreinvolved,)mbutnotmuch.nItdoGes5mostofthesamethingsas\beginnumbering,butwithoutresettingthevqarious5counters.Note{thatnocheckismadeby\resumenumberingtoensurethat5\pausenumberingUUwasactuallyinvoked.?\def\resumenumbering{% I\ifnumberingWJ\global\advance\section@numby1WJ\message{Section\the\section@num\space#(continuingtheprevioussection)}%WJ\line@list@stuff{\jobname.\extensionchars\the\section@num}%WJ\end@stuff5&effv J=w-:25LOurXthankstoWJaÎyneSullivan,whosuggestedtheideaboneverypageusingleftorright;Foryoucanuseinneroroutertoget5themW8intheinneroroutermargins.wp(TheselasttwoW8optionsassumethateven-5numbGered/pageswillbeontheleft-handsideofeveryopeninginyourbook.)5Y*oucanchangethiswithinanumbGeredsection,mbutthechangemaynottake5e ectjustwhenyou'dlike;Hifit'sdonebGetweenparagraphsnothingsurprising5shouldUUhappGen.s55 LINEUUCOUNTINGQ25oDThePselectionisrecordedin\line@margin:(0forleft,1forright,2forouter, 5andUU3forinner. 썑?\newcount\line@margin ?\def\linenummargin#1{{%I\def\@tempa{#1}\def\@tempb{left}%I\ifx\@tempa\@tempb\2\global\line@margin=0I\elseWJ\def\@tempb{right}%WJ\ifx\@tempa\@tempbj0\global\line@margin=1WJ\else`\def\@tempb{outer}%`\ifx\@tempa\@tempbs \global\line@margin=2`\elsej0\def\@tempb{inner}%j0\ifx\@tempa\@tempb}L\global\line@margin=3j0\else}L\edmac@warning{Bad\string\linenummargin\spaceargument.}%j0\fi`\fiWJ\fiI\fi}}Nō\firstlinenumt\linenumincrement5ThefollowingparameterstellEDMACwhichlinesshouldbGeprintedwithline5numbGers.2[\firstlinenumisthenumberofthe rstlineineachsectionthatgets5anumbGer;27\linenumincrementisthedi erencebetweensuccessivenumbGered5lines.!The\initialvqaluesofthesecountersproGducelabelsonlines5,]10,15,etc.5\linenumincrementUUmustbGeatleast1. 썑?\newcount\firstlinenum?\newcount\linenumincrement?\firstlinenum=5?\linenumincrement=5Nō߭ \firstsublinenumƲ\sublinenumincrement5Thehfollowingparametersarejustlike\firstlinenumand\linenumincrement,5butUUforsub-linenumbGers.q\sublinenumincrementUUmustbGeatleast1. 썑?\newcount\firstsublinenum?\newcount\sublinenumincrement?\firstsublinenum=5?\sublinenumincrement=5Nō$\lockdisp\lock@disp5WhenqlineloGckingisbeingused,xthe\lockdispmacrospeci eswhetheraline5numbGer|ifConeisduetoappear|shouldbeprintedonthe rstprintedlineor5onthelast,orbyallofthem.Itsargumentisaword,eitherfirst,last,or5all.qInitially*,UUitissettofirst.D\lock@dispUUencoGdestheselection:q0for rst,1forlast,2forall. 썑?\newcount\lock@disp?\def\lockdisp#1{{%I\def\@tempa{#1}\def\@tempb{first}%I\ifx\@tempa\@tempb\2\global\lock@disp=0^s55 LINEUUCOUNTINGQ26oI\else WJ\def\@tempb{last}%WJ\ifx\@tempa\@tempbj0\global\lock@disp=1WJ\else`\def\@tempb{all}%`\ifx\@tempa\@tempbs \global\lock@disp=2`\elses \edmac@warning{Bad\string\lockdisp\spaceargument.}%`\fiWJ\fiI\fi}}b\sublockdisp \sublock@disp5TheRsamequestionsabGoutwheretoprintthelinenumbGerapplytosub-lines, 5andUUthesearetheanalogousmacrosfordealingwiththeproblem. ?\newcount\sublock@disp?\def\sublockdisp#1{{%I\def\@tempa{#1}\def\@tempb{first}%I\ifx\@tempa\@tempb\2\global\sublock@disp=0I\elseWJ\def\@tempb{last}%WJ\ifx\@tempa\@tempbj0\global\sublock@disp=1WJ\else`\def\@tempb{all}%`\ifx\@tempa\@tempbs \global\sublock@disp=2`\elses \edmac@warning{Bad\string\sublockdisp\spaceargument.}%`\fiWJ\fiI\fi}}b\leftlinenum \rightlinenum L\linenumsep L\numlabfont5\leftlinenumFland\rightlinenumarethemacrosthatarecalledtoprint 5marginalTlinenumbGersTonapage,TDforleft-andright-handmarginsrespectively*.5They're2madeeasytoaccessandchange,)sinceyoumayoftenwanttochange5the*stylinginsomeway*.sFThesestandardversionsillustratethegeneralsortof5thingthatwillbGeneeded; they'rebasedonthe\leftheadlinemacroinThe5TKß'E-Xb}'ook,UUp.416.DWhatever!thesemacrosoutputgetsprintedinabGoxthatwillbGeputintothe5appropriate>marginwithoutanyspacebGetweenitandthelineoftext.BY*ou'll5generally&wantakernbGetweenalinenumbGerandthetext,0and\linenumsepis5providedasastandardwayofstoringitssize.LLLinenumbGersareusuallyprinted5inasmallerfont,Eand\numlabfontisprovidedasastandardnameforthatfont.5Whencalled,thesemacroswillbGeexecutedwithinagroup,sofontchangesand5theUUlikewillremainloGcal. ?\newdimen\linenumsep ?\linenumsep=1pc?\ifx\selectfont\undefinedI\let\numlabfont=\sevenrm?\elses55 LINEUUCOUNTINGQ27oI\def\numlabfont{\fontsize{7}{8pt}\rm} ?\fi?\def\leftlinenum{\numlabfont\the\line@num}L\ifsublines@x\ifnum\subline@num>0*f\unskip\fullstop\the\subline@numx\fi}L\fi}L\kern\linenumsep}?\def\rightlinenum{\kern\linenumsep\numlabfont\the\line@num}L\ifsublines@x\ifnum\subline@num>0*f\unskip\fullstop\the\subline@numx\fi}L\fi}655.2SListmacrosuT5W*e@willmakeheavyuseoflistsofinformation,whichwillbGebuiltupandtaken 5aparth!bythefollowingmacros;3theyareadaptedfromTheTKß'E-Xb}'ook,pp.378{379,5whichUUdiscussestheiruseinmoredetail.DThesevWmacrosconsumealargeamountoftherun-timeofthiscoGde.W*e5intendBAtoreplacetheminafutureversion,Fandinanticipationofdoingsohave5de nedJtheirinterfaceinsuchawaythatitisnotsensitivetodetailsofthe5underlyingUUcoGde.b\list@create5The\list@createmacrocreatesanewlist. +InthisversionofEDMACDthis5macro~-doGesn'tdoanythingbeyondinitializinganemptylistmacro,5butinfuture5versionsUUitwilldomore.?\def\list@create#1{\global\let#1=\empty}L\list@clear5Them\list@clearmacrojustinitializesalisttotheemptylist;inthisversion5ofUUEDMACitisnodi erentfrom\list@create.?\def\list@clear#1{\global\let#1=\empty}9\xright@appenditem 3P\@toksa 3P\@toksb5\xright@appenditem$expandsanitemandappGendsittotherightendofalist5macro.ZW*ewanttheexpansionbGecausewe'lloftenbGeusingthistostorethe5currentmvqalueofacounter.Itcreatesglobalcontrolsequences,like\xdef,and5usesUUtwotempGorarytoken-listregisters,\@toksaand\@toksb.?\newtoks\@toksa\newtoks\@toksb ?\global\@toksa={\\}?\long\def\xright@appenditem#1\to#2{%I\global\@toksb=\expandafter{#2}%I\xdef#2{\the\@toksb\the\@toksa\expandafter{#1}}%I\global\@toksb={}}t\xleft@appenditem5\xleft@appenditem޲expandsanitemandappGendsittotheleftendofalist 5macro;UUitisotherwiseidenticalto\xright@appenditem.?\long\def\xleft@appenditem#1\to#2{%I\global\@toksb=\expandafter{#2}%I\xdef#2{\the\@toksa\expandafter{#1}\the\@toksb}%I\global\@toksb={}}s55 LINEUUCOUNTINGQ28o|\gl@p5The\gl@pmacroremovestheleftmostitemfromalistandplacesitinacontrol 5sequence.Y*ousay\gl@p\l\to\z(where\listhelistmacro,ͻand\zreceives5theleftitem).BN\lisassumednonempty:*say\ifx\l\emptytotestforanempty5\l.qTheUUcontrolsequencescreatedby\gl@pareallglobal.?\def\gl@p#1\to#2{\expandafter\gl@poff#1\gl@poff#1#2} ?\long\def\gl@poff\\#1#2\gl@poff#3#4{\gdef#4{#1}\gdef#3{#2}}655.3SLine-numb`ercountersandlistsuT5F*oGotnote?Freferencesusinglinenumbers?Fratherthansymbolscan'tbegenerated5inonepass,)bGecausewedon'tknowthelinenumbGerstillweshipoutthepages.5It wouldbGepossibleiffootnoteswereneverkeyedtomorethanoneline;+cbut5somepfoGotnotesglosspassagesthatmayrunforseverallines,andtheymust5bGeMtiedtothe rstlineofthepassageglossed.Andevenone-linepassages5requiretwopassesifwewantline-pGer-pagenumbGeringratherthanline-per-5sectionUUnumbGering.DSoDwerunTU>'ExXoverthetextseveraltimes,andeachtimesaveinformation5abGoutipageandlinenumbersiina\line-list le"tobeusedduringthenextpass.5Ațthestartofeachsection|whenever\beginnumberingisexecuted|theline-5listH leforthatsectionisread,andtheinformationfromitisencoGdedintoa5fewUUlistmacros.DW*eZneed rsttode nethedi erentlinenumbGersthatareinvolvedinthese5macros,UUandtheassoGciatedcounters.$\line@num5Theݼ\line@numcounterstoresthelinenumbGerthat'susedinmarginalline5numbGering5andinnotes:acountingeitherfromthestartofthepageorfromthe5startOofthesection,SdepGendingonyourchoiceforthissection.`ThismaybGe5quali edUUby\subline@num.?\newcount\line@numb\subline@num5The|\subline@numcounterstoresasub-linenumbGerthatquali es\line@num.5F*orexample,Lline10mighthavesub-linenumbGers1,L2and3,whichmightbGe5printedUUaslines10:1,10:2,10:3.?\newcount\subline@numb\ifsublines@ 6\sublines@truef\sublines@false5W*eCmaintainanassoGciated ag,Ga\ifsublines@,toCtelluswhetherwe'rewithin5aUUsub-linerangeornot.DY*oumaywonderwhywedon'tjustusethevqalueof\subline@numtodeter-5mine2xthis|treatinganythinggreaterthan0asanindicationthatsub-lineation5isNgon.oxW*eneedaseparate agbGecausesub-lineationcanbeusedtogetherwith5line-numbGer[lockinginoddways:severalpiecesofalogicallinemightbGein-5terrupted/bypiecesofsub-lineatedtext,andthosesub-linenumbGersshouldnot5return+0tozerountilthenextchangeinthema8jorlinenumbGer.cThisiscommon5inpthetypGesettingofEnglishRenaissanceversedrama,inwhichstagedirections5are*givensub-linenumbGers:\'asinglelineofversemaybGeinterruptedbyseveral5stageUUdirections.?\newif\ifsublines@b\absline@num5The\absline@numcounterstorestheabsolutenumbGeroflinessincethestartof5thePsection: Ethatis,QthenumbGerPwe'veactuallyprinted,QnomatterwhatnumbGersŅs55 LINEUUCOUNTINGQ29o5weattachedtothem.|Thisvqalueisneverprintedonanoutputpage,/Qthough 5\line@num.willoftenbGeequaltoit.dItisusedinternallytokeeptrackofwhere5notes"aretoappGearandwherenewpagesstart: +usingthisvqalueratherthan5\line@numisalotsimpler,bGecauseitdoesn'tdependonthelineationsystem5inUUuse. 淍?\newcount\absline@num%DW*e'llt*bGecalling\absline@numnumberst*\absolute"numbers,3andt*\line@num5andUU\subline@numnumbGersUU\visible"numbers.\@lock$\sub@lock5Thej\@lockand\sub@lockcounterstellusthestateofline-numbGerandsub-5line-numbGer?locking.0meanswe'renotwithinaloGckedsetoflines;a1means5we'reG}atthe rstlineintheset;L2,JBatsomeintermediateline;Land3,JBatthelast5line. 淍?\newcount\@lock ?\newcount\sub@lock\line@listt\insertlines@listt\actionlines@list\actions@list5Nowwecande nethelistmacrosthatwillbGecreatedfromtheline-list le.FW*e5willUUmaintainthefollowinglists:܍DN\line@list:the>pageandlinenumbGers>foreverylemmamarkedby\text.NThereUUaresevenpiecesofinformation,separatedbyverticalbars:nW81.dtheUUstartingpage, 6W82.dline,UUandW83.dsub-lineUUnumbGers,followedbytheW84.dendingUUpage,W85.dline,UUandW86.dsub-lineUUnumbGers,andthentheW87.dfontUUspGeci erforthelemma.NTheselinenumbGersareallvisiblenumbers.CThusalemmathatstarted Non"page23,V=line35andwent"onuntilpage24,line3(withnosub-lineNnumbGering),and|wastypGesetinafontfrom\fam0wouldhavealinelistNentryflikethis:v23|35|0|24|3|0|0."AfterNthe'ExXonthis le,the5informationfromtheline-listusedtoplacethenoteswillbGewrong,andsome5notes5willprobablybGemisplaced.LWhenthishappens,weprefertogiveasingle5errorxmessageforthewholesectionratherthanmessagesateverypGointwhere5we noticetheproblem,bGecausewedon'treallyknowwhereinthesectionnotes5werekaddedorremoved,qNandthesolutioninanycaseissimplytorunTU>'ExXtwo5moretimes; there'sno xneededtothedoGcument.=The\ifnoteschanged@ ag5isUUsetifsuchachangeinthenumbGerofnotesisdiscoveredatanypGoint. ?\newif\ifnoteschanged@55.4SReadingtheline-list leuT 6\read@linelistb\@inputcheck5\read@linelistSisthecontrolsequencethat'scalledby\beginnumbering(via5\line@list@stuff)atoopGenandprocessaline-list le;gitsargumentisthe5name$ofthe le,.whichwillbGeopenedonstream\@inputchecktocheck$forits5existence.qTheUU rstthingwedoisinitializeallthelistswejustdescribGed.?\newread\@inputcheck ?\def\read@linelist#1{%I\list@clear{\line@list}%I\list@clear{\insertlines@list}%I\list@clear{\actionlines@list}%I\list@clear{\actions@list}%DT*ryUUtoopGentheline-list le,asacheckUUonwhetheritexists.I\openin\@inputcheck=#1I\ifeof\@inputcheckR\edmac@warning{Can'tfindline-listfile#1}%R\global\noteschanged@trueI\else s55 LINEUUCOUNTINGQ32oR\global\noteschanged@false R\closein\@inputcheckDThe le'sthere.:W*estartanewgroupandmakesomespGecialde nitions 5we'llWSneedtoproGcessit:uit'sasequenceofTU>'ExXcommands,buttheyrequire5afewspGecialsettings.W*emake[and]becomegroupingcharacters:they're5usedhthatwayhintheline-list le,mbGecauseweneedtowritethemoutoneata5timeoratherthaninbalancedpairs,andit'seasiertojustusesomethingother5than/realbraces.e@mustbGecomealetter,6sincethisisrunintheordinaryTU>'ExX5context.1W*e^ignorecarriagereturns,a,sinceifwe'reinhorizontalmoGdetheycan5getUUinterpretedasspacestobGeprinted.I\begingroupWJ\catcode`\[=1\catcode`\]=2WJ\makeatletter\catcode`\^^M=9DOur8line,qpage,andline-loGckingcounterswerealreadyzeroGedby\line@list@stuff5ifpthisisbGeingcalledfromwithin\beginnumbering;sub-lineationwillbeturned5o aswellinthatcase. Ontheotherhand, ifthisisbGeingcalledfrom5\resumenumbering,thosethingsshouldstillhavethevqaluestheyhadwhen5\pausenumberingUUwasexecuted.DNow,UUafterthesepreliminaries,westartinterpretingthe le.WJ\input#1I\endgroupDdD\fiDWhenthe\inputisdone, we'reallthroughwiththeline-list le.#nAllthe5informationUUweneededfromitwillnowbGeencodedinourlistmacros.DFinally*,qweginitializethe\next@actionlineand\next@actionmacros,5whichUUspGecifywhereandwhatthenextactiontobetakenis.I\global\page@num=-1I\ifx\actionlines@list\empty\2\gdef\next@actionline{1000000}%I\else\2\gl@p\actionlines@list\to\next@actionline\2\gl@p\actions@list\to\next@actionI\fi}DThis\sversionof\read@linelistcreateslistmacroscontainingdataforthe5entire section,6sotheycouldgetratherlarge.ItwouldbGenomoredicultto5read xtheline-list leincrementallyratherthanallatonce: wecouldread,7at5thexstartofeachparagraph,onlythecommandsrelatingtothatparagraph,5using\read.Butthiswouldrequirethatwehavetwoline-listsopGenatonce,5one]Iforreading,_Foneforwriting,andonsystemswithoutversionnumbGerswe'd5haveZtodosome lerenamingoutsideofTU>'ExXforthattowork.W*e'veZretained5thisslowerapproachtoavoidthatsortofhackingabGout,buthaveprovidedthe5\pausenumberingגּand\resumenumberingmacrostohelpyouifyouruninto5macroUUmemorylimitations(seep.8abGove).655.5SCommandswithintheline-list leuT5This5Rsectionde nesthecommandsthatcanappGearwithinaline-list le.gThey5allRhaveveryshortnamesbGecausewearelikelytobGewritingverylargenumbGers!Ss55 LINEUUCOUNTINGQ33o5ofLithemout.WOnemacro,.\@l,isLiespGeciallyshort,.sinceitwillbewrittento 5thewuline-list leonceforeverylineoftextinanumbGeredsection.&(Another5ofhthesecommands,ҭ\@lab,willhbGeintroducedinalatersection,ҭamongthe5cross-referencingUUcommandsitisassoGciatedwith.)DWhenathesecommandsmoGdifythevqariouspageandlinecounters,etheyde-5libGerately.donotsay\global.dThisisbecausewewantthemtoa ectonlythe5counter+vqalueswithinthecurrentgroupwhennestedcallsof\@refoGccur.O(The5coGdeUUassumesthroughoutthatthevqalueof\globaldefsiszero.)DThemacroswithactionintheirnamescontainallthecoGdethatmodi es5theWaction-coGdelist:again,thisissothattheycanbeturnedo easilyfornested5callsUUof\@ref.@\@l5\@lUUdoGeseverythingrelatedtothestartofanewlineofnumbGeredtext.DFirstincrementtheabsoluteline-numbGer,_andperformdeferredactionsre-5latingUUtopagestartsandsub-lines. ?\def\@l{\advance\absline@numby1 j0\ifx\next@page@num\relax\else}L\page@action}L\let\next@page@num=\relaxj0\fij0\ifx\sub@change\relax\elsex]\ifnum\sub@change>0x\sublines@truex]\elsex\sublines@falsex]\fix]\sub@actionx]\let\sub@change=\relaxj0\fiDFixtheloGckcounters,ifnecessary*.OAvqalueof1isadvancedto2;3advances 5toUU0;othervqaluesareunchanged.j0\ifcase\@lockx]\orx\@lock=2x]\or\orx\@lock=0j0\fij0\ifcase\sub@lockx]\orx\sub@lock=2x]\or\orx\sub@lock=0j0\fiDNowUUadvqancethevisiblelinenumbGer,unlessit'sbeenlocked.j0\ifsublines@\ifnum\sub@lock<2D\advance\subline@numby1\fij0\else\ifnum\@lock<2D\advance\line@numby1\subline@num=0\fi"s55 LINEUUCOUNTINGQ34oj0\fi}\@page5\@pagemarksthestartofanewoutputpage;RbitsargumentisthenumbGerof 5thatUUpage.DFirstweresetthevisiblelinenumbGers,ifwe'renumbGeringbypage,andstore5theUUpagenumbGerUUitselfinacounter.?\def\@page#1{\ifbypage@ }L\line@num=0\subline@num=0s \fis \page@num=#1DAndweseta agthattells\@lthatanewpagenumbGeristobeset,}because 5otherUUassoGciatedactionsshouldn'toccuruntilthenextline-startoccurs.s \def\next@page@num{#1}} 3P\sub@ony\sub@off5The\sub@onand\sub@offmacrosturnsub-lineationonando :butnot5directly*,`sinceܑsuchchangesdon'treallytakee ectuntilthenextlineoftext.5InsteadUUtheyseta agthatnoti es\@lofthenecessaryaction.?\def\sub@on{\ifsublines@ WJ\let\sub@change=\relaxI\elseWJ\def\sub@change{1}%I\fi}?\def\sub@off{\ifsublines@WJ\def\sub@change{-1}%I\elseWJ\let\sub@change=\relaxI\fi}|\@adv5The\@advmacroadvqancesthecurrentvisiblelinenumbGerbytheamountspGec- 5i edUUasitsargument.qThisisusedtoimplement\advanceline.?\def\@adv#1{\ifsublines@`\advance\subline@numby#1`\ifnum\subline@num<0n\edmac@warning{\string\advanceline\spaceproducedasub-linenumberlessthanzero.}%n\subline@num=0`\fiI\else`\advance\line@numby#1`\ifnum\line@num<0n\edmac@warning{\string\advanceline\spaceproducedalinenumberlessthanzero.}%n\line@num=0`\fiI\fiI\set@line@action}|\@set5The\@setmacrosetsthecurrentvisiblelinenumbGertothevqaluespeci edas 5itsUUargument.qThisisusedtoimplement\setline.?\def\@set#1{\ifsublines@R\subline@num=#1I\else#Ġs55 LINEUUCOUNTINGQ35oR\line@num=#1 I\fiI\set@line@action}b\page@action5\page@actionraddsanentrytotheaction-coGdelisttochangethepagenumbGer.?\def\page@action{%I\xright@appenditem{\the\absline@num}\to\actionlines@listI\xright@appenditem{\next@page@num}\to\actions@list}߭ \set@line@action5\set@line@actionaddsanentrytotheaction-coGdelisttochangethevisible 5lineUUnumbGer.?\def\set@line@action{%I\xright@appenditem{\the\absline@num}\to\actionlines@listI\ifsublines@`\@tempcnta=-\subline@numI\else`\@tempcnta=-\line@numI\fiI\advance\@tempcntaby-5000I\xright@appenditem{\the\@tempcnta}\to\actions@list}L\sub@action5\sub@actionUaddsanentrytotheaction-coGdelisttoturnsub-lineationonor 5o ,UUaccordingtothecurrentvqalueofthe\ifsublines@ ag.?\def\sub@action{%I\xright@appenditem{\the\absline@num}\to\actionlines@listI\ifsublines@\2\xright@appenditem{-1001}\to\actions@listI\else\2\xright@appenditem{-1002}\to\actions@listI\fi}y\lock@on \do@lockon5\lock@onPhaddsanentrytotheaction-coGdelisttoturnlinenumbGerlockingon. 5Thejcurrentsettingofthesub-lineation agtellsuswhetherthisappliestoline5numbGersUUorsub-linenumbers.DAddingcommandstotheactionlistisslow,andit'sveryoftenthecasethat5aZloGck-oncommandisimmediatelyfollowedbyaloGck-o commandintheline-5listB le,FRandthereforereallydoGesnothing.kW*eusealook-aheadschemehereto5detectUUsuchpairs,andaddnothingtotheline-listinthosecases.?\def\lock@on{\futurelet\next\do@lockon} ?\def\do@lockon{%I\ifx\next\lock@offWJ\global\let\lock@off=\skip@lockoffI\elseWJ\xright@appenditem{\the\absline@num}\to\actionlines@listWJ\ifsublines@`\xright@appenditem{-1005}\to\actions@list`\ifcase\sub@lockn\sub@lock=1`\elsen\sub@lock=0`\fiWJ\else`\xright@appenditem{-1003}\to\actions@list$!ss55 LINEUUCOUNTINGQ36o`\ifcase\@lock n\@lock=1`\elsen\@lock=0`\fiWJ\fiI\fi}Ǎ$\lock@off L\do@lockoff \skip@lockoff5\lock@off㍲addsanentrytotheaction-coGdelisttoturnlinenumbGerlockingo . ?\def\do@lockoff{%I\xright@appenditem{\the\absline@num}\to\actionlines@listI\ifsublines@R\xright@appenditem{-1006}\to\actions@listR\ifnum\sub@lock=2`\sub@lock=3R\else`\sub@lock=0R\fiI\elseR\xright@appenditem{-1004}\to\actions@listR\ifnum\@lock=2`\@lock=3R\else`\@lock=0R\fiI\fi}?\def\skip@lockoff{\global\let\lock@off=\do@lockoff}?\global\let\lock@off=\do@lockoff|\@ref \insert@count5\@refݪmarksthestartofapassage,forcreationofafoGotnotereference.IIttakes 5twoUUarguments:b_DN#1,1thenumbGerofentriestoaddto\insertlines@listforthisreference.NThisvqalue,@hereandwithin\text,whichcomputesitandwritesittotheNline-listUU le,willbGestoredinthe\insert@countcounter.1/X\newcount\insert@count{DN#2,(Iasequenceofotherline-list- lecommands,executedtodeterminetheNendinglline-numbGer.(Thismayalsoincludeother\@refcommands,qcor-NrespGondingStousesof\textwithinthe rstargumentofanotherinstanceNofUU\text.)\dummy@ref5Whentnestingof\@refcommandsdoGesoccur,it'snecessarytotemporarily5rede neUU\@refwithin\@ref,sothatwe'reonlydoingoneoftheseatatime. ?\def\dummy@ref#1#2{#2}DThe rstthing\@refitselfdoGesistoaddthespeci ednumberofitemsto5theUU\insertlines@listlist. ?\def\@ref#1#2{% I\global\insert@count=#1I\loop\ifnum\insert@count>0R\xright@appenditem{\the\absline@num}\to\insertlines@listR\global\advance\insert@countby-1I\repeat%*ݠs55 LINEUUCOUNTINGQ37oDNext,?3proGcess9thesecondargumenttodeterminethepageandlinenumbGers 5for(theendofthislemma.@W*etempGorarilyequate\@reftoadi erentmacro5thatVijustexecutesitsargument,esothatnested\@refcommandsarejustskippGed5thistime.9SomeothermacrosneedtobGetemporarilyrede nedtosuppresstheir5action. RI\begingroup R\let\@ref=\dummy@refR\let\page@action=\relaxR\let\sub@action=\relaxR\let\set@line@action=\relaxR\let\@lab=\relaxR#2R\global\endpage@num=\page@numR\global\endline@num=\line@numR\global\endsubline@num=\subline@numI\endgroupRDNow[storealltheinformationabGoutthelocationofthelemma'sstartand 5endUUin\line@list.R\xright@appenditem%\2{\the\page@num|\the\line@num|%`\ifsublines@\the\subline@num\else0\fi|%`\the\endpage@num|\the\endline@num|%`\ifsublines@\the\endsubline@num\else0\fi}\to\line@listRDFinally*,4xexecute,@thesecondargumentof\@refagain,topGerformforrealall 5theUUcommandswithinit.I#2}55.6SWritingtotheline-list leuT5W*e'vetnowde nedallthecounters,nlists,andcommandsinvolvedinreadingthe5line-list leatthestartofasection.[Nowwe'llcoverthecommandsthatEDMAC5usesUUwithinthetextofasectiontowritecommandsouttotheline-list.b\linenum@out5TheUU lewillbGeopenedonoutputstream\linenum@out.?\newwrite\linenum@out \iffirst@linenum@out@ \first@linenum@out@true Z\first@linenum@out@false5Onceany leisopGenedonthisstream,wekeepitopGenforever,orelseswitchto 5anotherho lethatwekeepopGen.Thereasonisthatwewanttheoutputroutine5to^writethepagenumbGer^foreverypagetothis le;Lotherwisewe'dhaveto5write^iitatthestartofeveryline.Butit'snotveryeasyfortheoutputroutine5to)tellwhetheranoutputstreamisopGenornot.?There'snoway)totestthe5status1ofaparticularoutputstreamdirectly*,%andtheasynchronousnatureof5outputUUroutinesmakesthestatushardtodeterminebyothermeans.DW*ecanmanageprettywellbymeansofthe\iffirst@linenum@out@ ag;5itsinelegantnamesuggeststhenatureoftheproblemthatmadeitscreation5necessary*.!It'sWsettobGetruebeforeany\linenum@out leisopened.!When5sucha leisopGenedforthe rsttime,Iit'sdoneusing\immediate,sothatit5willQatoncebGesafefortheoutputroutinetowritetoit;Pwethensetthis ag5toUUfalse.?\newif\iffirst@linenum@out@ ?\first@linenum@out@true&3s55 LINEUUCOUNTINGQ38o߭ \line@list@stuff5TheX\line@list@stuffmacro,Ywhichiscalledby\beginnumbering,YpGerforms 5all{theline-listopGerationsneededatthestartofasection.Itsargumentisthe5nameUUoftheline-list le.?\def\line@list@stuff#1{%DFirst,.Fuse$thecommandsoftheprevioussectiontointerprettheline-list le5fromUUthelastrun.I\read@linelist{#1}%DNowu7closethecurrentoutputline-list le,}0ifany*,}0andopGenanewone.nThe5 rst.timeweopGenaline-list leforoutput,dJwedoitusing\immediate,dJand5clearUUthe\iffirst@linenum@out@ ag.I\iffirst@linenum@out@ WJ\immediate\closeout\linenum@outWJ\global\first@linenum@out@falseWJ\immediate\openout\linenum@out=#1I\else5Ifwegethere,thenthisisnotthe rstline-listwe'veseen,sowedon'topGen 5or.closethe lesimmediately*.dWe.alsoneedtoinserta\@pagecommand,6bsince5thisUUmightbGegininthemiddleofapage.WJ\closeout\linenum@out WJ\openout\linenum@out=#1WJ\page@startI\fi}$\new@line5TheF\new@linemacrosendsthe\@lcommandtotheline-list le,Itomarkthe 5startUUofanewtextline.?\def\new@line{\write\linenum@out{\string\@l}}L\flag@start $\flag@end5W*eenclosealemmamarkedby\textin\flag@startand\flag@end:Sthese 5sendthe\@refcommandtotheline-list le.SM\textisrespGonsibleforsetting5theLvqalueof\insert@countappropriately;Oitactuallygetsdonebythevarious5foGotnoteUUmacros.?\def\flag@start{% I\edef\next{\write\linenum@out{%:\string\@ref[\the\insert@count][}}%I\next}?\def\flag@end{\write\linenum@out{]}}L\page@start5\page@start޲writesacommandtotheline-list lenotingthecurrentpage 5numbGer.Whenusedwithinanoutputroutine,=Nthisshouldbecalledsoasto5placeits\writewithinthebGoxthatgetsshippedout,andasclosetothetop5ofUUthatbGoxaspossible.?\def\page@start{% I\iffirst@linenum@out@\elseR\write\linenum@out{\string\@page[\the\pageno]}%I\fi}$\startsub 3P\endsub5\startsubwand\endsubturnsub-lineationonando ,οbywritingappropriate 5instructionsetotheline-list le.WWhensub-lineationisine ect,thelinenumbGer5counterisfrozenandthesub-linecounteradvqancesinstead.Ifoneofthese5commandsappGearsinthemiddleofaline,Titdoesn'ttakee ectuntilthenext'@s56 MARKINGUUTEXTFORNOTES<^39o5line;0=inotherwords,(alineiscountedasalineorsub-linedepGendingonwhatit 5startedUUoutas,evenifthatchangesinthemiddle.DW*etinkerwith\lastskipbGecauseacommandofeithersortreallyneeds5tobGeattachedtothelastwordprecedingthechange,notthe rstwordthat5followsthechange.pThisisbGecausesub-lineationwilloftenturnonando in5mid-line|stagedirections,forexample,oftenaremixedwithdialogueinthat5way|andwhenalineismixedwewanttolabGelitusingthesystemthatwas5ine ectatitsstart.{Butwhensub-lineationbGeginsattheverystartofaline5weUUhaveaproblem,ifwedon'tputinthiscoGde.?\def\startsub{\dimen0\lastskip I\ifdim\dimen0>0pt\unskip\fiI\write\linenum@out{\string\sub@on}%I\ifdim\dimen0>0pt\hskip\dimen0\fi}?\def\endsub{\dimen0\lastskipI\ifdim\dimen0>0pt\unskip\fiI\write\linenum@out{\string\sub@off}%I\ifdim\dimen0>0pt\hskip\dimen0\fi}b\advanceline5Y*oud&canuse\advancelineinrunningtexttoadvqancethecurrentvisibleline- 5numbGerUUbyaspGeci edvqalue,positiveornegative.?\def\advanceline#1{\write\linenum@out{\string\@adv[#1]}}y\setline5Y*ou>[canuse\setlineinrunningtexttosetthecurrentvisibleline-numbGerto 5aUUspGeci edpositivevqalue.?\def\setline#1{% I\ifnum#1<0R\edmac@warning{Badsetlineargument.}%I\elseR\write\linenum@out{\string\@set[#1]}%I\fi}\startlock y\endlock5Y*ouwcanuse\startlockor\endlockinrunningtexttostartorendlinenum- 5bGerlockingatthecurrentline.TheydecidewhetherlinenumbGersorsub-line5numbGersFarea ected,Idependingonthecurrentstateofthesub-lineation ags.?\def\startlock{\write\linenum@out{\string\lock@on}} ?\def\endlock{\write\linenum@out{\string\lock@off}}!č56MLMarkingfftextfornotes5The\textmacroisusedtocreateallfoGotnotesandendnotes,ңaswellastoprint5therpGortionofthemaintexttowhichagivennoteornotesiskeyed.uTheidea5isѐtohaveѐthatlemmaappGearonlyonceinthe.tex le:j=allinstancesofitin5theUUmaintextandinthenotesarecopiedfromthatoneappGearance.D\text requirestwo arguments.`;AtanypGointwithinnumbGeredtext,+9youuse5itUUbysaying:L\text{#1}{#2}/5where(Ks56 MARKINGUUTEXTFORNOTES<^40oDN#1isthepieceofthemaintextbGeingglossed;.itgetsaddedtothemain Ntext,UUandisalsousedasalemmafornotestoit.ȍDN#2Eisaseriesofsubsidiarymacrosthatgeneratevqariouskindsofnotes.ATheN/Pafter#2must(appGear:itmarkstheendofthemacro.6(TheTKß'E-Xb}'ook,Np.204,pGointso;outthatwhenadditionaltexttobematchedfollowstheNargumentshlikethis,spacesfollowingthemacroarenotskippGed,whichNisverydesirablesincethismacrowillneverbGeusedexceptwithintext.NHaving anexplicitterminatoralsohelpskeepthingsstraightwhennestedNcallsUUto\textareused.)qBracesaround#2areoptional.DTheVs\textmacromaybGeused(somewhat)recursively;ithatis,m\textmaybGe5used>withinitsown rstargument.ThecoGdewouldbGemuchsimplerwithout5this'feature,UbutnestednoteswillcommonlybGenecessary:kit'squitelikely5that$we'llhaveanexplanatorynoteforalongpassageandnotesonvqariants5forindividualwordswithinthatpassage. iThesituationwecan'thandleis5overlappingnotesthataren'tnested:7forexample,Ьonenotecoveringlines10{515,Mand anothercovering 12{18.FY*oucanhandlesuchcasesbyusingthe\lemma5and.Z\linenummacroswithin#2:^Itheyalterthecopyofthelemmaandtheline5numbGersKthatarepassedtothenotes,>andhenceallowyoutoovercomeany5limitationsUUofthissystem,albGeitwithextrae ort.DThe#recursiveopGerationof\textwillfailifyoutrytouseacopythatis5calledsomethingotherthan\text.AyInordertohandlerecursion,\textneeds5torede neitsownde nitiontempGorarilyatonepoint,andthatdoesn'twork5ifthemacroyouarecallingisnotactuallynamed\text._EThere'snoproblem5aslongas\textisnotinvokedinthe rstargument._:Ifyouwanttocall\text5somethinguelse,jitisbGesttocreateinsteadamacrothatexpandstoaninvocation5of:\text,sSratherthancopying\textandgivingitanewname;otherwiseyouwill5needUUtoaddanappropriatede nitionforyournewmacroto\morenoexpands.DSideee ectsofourline-numbGeringecodemakeitimpossibletousetheusual5foGotnoteTmacrosdirectlywithinaparagraphwhoselinesarenumberedT(seecom-5ments~to\do@line,p.48).Instead,the~appropriatenote-generatingcommand5isxappGendedtothelistmacro\inserts@list,andwhen\pendcompletesthe5paragraphUUitinsertsallthenotesatthepropGerplaces.DNote>@thatwedon'tprovideprevious-noteinformation,x{althoughit'soften5wanted;your2ownmacrosmusthandlethat.^W*ecan'tdoitcorrectlywithout5keeping trackofwhatkindofnoteshavegonepast:4it'snotjustamatterof5remembGeringXthelinenumbGersassociatedwiththepreviousinvocationXof\text,5bGecauseߋthatmighthavebGeenforadi erentkindofnote.jItispreferablefor5yourfoGotnotemacrostostoreandrecallthiskindofinformationiftheyneedit.DAnexamplewheresome\memory"oflinenumbGersmightbGerequiredis5where˗thereareseveralvqariantreadingspGerlineoftext,(andyoudonotwish5theWlinenumbGerWtoberepeatedforeachlemmainthenotes.xkAfterthe rst5oGccurrenceofthelinenumber,youmightwantthesymbGol\k"insteadoffurther5oGccurrences,forinstance.likefoGotnotenumbGers.SuchnumbGersarenotimplemented5inothecurrentversion,v5andindeednouseiscurrentlymadeof\end@lemmasor5of'ExXmacroofthesamename.?\def\@gobble#1{}L\no@expands 6\morenoexpands5W*eWneedtoturno macroexpansionforcertainsortsofmacroswe'relikelyto5seeUUwithinthelemmaandwithinthenotes.DTheM rstclassisfont-changingMmacros.oW*esuppressexpansionforthemby5lettinguthembGecomeequaltozero.^26 иThisisdonebecausewewanttopassinto5ournotesthegenericcommandstochangetoromanorwhatever,andnottheir5expansionsAthatwillaskforaparticularstyleataspGeci edsize.NThenotesmay5wellxbGeinasmallerfont,usothecommandshouldbGeexpandedlater,whenthe5note'sUUenvironmentisine ect.5ffffv J=w-:26LSince/\conÎtrolsequencesequivalenttocharactersarenotexpandable"|TheTgEBLXbookr, answÎerXtoExercise20.14.*i2s56 MARKINGUUTEXTFORNOTES<^42oDAN_secondNasorttoturno includesafewoftheaccentmacros.ovMostarenot 5aa\problem:anaccentthat'sexpandedtoan\accentcommandmaybGeharder5toreadbutitworksjustthesame.DTheonesthatcauseproblemsare:those5thatusealignments|TU>'ExXseemstogetconfusedabGoutthedi erencebetween5alignment']parametersandmacroparameters;6thosethatusetempGorarycontrol5sequences;UUandthosethatloGokcarefullyatwhatthecurrentfontis.D(The\copyrightmacrode nedinPlainTU>'ExXhasthissortofproblemas5well,Ybut%&isn'tusedenoughtobGotherwith.;Thatmacro,andanyotherthat5causestrouble,}willgetbyallrightifyouputa\noexpandinfrontofitinyour5 le|orUUa\protectifyou'reusingNFSS.)DW*eWalsoneedtoeliminateallEDMACWmacroslike\labeland\setlinethat5writeothingstoauxiliary les:thatwritingshouldbGedoneonlyonce.;Andwe5make}\textitself,ifitappGearswithinitsownargument,donothingbutcopy5itsUU rstargument.DFinally*,%~weexecute\morenoexpands.e^Theversionof\morenoexpandsde-5 nedXheredoGesnothing;`Zbutyoumayde neaversionofyourownwhenyou5need toaddmoreexpansionsuppressionsasneededwithyourmacros.5That5makesAitpGossibletomakesuchadditionswithoutneedingtocopyormoGdify5thestandardEDMACrcoGde.IIfyoude neyourown\morenoexpands,youmust5bGej6verycarefulaboutspaces:ifthemacroaddsanyspacestothetextwhenit5runs,UUextraspacewillappGearinthemaintextwhen\textisused.D(Aղrelatedproblem,Snotaddressedbythesetwomacros,Sisthatofcharacters5whosecategorycoGdeischangedbyanythemacrosusedintheargumentsto5\text.|SinceOsthecategorycoGdesaresetwhentheargumentsarescanned,macros5thatLdepGendonchangingthemwillnotwork.nW*ehavemostoftenencountered5thisowithcharactersthataremade\active"withintextinsome,N5butnotall,5ofthelanguagesusedwithinthedoGcument.tOnewayaroundtheproblem,+if5ittakesthisform,ފistoensurethatthosecharactersarealways:active;within5languagesjthatmakenospGecialuseofthem,p.theirassociatedcontrolsequences5shouldUUsimplyreturnthepropGercharacter.) ?\def\no@expands{\let\rm=0\let\it=0\let\sl=0\let\bf=0\let\tt=0% I\let\b=0\let\c=0\let\d=0\let\t=0%I\let\select@@lemmafont=0%I\def\protect{\noexpand\protect\noexpand}%I\let\startsub=\relax s,\let\endsub=\relaxI\let\startlock=\relax\let\endlock=\relaxI\let\label=\@gobble,\let\pageref=\@gobbleI\let\lineref=\@gobble\let\sublineref=\@gobbleI\let\setline=\@gobble\let\advanceline=\@gobbleI\let\text=\dummy@textI\morenoexpands}?\let\morenoexpands=\relax͍|\text5Noẅ́webGegin\textitself.DThede nitionrequiresa/afterthearguments:-this 5eliminatessthepGossibilityofproblemsaboutknowingwhere#2ends.ͥThisalso5changesthehandlingofspacesfollowinganinvoGcationofthemacro:normally5suchspacesareskippGed,butinthiscasethey'resigni cantbGecause#2isa5\delimited-parameter".Since\textisalways-usedinrunningtext,citseems5moreUUappropriatetopayattentiontospacesthantoskipthem.DWhenUUexecuted,\text rstensuresthatwe'reinhorizontalmoGde.?\long\def\text#1#2/{\leavevmode+yms56 MARKINGUUTEXTFORNOTES<^43o|\@tag5Ournormallemmaisjustargument#1;Jbutthatargumentcouldhavefurther 5invoGcations.of\textwithinit.dW*egetacopyofthelemmawithoutany\text5macrosfwithinitbytempGorarilyrede ning\texttojustcopyits rstargument5andUUignoretheother,andthenexpand#1into\@tag,ourlemma.DThis[isdonewithinagroupthatstartshere,ninordertogettheoriginal5\textrestored;ͤwithinthisgroupwe'vealsoturnedo theexpansionofthose5controlUUsequencescommonlyfoundwithintextthatcancausetroubleforus. I\begingroup R\no@expandsR\xdef\@tag{#1}%"\@nums5PreparermoredataforthebGene tofnote-generatingmacros:5thelinereferences 5andUUfontspGeci erforthislemmagoto\@nums.R\set@lineD\insert@count}willbGealteredbythenote-generatingmacros:Jitcountsthe 5numbGer؍ofdeferredfootnotesorotherinsertionsgeneratedbythisinstanceof5\text.R\global\insert@count=0DNowproGcessthenote-generatingmacrosinargument#2(i.e.,\Afootnote,5\lemma,ٯetc.).>B\ignorespacesƲisheretoskipoveranyspacesthatmightappGear5atthestartof#2;otherwisetheywindupinthemaintext.QF*oGotnoteandother5macrosx9thatareusedwithin#2shouldallendwith\ignorespacesaswell,to5skipUUanyspacesbGetweenmacroswhenseveralareusedinseries.R\ignorespaces#2\relaxDFinally*,#Hwe'rereadytoadmitthe rstargumentintothecurrentparagraph.DIt'simpGortantthatwegenerateandoutputallthenotesforthischunkof5textb}'eforeputtingthetextintotheparagraph: notesthatarereferencedby5linenumbGershouldgenerallybetiedtothestartofthepassagetheygloss,5notdtheend.ThatshouldallbGedonewithintheexpansionof#2above,ordin5\aftergroupUUcommandswithinthatexpansion.R\flag@start I\endgroupI#1%DFinally*,uweaddanyinsertionsthatareassoGciatedwiththeendofthelemma. 5F*oGotnotesQthatareidenti edbysymbGolsratherthanbywherethelemmabGegins5inUUthemaintextneedtobGedonehere,andnotabove.lI\ifx\end@lemmas\empty\else R\gl@p\end@lemmas\to\x@lemmaR\x@lemmaR\global\let\x@lemma=\relaxI\fiI\flag@end}"$\set@line5TheT\set@linemacroiscalledby\texttoputtheline-reference eldandfont 5spGeci erUUforthecurrentblockoftextinto\@nums.DOnexinstanceof\textmaygenerateseveralnotes,oritmaygeneratenone|5it'slegitimateforargument#2to\texttobGeempty*.v_But\flag@startand5\flag@end:1inducethegenerationofasingleentryin\line@listduringthe5nextMrun,andit'svitaltoalsoremoveMoneandonlyone\line@listentryhere.,s56 MARKINGUUTEXTFORNOTES<^44o?\def\set@line{%DIfnomorelinesarelistedin\line@list,something'swrong|probablyjust 5some+changeintheinput. W*esetallthenumbGerstozeros,a[followinganold5publishingUUconventionfornumericalreferencesthathaven'tyetbGeenresolved.I\ifx\line@list\empty R\global\noteschanged@trueR\xdef\@nums{000|000|000|000|000|000|\edfont@info}%DAll'sUUwell;ourreferenceisthere.DdD\elseMp\gl@p\line@list\to\@tempbMp\xdef\@nums{\@tempb|\edfont@info}%Mp\global\let\@tempb=\undefinedDdD\fi}b\edfont@info5Themacro\edfont@inforeturnscoGdedinformationaboutthecurrentfont;the 5coGdingdependsonthefontselectionschemeinuse.]Seesection8.1formoreon5fontUUselectionschemes.?\ifx\selectfont\undefined!%we'reusingPlainfonts I\def\edfont@info{\the\fam}?\else%we'reusingNFSSI\def\edfont@info{\f@encoding/\f@family/\f@series/\f@shape}?\fi656.2SSubstitutelemmauT\lemma5The\lemmamacroallowsyoutochangethelemmathat'spassedontothe 5notes.?\def\lemma#1{\xdef\@tag{#1}\ignorespaces}56.3SSubstitutelinenumb`ersuTy\linenum5The\linenummacrocanchangeanyorallofthepageandlinenumbGersthat 5areUUpassedontothenotes.DAsԯargument\linenumtakesasetofsevenparametersseparatedbyvertical5bars,in&theformatusedinternallyfor\@nums(seep.29):thestartingpage,line,5and9sub-linenumbGers,?qfollowed9bytheendingpage,?qline,andsub-linenumbGers,5andpulluonelineo thetopof\raw@text,whichcontainstheremaining5unproGcessedlinesoftheparagraph.Q\vbadnessmustbecrankeduptosuppress5Underfull?vboxٲerrorsfrom\vsplit;%\splittopskipwillbGeinsertedatthe5top1of\one@line,8Zsowezeroit.e(ThisskipwillappGearinthe nalverticallist,5justUUbGeforeevery\baselineskip.)DdD{\vbadness=10000\splittopskip=0pt DdD\global\setbox\one@line=\vsplit\raw@textto\baselineskip}%0s57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA48oD\one@lineUUcomesoutof\vsplitasavbox;wenowconvertittoanhbox. DThisopGerationbreaksifthere'saninsertconnectedtotheline.HInthatcase,5the Ncontentofthevbox\one@linebGeforethisoperationisnotjustanhbox:5it'sKanhboxfollowedKbyaninsert.TAfterthe\unvbox,Lthelastthingonthe5verticallistisnotthehboxbuttheinsert.PTheresultisthatourlineheadspre-5maturelyontotheverticallist|withincorrectinterlinespacing,bGecausethere's5stillalevelofbGoxingthatshouldbGeundone|and\one@lineisthevoidbGox,5bGecausebthelastthingontheverticallistwasn'tabGox. ThesubsequentcoGde5consequentlyUUprintsablankline.DAll<2thisiswhyinsertionsneedtobGekeptoutoftheparagraphuntilthispGoint;5our7foGotnotemacrosaddallinsertionstolistmacros,p2andthe\add@inserts5macroUUbGelowputsthemontotheverticallistatthepropGertime.DdD\unvbox\one@line\global\setbox\one@line=\lastboxDCalculateUUthelineandpagenumbGerUUforthisline.DdD\getline@numDNowwe'lladdthelinetotheverticallist,LVwithalinenumbGerattachedif 5necessary*.DThe 4\hfil\hbox?to\wd\one@lineisnecessarytopGositionahangindented5linecorrectly:hwithoutit,۹\one@linegetsstretchedoutto\hsizeinwidth5andtheindentationdisappGears.WThisisbecausehangingindentationisdoneby5setting anonzero\shift"vqalueforthehboxthatcontainsthelinewithinthe5vbox,andthatshiftvqanishes,likethepGenalties,whenwesliceuptheparagraph;5onecanexaminethe\htor\wdofabGoxwithinTU>'ExX,butitprovidesnoway5ofm{examiningthe\shift,sthoughitwouldbGeatrivialmodi cationoftheTU>'ExX5programtoaddthatfunction.0P(\parshapealsoworksbysettinganonzeroshift,5but@this xisn'tgoGod@enoughthere,DbGecausethetotalwidthofthelinesisalso5vqariedinthatcase;souralgorithmwillpushallthelinesoftextovertotheright5margin.)DW*eputthe\new@linestart-of-linemarkerintheoutputlistatthispGoint5toGo:puttingitwithinthe\hboxhereensuresthatitcomesbeforeanyofthe5textofthelineintheverticallist,$9butcannotbGebrokenawayfromitatapage5break.?\hboxto\hsize{\affixline@num{% I\hfil\hboxto\wd\one@line{\new@line\unhbox\one@line}}}%DNow8wepullthefoGotnotesandinsertionsforthislineoutofthe\inserts@list5listUUmacroandattachthem.DdD\add@insertsDPenaltiesgetstrippGedo bythisslicingproGcess;Dthefollowingmacroputs5themUUbackinasthelaststep.DdD\add@penalties}657.3SLineandpagenumb`ercomputationuTb\getline@num5The@\getline@nummacrodeterminesthepageandlinenumbGers@fortheline5we'reUUabGouttosendtotheverticallist.?\def\getline@num{% I\global\advance\absline@numby1I\do@actions1s57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA49oI\do@ballast I\ifsublines@WJ\ifnum\sub@lock<2`\global\advance\subline@numby1WJ\fiI\elseWJ\ifnum\@lock<2`\global\advance\line@numby1`\global\subline@num=0WJ\fiI\fi}^QL\do@ballast5TheRrealworkinthemacroabGoveisdonein\do@actions,۹butbGeforeweplunge 5intothat,dlet'sget\do@ballastoutoftheway*. ThismacroloGokstoseeif5therekGisanactiontobGeperformedonthenext^line,andifitisgoingtobe5a2pagebreakaction,j\do@ballastdecreasesthe\ballast@countcounterby5thejeamountof\ballast.Thismeans,oinpractice,thatwhen\add@penalties5assignsHpGenaltiesatthispoint,(~TU>'ExXwillbegivenextraencouragementtobreak5theUUpagehere(seep.54).y\ballast 6\ballast@count5FirstFwesetuptherequiredcounters;theyareinitiallysettozero,>andwill5remainUUsounlessyousay\ballast=hsome3+ gur}'e[i=XinyourdoGcument. ?\newcount\ballast@count ?\newcount\ballast5AndFhereis\do@ballastitself.Itadvqances\absline@numwithintheprotection5ofUUagrouptomakeitscheckforwhathappGensonthenextline. ?\def\do@ballast{\global\ballast@count=0 I\begingroupR\advance\absline@numby1R\ifnum\next@actionline=\absline@num\2\ifnum\next@action>-1001ew^\global\advance\ballast@countby-\ballast`\fiWJ\fiI\endgroup}L\do@actions ߭ \do@actions@next5Thed\do@actionsmacroloGoksatthelistofactionstotakeatparticularabsolute 5lineUUnumbGers,anddoeseverythingthat'sspeci edforthecurrentline.DIt}maycallitselfrecursively*,andtodothiseciently(usingTU>'ExX'soptimiza-5tionfortailrecursion),wede neacontrol-sequencecalled\do@actions@next5that&fisalways&fthelastthingthat\do@actionsdoGes.Iftherecouldbemore5actionsetoproGcessforthisline,b\do@actions@nextissetequalto\do@actions;5otherwiseUUit'sjust\relax.6?\def\do@actions{% I\global\let\do@actions@next=\relaxI\ifnum\absline@num<\next@actionline\else6DFirst,pageVnumbGerchanges,whichwillgenerallybGethemostcommonac- 5tions.qIfUUwe'rerestartinglineationoneachpage,thisiswhereithappGens. R\ifnum\next@action>-1001`\global\page@num=\next@action`\ifbypage@2Ԑs57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA50o}L\global\line@num=0\global\subline@num=0 `\fi͍DNext,wehandlecommandsthatchangetheline-numbGervqalues.(W*esub- 5tract}5001ratherthan5000herebGecausethelinenumber}isgoingtobeincre-5mentedUUautomaticallyin\getline@num.) ͍R\else`\ifnum\next@action<-4999n\@tempcnta=-\next@actionn\advance\@tempcntaby-5001n\ifsublines@}L\global\subline@num=\@tempcntan\else}L\global\line@num=\@tempcntan\fi͍DIt'soneofthe xedcoGdes.cW*erescalethevqaluein\@tempcntasothatwe5canUUuseacasestatement. ͍`\elsen\@tempcnta=-\next@actionn\advance\@tempcntaby-1000n\ifcase\@tempcnta͍DCommandsUUthatturnsub-lineationonando .n\or}L\global\sublines@truen\or}L\global\sublines@false͍DLineEuloGcking.B'W*eignoretheseindicationswhentheydon'tappearatthe 5righttimes:Qeastart-loGckshouldappGearonlywhenlockingisentirelyo ,!andan5end-loGckUUshouldonlyappearwhenlockingisinthe\middle". ͍n\or}L\ifcase\@lockx\global\@lock=1}L\elsex\global\@lock=0}L\fin\or}L\ifnum\@lock=2x\global\@lock=3}L\elsex\global\@lock=0}L\fi͍DSub-lineUUloGcking.qSamecommentsasforlineloGcking.n\or}L\ifcase\sub@lockx\global\sub@lock=1}L\elsex\global\sub@lock=0}L\fin\or}L\ifnum\sub@lock=2x\global\sub@lock=3}L\else3s57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA51ox\global\sub@lock=0 }L\fiDIfUUwegethere,someunknownactioncoGdehasbeenencountered.n\else}L\edmac@warning{Badactioncode,nvalue\next@action.}%n\fi`\fiR\fiDNow|wegetinformationabGoutthenextactiono thelist,andthenset 5\add@inserts@nextsothatwe'llcallourselfrecursively:@athenextactionmight5alsoUUbGeforthisline.DThere'syknowarningifwe nd\actionlines@listempty*,qsincethatwill5alwaysUUhappGenneartheendofthesection.R\ifx\actionlines@list\empty j0\gdef\next@actionline{1000000}%R\elsej0\gl@p\actionlines@list\to\next@actionlinej0\gl@p\actions@list\to\next@actionj0\global\let\do@actions@next=\do@actionsR\fiI\fiDMakeUUtherecursivecall,ifnecessary*.?\do@actions@next}657.4SLinenumb`erprintinguT 6\affixline@num5\affixline@numtakesasingleargument,aseriesofcommandsforprintingthe 5linecjustsplito by\do@line;:itputsthatlinebackontheverticallist,and5addsUUalinenumbGerUUifnecessary*.DT*odeterminewhetherweneedtoaxalinenumbGertothisline,~wecompute5theUUfollowing:5ns=intò((linenum&8 rstlinenum7@)=linenumincr}'ementOF)5m UV= rstlinenum:+8(nlinenumincr}'ementQ)5(where}Qintp)truncatesarealnumbGer}Qtoaninteger).麵mwillbeequaltolinenum5only9ifwe'retopasteanumbGeronhere.hHowever,?;theformulabreaksdownfor5the rstlinetonumbGer(andanybeforethat),ksowecheckthatcaseseparately:5if\line@num\firstlinenum,5wecomparethetwodirectlyinsteadofmaking5theseUUcalculations.DW*e\compute,inthescratchcounter\@tempcnta,thenumbGerofthenextline5thatݘshouldbGeprintedwithanumbGer(mintheaboveݘdiscussion),andmove5theUUcurrentlinenumbGerintothecounter\@tempcntbforcomparison.DFirst,UUthecasewhenwe'rewithinasub-linerange.?\def\affixline@num#1{% I\ifsublines@R\@tempcntb=\subline@numR\ifnum\subline@num>\firstsublinenum\2\@tempcnta=\subline@num4/s57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA52o\2\advance\@tempcntaby-\firstsublinenum \2\divide\@tempcntaby\sublinenumincrement\2\multiply\@tempcntaby\sublinenumincrement\2\advance\@tempcntaby\firstsublinenumR\else\2\@tempcnta=\firstsublinenumR\fiDThatURtakescareofcomputingthevqaluesforcomparison,butiflinenumbGer 5loGckingLisine ectwehavetomakeafurthercheck.nIfthischeckfails,Nthenwe5disable˟theline-numbGer˟displaybysettingthecounterstoarbitrarybutunequal5vqalues.R\ifcase\sub@lock \2\orew^\ifnum\sublock@disp=1s \@tempcntb=0\@tempcnta=1ew^\fi\2\orew^\ifnum\sublock@disp=2\elses \@tempcntb=0\@tempcnta=1ew^\fi\2\orew^\ifnum\sublock@disp=0s \@tempcntb=0\@tempcnta=1ew^\fiR\fiDNowUUthelinenumbGercase,whichworksthesameway*.I\elseR\@tempcntb=\line@numR\ifnum\line@num>\firstlinenum`\@tempcnta=\line@num`\advance\@tempcntaby-\firstlinenum`\divide\@tempcntaby\linenumincrement`\multiply\@tempcntaby\linenumincrement`\advance\@tempcntaby\firstlinenumR\else`\@tempcnta=\firstlinenumR\fiDAUUloGckingcheckforsub-lines,justliketheversionforlinenumbGersabove.R\ifcase\@lock`\orj0\ifnum\lock@disp=1x]\@tempcntb=0\@tempcnta=1j0\fi`\orj0\ifnum\lock@disp=2\elsex]\@tempcntb=0\@tempcnta=1j0\fi`\orj0\ifnum\lock@disp=0x]\@tempcntb=0\@tempcnta=1j0\fiR\fi5ܠs57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA53oI\fiDTheUUfollowingtestistrueifweneedtoprintalinenumbGer.I\ifnum\@tempcnta=\@tempcntbDIflwegothere,6we'regoingtoprintalinenumbGer;;sonowweneedtocalculate 5aBnumbGerthatwilltelluswhichsideofthepagewillgetthelinenumbGer.5W*e(Astartfrom\line@margin,\whichasksforonesidealwaysifit'slessthan52;and1\2\advance\@tempcntbby\page@numR\fiDNowUUprinttheline(#1)withitspagenumbGer.R\ifodd\@tempcntb\2#1\rlap{{\rightlinenum}}%R\else\2\llap{{\leftlinenum}}#1%R\fiI\elseDIfUUnolinenumbGerUUistobeappended,wejustprintthelineasis.R#1%I\fiDNowQ xtheloGckcounters,ifnecessary*.fAQ{vqalueof1isadvancedto2;3 5advqancesUUto0;othervaluesareunchanged.I\ifcase\@lockI\orR\global\@lock=2I\or\orR\global\@lock=0I\fiI\ifcase\sub@lockI\orR\global\sub@lock=2I\or\orR\global\sub@lock=0I\fi}657.5SAddinsertionstotheverticallistuT\inserts@list5\inserts@list,isthelistmacrothatcontainstheinsertsthatwesaveupfor 5oneUUparagraph.?\list@create{\inserts@list}b\add@insertst\add@inserts@next5\add@insertsisthepGenultimatemacrousedby\do@line;bittakesinsertions5savedUUinalistmacroandsendsthemontotheverticallist.DIt}maycallitselfrecursively*,andtodothiseciently(usingTU>'ExX'soptimiza-5tionfortailrecursion), wede neacontrol-sequencecalled\add@inserts@next6s57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA54o5thatisalwaysthelastthingthat\add@insertsdoGes.>Iftherecouldbemorein- 5sertstoproGcessforthisline,\add@inserts@nextissetequalto\add@inserts;5otherwiseUUit'sjust\relax.?\def\add@inserts{% I\global\let\add@inserts@next=\relaxDIf\inserts@listisempty*,Ѹtherearen'tanymorenotesorinsertionsforthis5paragraph,UUandweneedn'twasteourtime. LI\ifx\inserts@list\empty\elseLDTheˤ\next@insertmacrorecordsthenumbGerˤofthelinethatreceivesthe5nextfoGotnoteorotherinsert;it'semptywhenwestartout,andjustafterwe've5axedUUanoteorinsert.I\ifx\next@insert\empty R\ifx\insertlines@list\empty\2\global\noteschanged@true\2\gdef\next@insert{100000}%R\else\2\gl@p\insertlines@list\to\next@insertR\fiI\fiLDIf'thenextinsert'sforthisline,tackiton(andthenerasethecontents 5oftheinsertmacro,asitcouldbGequitelarge). Inthatcase,wealsoset5\add@inserts@next5sothatwe'llcallourselfrecursively:2qtheremightbGean-5otherUUinsertforthissameline.I\ifnum\next@insert=\absline@num R\gl@p\inserts@list\to\@insertR\@insertR\global\let\@insert=\undefinedR\global\let\next@insert=\emptyR\global\let\add@inserts@next=\add@insertsI\fi?\fiDMakeUUtherecursivecall,ifnecessary*.?\add@inserts@next}?57.6SPenaltiesuT 6\add@penalties5\add@penaltiesDisthelastmacrousedby\do@line.Itaddsuptheclub, 5widow,,andinterlinepGenalties,,andputsasinglepenaltyoftheappropriatesize5backȩintotheparagraph;thesepGenaltiesgetremovedbythe\vsplitopGeration.5\displaywidowpenaltyͲand\brokenpenaltyarenotrestored,4jsincewehave5noUUeasywayUUto ndoutwhereweshouldinsertthem.DInthiscoGde,|\num@linesisthenumberoflinesinthewholeparagraph,|and5\par@lineoisthelinewe'reworkingonatthemoment.%1R\global\advance\par@lineby17s57 P*ARAGRAPHUUDECOMPOSITIONANDREASSEMBLYA55oR\ifnum\par@line=1 \2\advance\@tempcntaby\clubpenaltyR\fiR\@tempcntb=\par@line\advance\@tempcntbby1R\ifnum\@tempcntb=\num@lines\2\advance\@tempcntaby\widowpenaltyR\fiR\ifnum\par@line<\num@lines\2\advance\@tempcntaby\interlinepenaltyR\fiI\fiR\ifnum\@tempcnta=0\2\relaxR\else\2\ifnum\@tempcnta>-10000ew^\penalty\@tempcnta\2\elseew^\penalty-10000\2\fiR\fi}657.7SPrintingleftovernotesuTb\flush@notes5The\flush@notesmacroiscalledaftertheentireparagraphhasbGeensliced 5up Dandsentontotheverticallist.XlIfthenumbGerofnotestothisparagraphhas5increased@sincethelastrunofTU>'ExX,xthentherecanbGeleftover@notesthathaven't5yetmbGeenprinted.)AnappropriateerrormessagewillbGeprintedelsewhere;but5it'sbGesttogoaheadandprintthesenotessomewhere,evenifit'snotinquite5theCwrightplace.kWhatwedoisdumpthemallouthere,G sothattheyshouldbGe5printed7onthesamepageasthelastlineoftheparagraph.gW*ecanhopGethat's5notUUtoGofarfromtheproperlocation,towhichthey'llmoveonthenextrun.?\def\flush@notes{% I\@xloopR\ifx\inserts@list\empty\else\2\gl@p\inserts@list\to\@insert\2\@insert\2\global\let\@insert=\undefinedI\repeat} 3P\@xloop5\@xloopƲisavqariantofthePlainTU>'ExX\loopmacro,"usefulwhenit'shardto 5construct37apGositivetestusingtheTU>'ExX\ifcommands|asin\flush@notes5abGove.IlOne7says\@xloop...\if...\else...\repeat,/andtheaction5following'ExX\loopisused,FtoGo,soCwecouldjustcallit\loop;Ibut5itRseemspreferablenottochangethede nitionsofanyofthestandardmacros.)DThisxvqariantof\loopwasintroGducedbyAloisKabGelschachtinTUGb}'oatj85(1987),UUpp.184{5.?\def\@xloop#1\repeat{% I\def\body{#1\expandafter\body\fi}%I\body}8s58 FOOTNOTESd56o58MLFfos3otnotes5ThefoGotnotemacrosareadaptedfromthoseinPlainTU>'ExX,Ybuttheydi erin 5theserespGects:)theouter-levelcommandsmustaddothercommandstoalist5macroratherthandoinginsertionsimmediately;/thereare veseparatelevels5offoGotnotes,'notjustone;)andthereareoptionstoreformatfootnotesinto5paragraphsUUorintomultiplecolumns.358.1SFonts(usingthePlainfontselectionscheme)uT5BeforeHgettingintothedetailsofformattingthenotes,wesetupsomefont5macros.YIt )isthenotesthatpresentthegreatestchallengeforourfont-handling5mechanism,1 bGecause'weneedtobGeabletotakefragmentsofourmaintextand5printgIthemindi erentforms:itiscommontoreducethesize,forexample,5withoutUUotherwisechangingthefontsused.DEDMACsuppGortstwodi erentsystemsforfonthandling:փthe\Plainfontse-5lectionscheme",thatis,theoriginalPlainTU>'ExXsystem,withsomeminorexten-5sionsKneededforourpurpGoseshere;NandtheNewF*ontSelectionScheme(NFSS)5of}F*rankMittelbachandRainerSchopf,ǽasadaptedforusewithPlainTU>'ExX5byYW*ayneSullivqan.}TheNFSSXisstronglyrecommended, butthePlainfont5selectionUUschemewillsuceforsimpleapplications.DEDMAC²willfde nedi erentversionsofthefollowingmacros,o)depGending5onUawhichschemeisused:q\edfont@info,d\notefontsetup,\notenumfont,5\numlabfont,gand0\select@lemmafont.IfthePlainfontselectionschemeis5chosen,EDMAC썲willalsode nean\eightpointmacroandloadadditionalCom-5puterUUMoGdernfontsforusewithit.DThechoiceofafontselectionschemeismadeimplicitly*.&cIfNFSSyhasbGeen5loaded,itisassumedthatyouwanttouseit;6otherwiseEDMACɲusesthePlain5fontselectionscheme.Ifyou'reusingNFSS,loaditandmakeanychoicesof5customizationsUUandstandardsettingsbGeforeyouloadEDMAC.DW*eUUknowthatNFSShasbGeenloadedifthe\selectfontmacroispresent.f?\ifx\selectfont\undefinedfDTherestofthissectionde nesmacrosforusewiththePlainfontselection5scheme;UUseethenextsectionforde nitionsusedwithNFSS.DWhatwewanttoprovidewiththesemacrosissomethingalittlebitmore5generalthanPlainTU>'ExX,"withoutgoingthewholewaytoimplementingafull,5plannedUUfontscheme. 6\notefontsetup5Thefontsetupde nedin\notefontsetupde nesthefontswhichwillnormally5bGe(usedforthetextofthefootnotes.0Partsofthefootnote,]suchastheline5numbGersreferencesandthelemma,;areenclosedingroups,withtheirownfont5macros,soanoteinplainromancanstillhavelinenumbGersinbold,say*,and5theUUlemmainthesamefamilyoffontasinthemaintext.DSinceƢitiscommontohaveƢnotesinafontsmallerthanthemaintext,we5setCupan\eightpointmacrowhichcontainsde nitionsforsmallerversions5of\rm,\it,\bf,\tt,and\sl.Italsocontainsde nitionsoftheappropriate5\fam'foreachofthesestyles,aswellasasmaller\strutboxandasettingof5theUU\baselineskip.DIfyouwanttochangethesizeorstyleofthestandardfoGotnotefont,!Titis5impGortantUUthatyourmacrode neatleasttheseitems:9Vs58 FOOTNOTESd57oDNfontssDN\fam(s)DN\strutboxDN\baselineskip5F*or7example,pAlikePlainTU>'ExXitself,EDMAC7qusestheheightofa\strutboxin 5a]fewcrucialplaces,2suchasthecropmarks,thealignmentofthetopline5ofRfoGotnotes,-etc.x(Page73explainsthereasonswhythisisimpGortantinone5instance.)pDIfPyouchangethesizeofyourfonts,Qbutdon'tchangethesizeofthe5\strutboxU޲toGo,thentherewillbevqariousdiscrepanciesinthespacing.scThe5sameUUholdsforthe\baselineskip,andtheothermacrosmentionedhere.DThemsizeofa\strutboxforthestandardten-pGointfontsisalreadysetby5PlainTU>'ExX,=as7aretheotherquantities.gThistakescareofthe\headlinefont,5sincethisisinitiallysettoten-pGoint\rm.ͨButonceagain,Pifyouchangethe5fontoftheheadline,LbGesuretoaddappropriatede nitionsof\baselineskip5andUU\strutboxtoGo.DTheG rstthing,then,isGtoloadsomefontmetricinformationforthesmall5fonts DthatPlainTU>'ExXdoGesn'tload(cf.The;HTKß'E-Xb}'ook,8pp.413{415).(W*e Dload5eight-pGointFfontswhereweshouldloadsix-pGointones,IbGecausethenormalTU>'ExX5distributionsdon'thavecmtt6etc.B3Ifyouhavethem,,youmaywanttocreate5yourUUown\eightpointwithpropGerde nitions.) ࠍI\font\eightrm=cmr8\font\eighti=cmmi8 s,\skewchar\eighti='177 I\font\eightsy=cmsy8\skewchar\eightsy='60\font\eightbf=cmbx8I\font\eighttt=cmtt8\hyphenchar\eighttt=-1%inhibithyphenationI\font\eightsl=cmsl8\font\eightit=cmti8I\font\sixrm=cmr8 s,\font\sixi=cmmi8X\skewchar\sixi='177I\font\sixsy=cmsy8\skewchar\sixsy='60\font\sixbf=cmbx8I\font\sixtt=cmtt8\hyphenchar\sixtt=-1%inhibithyphenationI\font\sixsl=cmsl8\font\sixit=cmti8ፍL\eightpoint5WithZthatoutoftheway*,weZcannowde nean\eightpointmacrothatistaken 5almostUUdirectlyfromp.415ofTheTKß'E-Xb}'ookh(canUUyouspGotthedi erences?).I\def\eightpoint{\def\rm{\fam0\eightrm}%R\textfont0=\eightrm\scriptfont0=\sixrm\scriptscriptfont0=\fivermR\textfont1=\eighti s,\scriptfont1=\sixi\scriptscriptfont1=\fiveiR\textfont2=\eightsy\scriptfont2=\sixsy\scriptscriptfont2=\fivesyR\textfont3=\tenex,\scriptfont3=\tenex\scriptscriptfont3=\tenexR\def\it{\fam\itfam\eightit}\textfont\itfam=\eightitR\def\sl{\fam\slfam\eightsl}\textfont\slfam=\eightslR\def\bf{\fam\bffam\eightbf}\textfont\bffam=\eightbfR\scriptfont\bffam=\sixbf\scriptscriptfont\bffam=\fivebfR\def\tt{\fam\ttfam\eighttt}\textfont\ttfam=\eightttR\normalbaselineskip=9ptR\setbox\strutbox=\hbox{\vruleheight7ptdepth2ptwidth0pt}%R\normalbaselines\rm}ࠍ5AndUU nally*,weset\notefontsetuptobGethenewfontsetupmacro:I\let\notefontsetup=\eightpoint:(s58 FOOTNOTESd58o5WiththeabGovemacros,Uremembertouse\eightpoint(alias\notefontsetup) 5insideFagroup.$Ifyouwanttouseitoutsideagroup, youwillneedtode ne5a/\tenpointmacrotosetallthesede nitionsbacktothestandardten-pGoint5settingsUUofrPlainTU>'ExX.b\notenumfont5ThewmacrocontrollingthefontforlinenumbGerswithinnotes,\notenumfont,is5moreUUsimple.qItreallyisjustafontcall.I\let\notenumfont=\sevenrmt\select@lemmafont5\select@lemmafontͲisprovidedtosettherightfontforthelemmainanote.5Thismacroextractsthefont-familynumbGerfromthelineandpagenumbGer5cluster,andissuestheassoGciatedfont-changingcommand,sothatthelemmais5printedUUinitsoriginalfont.I\def\select@lemmafont#1|#2|#3|#4|#5|#6|#7|{% WJ\ifcase#7ew^\rm\or\rm\or\rm\or\rm3r%families0--3x]\or\it\or\sl\or\bf\or\tt,%families4--7x]\else\rmWJ\fi}5NotethatthisisadeparturefromthenormalbGehaviorofPlainTU>'ExXregarding 5fontselection. XAsDonaldKnuthremarks(TheTKß'E-Xb}'ook,`.p.154),the\fam5vqalueisusuallyirrelevantwhenTU>'ExXistypGesettingtextinhorizontalmoGde;5\fam:onlymattersinmathmoGde.!uButhereweareusingthe\famvqalueasa5convenient'waytoselectafontgroup.>Ifyouareeditingatextinsomeother5font,sayCyrillic,bGesuretoassignitafont\fam,andaddthattothelistherein5\select@lemmafont(seetheexamplegivenonp.100bGelowforusingaSanskrit5fontwithEDMAC).TheidealinthissituationwouldbGetobeabletotestforsuch5parameters)suchasfontseries,^style,and)size.Exactlythosecapabilitiesare5providedintheNewF*ontSelectionSchemewrittenbyF*rankMittelbachand5RainerDSchopf,HCandthisisoneplaceinEDMACDwheresuchasystemcanbGeused5toUUgoGode ect(seethediscussionabove,page15,andthefollowingsection).658.2SFonts:usingtheNewFontSelectionSchemeuT5These-arethefontmacrosusedwithNFSS.TheywillbGeactivqatediftheNFSS5macrosUUhavebGeenloadedasdescribedabove(p.?? ).?\else 6\notefontsetup5The Tfontsetupde nedin\notefontsetupde nesthestandardfontsforthe5textcofthefoGotnotes.Partsofthefootnote,gdsuchasthelinenumbGerreferences5andthelemma,areenclosedingroups,withtheirownfontmacros,soanotein5plainێromancanstillhaveێlinenumbGersێinbold,say*,andێthelemmainthesame5fontencoGding,װfamily*,series,andshapGeoffontasinthemaintext.Typically5this_de nitionshouldspGecifyonlyasize. Itshouldalways_endwith\selectfont5orUUwithacommandlike\rmthatdoGesa\selectfont.I\def\notefontsetup{\fontsize{8}{9pt}\selectfont}b\notenumfont5The8linenumbGers8willbeprintedusingthefontselectedbyexecuting\notenumfont.I\def\notenumfont{\fontsize{7}{8pt}\rm};6ns58 FOOTNOTESd59ot\select@lemmafont 9\select@@lemmafont5\select@lemmafontͲisprovidedtosettherightfontforthelemmainanote. 5ThismacroextractsthefontspGeci erfromthelineandpagenumbGercluster,5and.issuestheassoGciatedfont-changing.command,sothatthelemmaisprinted5inUUitsoriginalfont.I\def\select@lemmafont#1|#2|#3|#4|#5|#6|#7|{\select@@lemmafont#7|} I\def\select@@lemmafont#1/#2/#3/#4|%R{\fontencoding{#1}\fontfamily{#2}\fontseries{#3}\fontshape{#4}%R\selectfont}DThisUUistheendoftheconditionalsectionforfontmacrode nition.?\fi658.3SOuter-levelfo`otnotecommandsuT\Afootnote5Theouter-levelfoGotnotecommandswilllookfamiliar: Xthey'rejustcalled 5\Afootnote, \Bfootnote,etc.,insteadĶofplain\footnote.Whattheydo,5however,ޥisquitedi erent,sincetheyhavetoopGerateinconjunctionwith\text5whenUUnumbGeringisine ect.DIf9we'rewithinaline-numbGeredparagraph,>then,we9tackthisnoteontothe5\inserts@listUUlist,andincrementthedeferred-page-bGottom-notecounter.?\def\Afootnote#1{% I\ifnumberedpar@R\xright@appenditem{\noexpand\vAfootnote{A}%p{{\@nums}{\@tag}{#1}}}\to\inserts@listR\global\advance\insert@countby1DWithin\Lfreetext, there'snoneedtoputo makingtheinsertionforthis 5note.o)NoM|linenumbGersM|areavqailable,Osothisisn'tgenerallythatuseful;Pbutyou5mightUUwanttouseittogetaroundsomelimitationofEDMAC.I\else R\vAfootnote{A}{{0|0|0|0|0|0|0}{}{#1}}%I\fi\ignorespaces}\Bfootnote \Cfootnote \Dfootnote \Efootnote5W*eUUneedsimilarcommandsfortheotherfoGotnoteseries.?\def\Bfootnote#1{%I\ifnumberedpar@R\xright@appenditem{\noexpand\vBfootnote{B}%p{{\@nums}{\@tag}{#1}}}\to\inserts@listR\global\advance\insert@countby1I\elseR\vBfootnote{B}{{0|0|0|0|0|0|0}{}{#1}}%I\fi\ignorespaces}?\def\Cfootnote#1{%I\ifnumberedpar@R\xright@appenditem{\noexpand\vCfootnote{C}%p{{\@nums}{\@tag}{#1}}}\to\inserts@listR\global\advance\insert@countby1I\elseR\vCfootnote{C}{{0|0|0|0|0|0|0}{}{#1}}%I\fi\ignorespaces}<EAs58 FOOTNOTESd60o?\def\Dfootnote#1{% I\ifnumberedpar@R\xright@appenditem{\noexpand\vDfootnote{D}%p{{\@nums}{\@tag}{#1}}}\to\inserts@listR\global\advance\insert@countby1I\elseR\vDfootnote{D}{{0|0|0|0|0|0|0}{}{#1}}%I\fi\ignorespaces}?\def\Efootnote#1{%I\ifnumberedpar@R\xright@appenditem{\noexpand\vEfootnote{E}%p{{\@nums}{\@tag}{#1}}}\to\inserts@listR\global\advance\insert@countby1I\elseR\vEfootnote{E}{{0|0|0|0|0|0|0}{}{#1}}%I\fi\ignorespaces}ō58.4SNormalfo`otnoteformattinguT5ThebproGcessingofeachnoteisdonebyfourprincipalmacros:thevfootnote 5macro takesthetextofthefoGotnoteanddoesthe\insert;hitcallsonthe5footfmt>0macrotoselecttherightfonts,BprintthelinenumbGerandlemma,Band5doD\anyotherformattingneededforthatindividualnote.>Withintheoutput5routine,pthetwoothermacros,pfootstartandfootgroup,arecalled;Bthe rst5printsextraverticalspaceandafoGotnoterule,ifdesired;Qtheseconddoesany5reformattingAofthewholesetoffoGotnotesinthisseriesforthispage|suchas5paragraphingUUordivisionintocolumns|andthensendsthemtothepage.DTheseUfourmacros,andtheothermacrosandparametersshownhere,are5distinguished(bythe\seriesletter"thatindicateswhichsetoffoGotnoteswe're5dealingH with|A,B,C,D,orE.TheseriesletteralwaysH precedesthestringfoot5in*macroandparameternames.Hence,`fortheA*useries,thefourmacrosare5calledUU\vAfootnote,\Afootfmt,\Afootstart,and\Afootgroup.߭ \normalvfootnote5W*eӭnowbGeginaseriesofcommandsthatdo\normal"footnoteformatting:nxa5formatmuchlikethatimplementedinPlainTU>'ExX,.inwhicheachfoGotnoteisa5separateUUparagraph.D\normalvfootnotetakestheseriesletteras#1,Randtheentiretextofthe5foGotnote(is#2.bItdoesthe\insertforthisnote,1callingonthefootfmtmacro5forUUthisnoteseriestoformatthetextofthenote. S?\def\normalvfootnote#1#2{\insert\csname#1footins\endcsname\bgroup I\notefontsetupI\interlinepenalty\csnameinter#1footnotelinepenalty\endcsnameI\splittopskip\ht\strutboxI\splitmaxdepth\dp\strutbox\floatingpenalty\@MMI\leftskip\z@skip\rightskip\z@skipI\spaceskip\z@skip\xspaceskip\z@skipI\csname#1footfmt\endcsname#2\egroup} 6\normalfootfmt5\normalfootfmtm isa\normal"macrototakethefoGotnotelineandpagenum- 5bGer"information(seep.29),andthedesiredtext,andoutputwhat'stobGe5printed. 0Argument x#1containsthelineandpagenumbGerinformationand5lemmaKJfontspGeci er;D#2isthelemma;#3isthenote'stext.SThisversionis=OΠs58 FOOTNOTESd61o5veryrudimentary|ituses\printlinestoprintjusttherangeoflinenumbGers, 5followedRbyasquarebracket,Rthelemma,andthenotetext;S.it'sintendedtobGe5copiedUUandmoGdi edasnecessary*.D\par)shouldalways)bGerede nedto\endgrafwithintheformatmacro(this5iswhat\normal@parsdoGes),tooverrideanytrickystu whichmightbGedonein5the:maintexttogetthelinesnumbGered:automatically(assetupby\autopar,5forUUexample).?\def\normalfootfmt#1#2#3{% I\normal@parsI\parindent=0pt\parfillskip=0ptplus1filI{\notenumfont\printlines#1|}\strut\enspace\2{\select@lemmafont#1|#2}\rbracket\enskip#3\strut\par}L\endashchar $\fullstop $\rbracket5Thefontsthatareusedforprintingnotesmightnothavethecharactermapping 5wepexpGect:forexample,IvtheComputerModernfontthatcontainsold-style5numerals"\s58 FOOTNOTESd62o?\def\printlines#1|#2|#3|#4|#5|#6|#7|{\begingroup I\@pnum=0\@dash=0I\ifbypage@WJ\ifnum#4=#1\elseew^\@pnum=1ew^\@dash=1WJ\fiI\fiDW*e,\printtheendinglinenumbGerif:]K1)we'reprintingtheendingpagenum- 5bGer,UUor2)it'sdi erentfromthestartinglinenumbGer.I\@elin=\@pnumI\ifnum#2=#5\else\2\@elin=1\2\@dash=1I\fiDW*eUUprintthestartingsub-lineifit'snonzero.I\@ssub=0I\ifnum#3=0\else\2\@ssub=1I\fiDW*eprinttheendingsub-lineifit'snonzeroand:1)it'sdi erentfromthe 5startingUUsub-linenumbGer,UUor2)theendinglinenumberUUisbeingprinted.I\@esl=0I\ifnum#6=0\else\2\ifnum#6=#3j0\@esl=\@elin\2\elsej0\@esl=1j0\@dash=1\2\fiI\fiDNow+we'rereadytoprintitall,"`basedonourcountervqalues.JTheonly 5subtletyjlefthereiswhentoprintapGeriodjbetweenjnumbers.Butjtheonly5instanceinwhichthisistrickyisfortheendingsub-linenumbGer:\itcouldbe5comingafterthestartingsub-linenumbGer(inwhichcasewewantonlythedash)5orUUafteranendinglinenumbGerUU(inwhichcaseweneedtoinsertapGeriod).I\ifodd\@pnum#1\fullstop\fi I#2%I\ifodd\@ssub\fullstop#3\fiI\ifodd\@dash\endashchar\fiI\ifodd\@pnum#4\fullstop\fiI\ifodd\@elin#5\fiI\ifodd\@esl\ifodd\@elin\fullstop\fi#6\fi?\endgroup}߭ \normalfootstart5\normalfootstartyxisastandardfoGotnote-startingmacro,calledintheoutput 5routine)whenevertherearefoGotnotesofthisseriestobeprinted:oitskipsabit5andUUthendrawsarule.DAnyhKfootstartmacromustputontothepagesomethingthattakesupspace5exactlyz]equaltothe\skip\footinsvqaluefortheassoGciatedseriesofnotes.(TU>'ExX5makespagecomputationsbasedonthat\skipvqalue,andtheoutputpageswill?js58 FOOTNOTESd63o5su er/fromspacingproblemsifwhatyouaddtakesupadi erentamountof 5space.DThe\leftskipand\rightskipvqaluesarebGothzeroedhere.LSimilarly*,5theseNskipsarecancelledinthevfootnotemacrosforthevqarioustypGesofnotes.5Strictly!MspGeaking,+thisisnecessaryonlyifyouareusingparagraphedfootnotes,5butLwehaveputithereandintheothervfootnotemacrostoGosothatthe5bGehavior!ofEDMACinthisrespectisgeneralacrossallfootnotetypes(youcan5changerUthis).Whatthismeansisthatany\leftskipand\rightskipyou5spGecifyCoappliestothemaintext,Gbutnotthefootnotes.kThefootnotescontinue5toUUbGeofwidth\hsize. ?\def\normalfootstart#1{% I\vskip\skip\csname#1footins\endcsnameI\leftskip0pt\rightskip0ptI\csname#1footnoterule\endcsname}рH\normalfootnoterule5\normalfootnoterule8isastandardfoGotnote-rulemacro,qforusebyafootstart 5macro:qjustUUthesameasthePlainTU>'ExXfoGotnoterule.?\let\normalfootnoterule=\footnoterule߭ \normalfootgroup5\normalfootgroupmisastandardfoGotnote-groupingmacro:itsendsthecontents 5ofUUthefoGotnote-insertboxtotheoutputpagewithoutalteration.?\def\normalfootgroup#1{\unvbox\csname#1footins\endcsname} 58.5SStandardfo`otnotede nitionsuTL\footnormal5W*eX|cannowde nealltheparametersforthe veseriesoffoGotnotes;Zini-5tiallyftheyusethe\normal"foGotnoteformatting,whichissetupbycall-5ing3\footnormal. Y*oucanswitchtoanothertypGeofformattingbyusing5\footparagraph,UU\foottwocol,or\footthreecol.DSwitchingrtoavqariationof\normal"formattingrequireschangingthequan-5titiesde nedin\footnormal.4ThebGestwaytoproceedwouldbetomakea5copyofthismacro,Dwithadi erentname,Dmakeyourdesiredchangesinthat5copy*,and'ExX5toUUmake.DAnd1 nally*,6gweinitializetheformattingforallthefoGotnoteseriestobe5normal.?\footnormal{A}?\footnormal{B}?\footnormal{C}?\footnormal{D}?\footnormal{E}658.6SParagraphedfo`otnotesuT5The'paragraphed-foGotnoteoptionreformatsallthefootnotesofoneseriesfor5aApageintoasingleparagraph;MthisisespGeciallyappropriatewhenthenotes5ares0numerousandbrief.XThecoGdeisbasedonThe_TKß'E-Xb}'ook,zpp.398{400,with5alterations{>forourenvironment.This{>algorithmusesaconsiderableamountof5save-stackCspace:ϣaTU>'ExXofordinarysizemaynotbGeabletohandlemorethan5abGoutUU100notesofthiskindonapage. 6\footparagraph5TheC=\footparagraphmacrosetsupeverythingforoneseriesoffoGotnotesso5thatthey'llbGeparagraphed;ittakestheseriesletterasargument.vW*einclude5the{settingof\count\footinsto1000forthefoGotnoteseriesjustincaseyou5areswitchingtoparagraphedfoGotnotesafterhavingcolumnarones,sincethey5changeUUthisvqalue(seebGelow).As58 FOOTNOTESd65oDItisimpGortanttocall\footparagraphonlyafter\hsizehasbeensetfor 5theipagesthatusethisseriesofnotes;rotherwiseTU>'ExXwilltrytoputtoGomany5ortoGofewofthesenotesoneachpage.KIIfyouneedtochangethe\hsizewithin5thedoGcument,'ExXdoGesnotexpecttohaveCtobreaklines,itdoesnotinsertcertain5itemslike\discretionarys.IfyoulaterunbGoxthesehbGoxesandstickthem5together,as&theTKß'E-Xb}'ookmacros&dotomakethesefoGotnotes,youlosetheability5tox`hyphenateafteranexplicithyphen.Thiscanleadtooverfull\hboxeswhen5youowouldnotexpGectto ndthem,andtotheuninitiateditmightbGeveryhard5toUUseewhytheproblemhadarisen.^27DW*aynea+SullivqanpGointedouttousanothersubtleproblemthatarisesfromthe5samecause:QTU>'ExXalsoleavesthe\languagewhatsitnoGdesoutofthehorizontal5list.^28SoFchangesfromonelanguagetoanotherwillnotinvokethepropGer5hyphenation1rulesinsuchfoGotnotes.[Sincecriticaleditionsoftendodealwith5severallanguages, .espGeciallyinfootnotes, .wereallyoughttogetthisbitofcoGde5right.DT*ovgetaroundtheseproblems,oWaynesuggestedemendationstotheTKß'E-Xb}'ook5versionsofthesemacroswhicharebroadlythesameasthosedescribGedby5Michael:btheBcentralidea(alsosuggestedbyDonaldKnuthinalettertoMichael)5istoavoidcollectingthetextinan\hboxinthe rstplace,butinsteadtocollect5itCina\vboxwhosewidthis(virtually)in nite.ThetextisthereforetypGeset5in:3unrestrictedhorizontalmoGde,?asaparagraphconsistingofasinglelongline.5Later,%/thereisanextralevelofunbGoxingtobGedone:Wwehavetounpackthe5\vbox,maswellasthehbGoxesinsideit,mbutthat'snottoGohard. 4F*ordetails,we5refer.youtoMichael'sarticle,iwheretheissuesareclearlyexplained.^29 Michael's5unbGoxingUSmacroiscalled\unvxh:qunvbox,USextractthelastline,andunhboxUSit.DDoing-=thingsthisway-=hasanimpGortantconsequence:!asMichaelpGointed5out,you0reallycan'tputanexplicitline-breakintoanotebuiltina\vbox5the\waywearedoing.^30Inotherwords,bGeverycarefulnottosay\break,5or\penalty-10000,۸oranyequivqalentinsideyourpara-foGotnote.Ifyoudo,5mostȚofthenotewillprobablydisappGear.˕Y*ouar}'eallowedȚtomakestrong5suggestions;inqfact\penalty-9999willbGequiteokqay*.Justdon'tmakethe5breakMmandatory*.o3Wehaven'tappliedanyofMichael'ssolutionshere,O%sincewe5feelthattheproblemisexiguous,ƇandEDMAC̲isquitebaroGqueenoughalready*.5IfUUyouthinkyouarehavingthisproblem,loGokupMichael'ssolutions.DOnepmorething; weset\leftskipand\rightskiptozero.Thishasthe5e ectuofneutralizinganysuchskipswhichmayapplytothemaintext(cf.5p.63abGove).}W*eneedtodothis,sincefootfudgefactoriscalculatedonthe5assumptionUUthatthenotesare\hsizewide.DSo,X nally*,hereisthemoGdi edfoot-paragraphcode,Xwhichsetsthefootnote5inUUverticalmoGdesothatlanguageanddiscretionarynodesareincluded.?\def\para@vfootnote#1#2{\insert\csname#1footins\endcsname I\bgroupR\notefontsetup5ffffv J=w-:27LMicÎhaelXDownes,\LineBreakingin\unhboxedTJext",TUGboat11(1990),pp.j605{612. >w-:28LSeeXThe~TgEBLXbook,p.j455(editionsafterJanÎuary1990).w-:29LWJaÎyneq[suppliedhisownmacrostodothis,\butsincetheywerealmostidenticalto MicÎhael's,Xwehaveusedthelatter's\unvxhmacrosinceitispubliclydo'ExXattemptsto5splithfoGotparagraphs.kAftertryingoutsuchasplit(seeTheUTKß'E-Xb}'ook,-p.124),5TU>'ExXinsertsapGenaltyof10000here,whichnearlyalwaysforcesthebreakat5thezendofthewholefoGotnoteparagraph(sinceindividualnotescan'tbesplit)5evenwhenthisleadstoanoverfullvbGox.SThechangeabGoveresultsinapGenalty5of,0insteadwhichallows,bbutdoGesn'tforce,suchbreaks.LThispGenaltyof0is5latervremoved,~LafterpagebreakshavebGeendecided,~Lbythe\unpenaltymacro5in\makehboxofhboxes.&OSoitdoGesnota ecthowthefootnoteparagraphsare5typGeset2H(thenotesstillhaveapGenaltyof10bGetweenthem,9Kwhichisaddedby5\parafootfmt).\unvxh5HereisMichael'sde nitionof\unvxh, usedabGove.Michael'smacroalsotakes5care4toremove4someunwanted4pGenaltiesandgluethatTU>'ExXautomaticallyat-5taches`Ntotheendofparagraphs.WhenTU>'ExX nishesaparagraph, itthrows5awayxanyremainingglue,#andthentacksonthefollowingitems:Ra\penaltyof510000,[>aZ\parfillskipanda\rightskip(TheATKß'E-Xb}'ook,pp.99{100).\unvxh5cancelsUUtheseunwantedUUparagraph- nalitemsusing\unskipand\unpenalty.?\def\unvxh#1{% I\setbox0=\vbox{\unvbox#1%R\global\setbox1=\lastbox}%I\unhbox1I\unskip8%remove\rightskip,I\unskip8%remove\parfillskip,I\unpenalty*F%remove\penaltyof10000,I\hskip\ipn@skip},%butaddthegluetogobetweenthenotes9\interparanoteglue $\ipn@skip5ClosekBobserverswillnoticethatwesnucksomegluecalled\ipn@skipontothe 5endUUofthehbGoxUUproducedby\unvxhintheaboveUUmacro.DW*e\wanttobGeabletohavesomegluebGetweenourparagraphedfoGotnotes.5ButNsinceweareinitiallysettingournotesininternalverticalmoGde,'Laslittle5paragraphs,Tanyparagraph- nalgluewillgetdiscarded.4Since\unvxhisalready5busy~ ddlingwithglueandpGenaltiesattheendoftheseparagraphs,wetake5advqantageUUoftheoppGortunitytoprovideourinter-notespacing.DW*ecollectthevqalueoftheinter-parafoGotnotegluevalueastheparameter5ofamacrocalled|waitforit|\interparanoteglue.#W*eputthisvqalueinto5theTvqalueofaglueregister\ipn@skip(inter-para-note-skip)makingsure rstDMs58 FOOTNOTESd68o5to setthecurrentfonttothevqaluenormallyusedinfoGotnotessothatthevalue 5ofUUanemwillbGetakenfromtherightfont.?\newskip\ipn@skip ?\def\interparanoteglue#1{%}L{\notefontsetup\global\ipn@skip=#1\relax}}?\interparanoteglue{1emplus.4emminus.4em}5There isapGointtobecarefulaboutregardingthe\interparanoteglue.Re-5membGermthatin\para@vfootnotewedosomemeasurementsonthefoGotnote5bGox,1andkusetheresultingsizetomakeanestimateofhowmuchthenotewill5contribute+3totheheightofour nalfoGotnoteparagraph.`Thisinformationis5usedbytheoutputroutinetoalloGcatetherightamountofverticalspaceonthe5pageUUforthenotes(TheTKß'E-Xb}'ook,UUpp.398{399).DThealengthofthefoGotnoteincludesthenaturalsizeofthegluespeci edby5\interparanoteglue,DbutnotitsstretchorshrinkcompGonents,Dsinceatthis5pGointthenotehasnoneedtostretchorshrink.__Later,Twhentheparagraphis5actually~GcompGosedby\parafootgroupintheoutputroutine,TU>'ExXwillalmost5certainlyTdosomestretchingandshrinkingofthisglueinordertomakethe5paragraphǰloGoknice.Probablythestretchingandshrinkingoverthewhole5paragraphjwillcanceleachotherout.Butifnot,p theactualverticalsizeofthe5paragraphRmaynotmatchthesizetheoutputroutinehadbGeentoldtoexpect,5and?youmaygetanoverfull/underfull\vboxmessagefromtheoutputroutine.5T*ominimizetheriskofthis,youcandotwothings:܍keeptheplusandminus5compGonentsof\interparanotegluesmallcomparedwithitsnaturalglue,and5keepHthemthesameaseachother.OAsageneralprecaution,keepthesizeand5 exibilitybofthe\skip\footinsglueonthehighsidetoGo:becausebthereckoning5isnEapproximate,tfoGotnoteblocksmaybGeuptoalinebiggerorsmallerthanthe5output?routineallowsfor,Csokeepsome exiblespacebGetweenthetextandthe5notes.b\parafootfmt5\parafootfmtMis\normalfootfmtadaptedtodothespGecialstu neededfor5paragraphedqnotes|leavingoutthe\endgrafattheend,stickinginspGecial5pGenalties_andkern,bnandleavingoutthe\footstrut.7The rstargumentisthe5line6andpagenumbGer6information,0\noalign{\hfil}\splitoffI\global\advance\@k-1\cr\dosplits\fi}?\def\splitoff{\dimen0=\ht0I\divide\dimen0by\@k\advance\dimen0by\@hI\setbox2\vsplit0to\dimen0I\unvbox2}65ThreeTcolumns\footthreecol5Y*ou say\footthreecol{A}tohavetheA seriesoffoGotnotestypGesetinthree 5columns.oItj8isimpGortanttocallthisonlyafter\hsizehasbeensetforthe5doGcument.?\def\footthreecol#1{% I\expandafter\let\csnamev#1footnote\endcsname=\threecolvfootnoteI\expandafter\let\csname#1footfmt\endcsname=\threecolfootfmtI\expandafter\let\csname#1footgroup\endcsname=\threecolfootgroupI\threecolfootsetup{#1}}5The\footstartand\footnoterulemacrosforthesenotesassumethenormal 5vqaluesUU(p.62abGove).9\threecolfootsetup5The\threecolfootsetupmacrocalculatesandsetssomenumbGersforthree-5columnUUfoGotnotes.DW*esetthe\countofthefoGotinsertto333. oEachfootnotecanbethought5of ascontributingonlyonethirdofitsheighttothepage,7 sincethefoGotnote5insertion'ExXisaccumulatingmaterialforthe5pageUUandcheckingUUthatlimit,itdoGesn'tapplythe\countscaling.?\def\threecolfootsetup#1{% I\count\csname#1footins\endcsname333I\multiply\dimen\csname#1footins\endcsnameby3}9\threecolvfootnote5\threecolvfootnoteuisthe\vfootnotecommandforthree-columnnotes.;}The 5call7*to\notefontsetupensuresthatthe\splittopskipand\splitmaxdepth5take!/theirvqaluesfromtheright\strutbox: ztheoneusedinfoGotnotes.TNote5espGeciallyHtheimportanceoftemporarilyreducingthe\hsizeto0:3ofitsnormal5vqalue.iThis6determinesthewidthsoftheindividualcolumns.Soifthenormal5\hsize>is,C^say*,10cm,theneachcolumnwillbGe0:3 10=3cmwide,C^leavinga5gapUUof1cmspreadequallybGetweenUUcolumns(i.e.,.5cmbGetweenUUeach).DTheoargumentsare1)thenoteseriesletterand2)thefulltextofthenote5(includingUUnumbGers,lemmaandtext).?\def\threecolvfootnote#1#2{% I\insert\csname#1footins\endcsname\bgroupI\notefontsetupI\interlinepenalty=\csnameinter#1footnotelinepenalty\endcsnameI\floatingpenalty=20000I\splittopskip=\ht\strutbox\splitmaxdepth=\dp\strutboxI\rightskip=0pt\leftskip=0ptI\csname#1footfmt\endcsname#2\egroup}߭ \threecolfootfmt5\threecolfootfmt8isthecommandthatformatsonenote.Ituses\raggedright, 5whichp#willusuallybGepreferablewithsuchshortlines.0Settingthe\parindent5toUUzeromeansthat,withineachindividualnote,thelinesbGegin ushleft.DTheargumentsare1)thelinenumbGers,2)thelemmaand3)thetextofthe5-footnoteUUcommand.?\def\threecolfootfmt#1#2#3{% I\normal@parsI\hsize.3\hsizeI\parindent=0ptI\tolerance=5000I\raggedrightI\leavevmodeI\strut{\notenumfont\printlines#1|}\enspaceI{\select@lemmafont#1|#2}\rbracket\enskipI#3\strut\par\allowbreak}9\threecolfootgroup5And-hereisthefootgroupmacrothat'scalledwithintheoutputroutinetore- 5group,uthenotesintothreecolumns.d'Onceagain,4thecallto\notefontsetupis5theretoensurethatitistheright\splittopskip|theoneusedinfoGotnotes|5which\isusedtoprovidethethirdargumentfor\rigidbalance.Thisthird5argument (\@h)isthetopskipforthebGoxcontainingthetextofthefoGotnotes,G~s58 FOOTNOTESd71o5anddoGesthejobofmakingsurethetoplinesofthecolumnslineuphorizon- 5tally*. InETheTKß'E-Xb}'ook,Ap.398,DonaldKnuthsuggestsretrievingtheouputof5\rigidbalance,puttingNitbackintotheinsertionbGox,andthenprintingthe5bGox.OHere,wejustprintthe\linewhichcomesoutof\rigidbalancedirectly*,5withoutUUanyre-bGoxing.?\def\threecolfootgroup#1{{\notefontsetup I\splittopskip=\ht\strutboxI\expandafterI\rigidbalance\csname#1footins\endcsname3\splittopskip}}65Tw9oTcolumnsL\foottwocol5Y*ouxsay\foottwocol{A}tohavetheAxdseriesoffoGotnotestypGesetintwo 5columns.oItj8isimpGortanttocallthisonlyafter\hsizehasbeensetforthe5doGcument.?\def\foottwocol#1{% I\expandafter\let\csnamev#1footnote\endcsname=\twocolvfootnoteI\expandafter\let\csname#1footfmt\endcsname=\twocolfootfmtI\expandafter\let\csname#1footgroup\endcsname=\twocolfootgroupI\twocolfootsetup{#1}}߭ \twocolfootsetup ߭ \twocolvfootnote 6\twocolfootfmt ߭ \twocolfootgroup5Here/isaseriesofmacroswhichareverysimilartotheirthree-columncounter- 5parts.XInBthiscase,eachnoteisassumedtocontributeonlyahalfalineoftext.5Andthenotesaresetincolumns0.45\hsizewide,%givingagapbGetweenthem5ofUUonetenthofthe\hsize.?\def\twocolfootsetup#1{% I\count\csname#1footins\endcsname500I\multiply\dimen\csname#1footins\endcsnameby2}?\def\twocolvfootnote#1#2{\insert\csname#1footins\endcsname\bgroupI\notefontsetupI\interlinepenalty=\csnameinter#1footnotelinepenalty\endcsnameI\floatingpenalty=20000I\splittopskip=\ht\strutbox\splitmaxdepth=\dp\strutboxI\rightskip=0pt\leftskip=0ptI\csname#1footfmt\endcsname#2\egroup}?\def\twocolfootfmt#1#2#3{%I\normal@parsI\hsize.45\hsizeI\parindent=0ptI\tolerance=5000I\raggedrightI\leavevmodeI\strut{\notenumfont\printlines#1|}\enspaceI{\select@lemmafont#1|#2}\rbracket\enskipI#3\strut\par\allowbreak}?\def\twocolfootgroup#1{{\notefontsetupI\splittopskip=\ht\strutboxI\expandafterI\rigidbalance\csname#1footins\endcsname2\splittopskip}}HKs59 OUTPUTUUROUTINE#72o59MLOutputffroutine5NowUUwebGegintheoutputroutineandassociatedthings.659.1SCropmarksuT5ThefollowingaretheparametersthatspGecifythepagedimensionsthatrelate 5toUUcropmarks;theyaresetbythe\cropsetupmacro.L\crop@vsize5\crop@vsizeUUistheverticaldistancebGetweencropmarks.?\newdimen\crop@vsize\crop@vsize=0ptL\crop@hsize5\crop@hsizeUUisthehorizontaldistancebGetweencropmarks.?\newdimen\crop@hsize\crop@hsize=0ptb\head@margin5\head@marginUUistheheadmargin.?\newdimen\head@margin\head@margin=0ptb\back@margin5\back@marginUUisthebackmargin.?\newdimen\back@margin\back@margin=0pt$\odd@back \even@back \@back5T*oShandletheoGdd/evendi erenceinthebackmargin,jwekeepthedi erent 5marginޟsizesintwoޟregisters,@\odd@backand\even@back,anduseatoken5register,UU\@back,toholdthecoGdethatdecideswhichtouse.?\newdimen\odd@back\odd@back=0pt ?\newdimen\even@back\even@back=0pt?\newtoks\@back?\@back={\ifodd\pageno\odd@back\else\even@back\fi}рH\registration@marks5W*eRstoreuptheregistrationmarksinabGoxcalled\registration@marksthat's 5reusedUUforeverypage,insteadofregeneratingthemallagainateachpage.?\newbox\registration@marksf\vertical@rules t\horizontal@rules5The8followingaremacrosthatwillbGeusedinthecourseofmaking\registration@marks.?\def\vertical@rules{% I\hboxto\crop@hsize{%R\vruleheight1pcwidth\cropwidthdepth0ptR\hfilR\vrulewidth\cropwidthdepth0pt}}?\def\horizontal@rules{%I\hboxto\crop@hsize{%R\llap{\vrulewidth1pcheight\cropwidth\kern\cropgap}%R\hfilR\rlap{\kern\cropgap\vrulewidth1pcheight\cropwidth}}}\cropwidth y\cropgap5Setjstandardvqaluesforthethicknessoftherulesusedfordrawingcropmarks 5(\cropwidth)UUandthegapbywhichcropmarksdon'tcross(\cropgap).?\newdimen\cropwidth\cropwidth=.4pt?\newdimen\cropgap\cropgap=5ptIs59 OUTPUTUUROUTINE#73oL\magicvskip \headlinefont5Publishersusuallymeasuretheheadmarginforthecropmarksfromthetopof 5theUUrunninghead.^31DPlainTU>'ExX'sstartingreferencepGointforapageisnottherunninghead,but5akpGoint\topskipabovekthebaselineofthe rstlineofmaintextonthepage.5(Before̳doinganythingelse,TU>'ExXaddsasmallamountofskiptothetopofa5new:page,@/whichiscalculatedtobringthebaselineofthetoplineoftextdown5to^ \topskipfromthetopofthepage,`;i.e.,from^ thepGointwherethe\vsizeis5measuredcfrom: TheTKß'E-Xb}'ook,pp.113{114.)XSoanyverticalmatterweaddin5the]outputroutinetothestartofapagewillsitwithitsbaseatapGoint\topskip5abGovethebaselineofthe rstlineofthemaintext.LAndif\ht\strutboxisthe5height=oftheheaderbGoxweareadding,thenthedistancebGetweenitstopand5the"[referencepGointwillbe\topskip\ht\strutboxs,Uwheresisthespace5weUUwanttoputbGetweenthebaselinesoftheheaderandthe rsttextline.DInbPlainTU>'ExX,thisdistanceis22:5pt,a\magicconstant"explainedin5ThehTKß'E-Xb}'ook,p.255.,eRather.thanusingthis gureexplicitly*,EDMACcalculatesit5afresh,incaseyouhavechangedanyofthevqaluesthatgotomakeupthismagic5constant.;Theparametersinvolvedarethe\topskip,8thefontofthe\headline5text(whichdeterminestheheightofthe\strutbox),5andthe\baselineskip5(assumingK*thatyouwanttheheadertobGeexactlytwolinesabGovethe rstline5ofUUthetext).qThiscalculationisdonewithin\cropsetup. ?\newdimen\magicvskip\magicvskip=\topskipDIfR8the\headlineisgoingtobGesetatadi erentheightfromthetopofthe5text,-or5inadi erentsizeoffont,-bGesuretomaketheappropriatechangesto5theabGoveparameters,GorthecropmarkswillnotbGeintherightpGosition.4 W*e5nowUUsetthestandardvqaluefor\headlinefont.?\let\headlinefont=\rm~\cropsetup\ifcropmarks@5Herehzatlastisthe\cropsetupmacrothattakesthepageandmargindimensions5youۘspGecifyandcalculatesalltheotherparametersfromthem.I3Itshouldalways5bGeusedafter\hsize,4\makeheadline,and\headlinefontforthedocument5havexbGeenset,asexplainedabove. Thesexmacrosusethesameapproachas5thoseUpublishedbyDavidSalomoninTUGb}'oat-11U(1990),Εpp.77{78.Cf.also5theUU\setcornerrulescoGdeinTheTKß'E-Xb}'ook,UUpp.416{417.DTheUUfourargumentsareasdescribGedabove,UUonpage17.DFirst, set"upaconditional,\ifcropmarks@,foruseintheoutputroutine.5Initially*,UUit'sfalse.q(Itissettotruewhenyouusethe\cropsetupmacro.)?\newif\ifcropmarks@5NowUUthemainmacrotosetupcropmarks:?\def\cropsetup#1#2#3#4{\cropmarks@true I\global\crop@vsize=#1I\global\crop@hsize=#2I\global\head@margin=#3I\global\back@margin=#45The2backmarginforoGddpagesiseasy*._For2evenpages,wetakethefullwidth 5andUUsubtractthetextwidthandbackmarginsize.I\global\odd@back=\back@marginI\global\even@back=\crop@hsize5&ffv J=w-:31LCf.,#HughWilliamson,MMethodsu;ofBookDesign(New,#HaÎven:rYJaleUniversityPress,M1983), p.j21.Js59 OUTPUTUUROUTINE#74oI\global\advance\even@backby-\hsize I\global\advance\even@backby-\back@marginI\setbox\registration@marks=R\vboxto\crop@vsize{%\2\offinterlineskip\2\vboxto0pt{\vssew^\vertical@rulesew^\kern\cropgapew^\horizontal@rules}%\2\vfil\2\vboxto0pt{%ew^\horizontal@rulesew^\kern\cropgapew^\vertical@rules\vss}}%DSetUUthebGox'ssizetozero.I\ht\registration@marks=0ptI\wd\registration@marks=0ptDInvthenextlines,Fwesetthefontto\headlinefontsothattheheightof 5the\u\strutboxwillbGethethatofthe\headlinefontfont.&Thismakesthe5assumption{thatfontusedforthe\headlineisinvokedby\headlinefont,5and1thatthe\headlinefontmacrode nesa\strutboxofanappropriatesize5forthefont.(ThestandardsettingistoPlainTU>'ExX's\rm,andtheheightofa5\strutboxUUforthisfontisalreadysetbyxPlainTU>'ExX.)I\global\magicvskip=\topskip I{\headlinefont\global\advance\magicvskipby-\ht\strutbox}%I\global\advance\magicvskipby-2\baselineskip}659.2SOutputroutineuT 3P\output \edmac@output \pagecontents5This isanewoutputroutine,withchangestohandleprintingallourfoGotnotes. 5ThosechangeshavenotbGeenaddeddirectly*,butareinmacrosthatgetcalled5here:tthatshouldmakeiteasiertoseewhatwouldneedtobGetakenovertoa5di erent%outputroutine.7W*econtinuetousethe\pagebody,\makeheadline,5\makefootline,{and \dosuperejectmacrosof*PlainTU>'ExX;forthosemacros,5andUUtheoriginalversionof\output,seeTheTKß'E-Xb}'ook,UUp.364.?\output{\edmac@output} ?\def\edmac@output{\shipout\vbox{\normal@parsI\ifcropmarks@R\do@cropmarksI\elseR\vbox{\makeheadline\pagebody\makefootline}%I\fi}%I\advancepagenoI\ifnum\outputpenalty>-\@MM\else\dosupereject\fi}?\def\pagecontents{\page@startI\ifvoid\topins\else\unvbox\topins\fiI\dimen@=\dp\@cclv\unvbox\@cclv%openup\box255I\do@feetI\ifr@ggedbottom\kern-\dimen@\vfil\fi}K s510 CROSSUUREFERENCING75o\do@cropmarks5WhenKcropmarksaretobGeprinted,\edmac@outputusesthismacrotoprint 5them,UUalongwiththetextofthepage. ~덑?\def\do@cropmarks{% I\vbox{\offinterlineskipR\kern\magicvskipR\copy\registration@marksR\kern-\magicvskip}%I\nointerlineskipI\kern\head@marginI\moveright\the\@back\vbox{\makeheadline\pagebody\makefootline}}|y\do@feet5\do@feetshipsoutallthefoGotnotes.StandardEDMAC˲hasonly vefeet,>but5there`isnothinginprincipaltoprevent`youfromcreatinganarachnoidorcen-5tipGedaledition;straightforwardmoGdi cationsofEDMACִareallthat'srequired.5However,Dthe@myriapGedaleditionisruledoutbyTU>'ExX'slimitations:gkthenumbGer5ofUUinsertionclassesislimitedto255. ~덑?\def\do@feet{%I\ifvoid\footins\elseR\vskip\skip\footinsR\footnoteruleR\unvbox\footinsI\fiI\ifvoid\Afootins\elseR\Afootstart{A}\Afootgroup{A}%I\fiI\ifvoid\Bfootins\elseR\Bfootstart{B}\Bfootgroup{B}%I\fiI\ifvoid\Cfootins\elseR\Cfootstart{C}\Cfootgroup{C}%I\fiI\ifvoid\Dfootins\elseR\Dfootstart{D}\Dfootgroup{D}%I\fiI\ifvoid\Efootins\elseR\Efootstart{E}\Efootgroup{E}%I\fi} 510UfdCrossffreferencing5Y*ouFcanmarkaplaceinthetextusingacommandoftheform\label{foo},|and5later refertoitusingthelabGelfoobysaying\pageref{foo},or\lineref{foo}5or8!\sublineref{foo}.+ThesereferencecommandswillproGduce,prespectively*,5theUUpage,lineandsub-lineonwhichthe\label{foo}commandoGccurred.DThe4referencemacroswarnyouifareferenceismadetoanunde nedlabGel.5If"foohasbGeenusedasalabelbefore,VGthe\label{foo}commandwillissue5a%complaint;;subsequent\pagerefand\linerefcommandswillrefertothe5latestoGccurrenceof\label{foo}.cJWhenanyofthesecommandsareused,an5additionalUUauxiliary le,calledh lename[i0&.aux,iscreated.| 6\labelref@list5Setdupanewlist,a\labelref@list,todholdthepage,alineandsub-linenumbGers5forUUeachlabGel.Ls510 CROSSUUREFERENCING76o?\list@create{\labelref@list}|\@aux5\@auxWistheoutputstreamnumbGerWforourauxiliary lethatcontainslabeling 5commands. =?\newwrite\@aux 6\do@labelsfile5The_;\do@labelsfilemacroopGenstheauxiliarylabels leandexecutesit;d.the5 le%shouldconsistofastreamof\make@labelscommands.ThenitopGensa5newsauxiliary le,zandrede nesitselfsothatitisn'tcalledagain.ThiswillbGe5calledAbythe rst\labelorreferencecommandthatappGearsinthetext|and5not`atalliftherearenolabGelsorreferences,csowewon'tbGotheratallwithan5.auxUU leifthere'snoneedforit. =?\def\do@labelsfile{% Mp\openin\@inputcheck=\jobname.auxMp\ifeof\@inputcheck\else\2\closein\@inputcheck\2\begingroupj0\makeatletter\catcode`\^^M=9j0\input\jobname.aux\2\endgroupMp\fiMp\immediate\openout\@aux=\jobname.auxMp\global\let\do@labelsfile=\relax}\label\zz@@@5The\labelcommand rstwritesa\@labmacrotothe\linenum@out le.It5thenWcheckstoseethatthe\labelref@listactuallyhassomethinginit(if5not,it`createsadummyentry),andpGopsthenextvqalueforthecurrentlabGel,5storingitin\label@refs.[Finallyitde nesthelabGeltobe\emptysothatany5futureUUcheckwillturnupthefactthatithasbGeenused.^32 =?\def\zz@@@{000|000|000}%setthreecounterstozeroinonego{#?\def\label#1{\do@labelsfileI\write\linenum@out{\string\@lab}%I\ifx\labelref@list\emptyR\xdef\label@refs{\zz@@@}%I\elseR\gl@p\labelref@list\to\label@refsI\fiI\edef\next{\write\@aux{\string\make@labels\label@refs|{#1}}}%I\next}b\make@labels5The\make@labelsmacrogetsexecutedwhenthelabGels leisread.DF*oreach5labGel&itde nesamacro,Zwhosenameismadeuppartlyfromthelabelyou5supplied,b1that_containsthepage,lineandsub-linenumbGers.But_ rstitchecks5toUUseewhetherthelabGelhasalreadybeenused(andcomplainsifithas). =?\def\make@labels#1|#2|#3|#4{%I\expandafter\ifx\csnamethe@label#4\endcsname\relax\elseR\edmac@warning{Duplicatedefinitionoflabel`#4'ponpage\number\pageno.}%I\fiI\expandafter\gdef\csnamethe@label#4\endcsname{#1|#2|#3}%I\ignorespaces}5቉ffv J=w-:32LTheVSremainingmacrosinthissectionwÎerekindlyrevisedbyWJayneSullivan,vwhosub- stanÎtiallyXimprovedtheireciencyand exibilityJ.M s510 CROSSUUREFERENCING77o|\@lab5TheL\@labcommand,ϴwhichappGearsinthe\linenum@out le,appGendsthecur- 5rent>Xvqaluesofpage,Blineandsub-linetothe\labelref@list.jThesevaluesare5de nedzsbytheearlier\@page,\@l,andzsthe\sub@onand\sub@offcommands5appGearingUUinthe\linenum@out le. ?\def\@lab{\xright@appenditem I{\the\page@num|\the\line@num|%WJ\ifsublines@\the\subline@num\else0\fi}\to\labelref@list}I%y\pageref $\xpageref5IfFthespGeci edlabelexists,I\pagerefgivesitspagenumbGer.lF*orthisreference 5command,asɎfortheothertwo,aɎspGecialversionwithpre xxisprovidedfor5useՆinplaceswherethecommandistobGescannedasanumber,asՆin\linenum.5ThesespGecialversionshavetwolimitations: theydon'tprinterrormessagesif5theQreferenceisunknown,andtheycan'tappGearasthe rstlabelorreference5commandinthe le;l=youmustensurethata\labeloranormalreference5commandUUappGears rst,orthesex-commandswillalwaysUUreturnzeros.?\def\pageref#1{\ref@undefined{#1}\getref@num{1}{#1}} ?\def\xpageref#1{\getref@num{1}{#1}}I%y\lineref$\xlineref5IfUUthespGeci edlabelexists,\linerefgivesitslinenumbGer.?\def\lineref#1{\ref@undefined{#1}\getref@num{2}{#1}} ?\def\xlineref#1{\getref@num{2}{#1}}I%L\sublinerefb\xsublineref5IfUUthespGeci edlabelexists,\sublinerefgivesitssub-linenumbGer.?\def\sublineref#1{\ref@undefined{#1}\getref@num{3}{#1}} ?\def\xsublineref#1{\getref@num{3}{#1}}I% 6\ref@undefined5The+nextthreemacrosareusedbythereferencingcommandsabGove,aanddo5the[VjobofextractingtherightnumbGersfromthelabelmacrothatcontainsthe5page,~line,andC"sub-linenumbGer.;.TheC"\ref@undefinedmacroiscalledwhen5yourefertoalabGelwiththenormalreferencingmacros.KItsargumentisalabGel,5andvitjustchecksvthatthelabGels lehasindeedbeenopenedandread(ifnot,5it}MdoGesso),Kandthatthelabelisde ned(ifnot,Kitsqueals).(Itisthesechecks5whichUUthex-formsofthereferencemacrosleaveout.)?\def\ref@undefined#1{\do@labelsfile I\expandafter\ifx\csnamethe@label#1\endcsname\relaxI\edmac@warning{Reference`#1's onpage\the\pageno\spaceundefined.Using`000'.}%ew^\fi}I%L\getref@num5Next,|b\getref@numA`fetchesthenumbGerwewant.5Ithastwoarguments:Ithe 5 rstpissimplyadigit,wspGecifyingwhethertofetchapage(1),line(2)orsub-5line9(3)numbGer.I(This9switchingisdonebycalling\label@parse.)IThesecond5argument;isthelabGel-macro, whichbGecauseofthe\@labmacroabove;isde ned5toUUbGeastringofthetype123|456|789.?\def\getref@num#1#2{% I\expandafterI\ifx\csnamethe@label#2\endcsname\relaxR000%I\elseR\expandafter\expandafter\expandafterR\label@parse\csnamethe@label#2\endcsname|#1%I\fi}N,s511 ENDNOTES178ob\label@parse5NoticethatweslippGedanother|delimiterintothepGenultimatelineof 5\getref@num,=to`keepthe\switch-numbGer"separatefromthereferencenum-5bGers.A}This|isusedasanotherparameterdelimiterby\label@parse,which5extractsitheappropriatenumbGerifromits rstarguments..yThe|-delimitedargu-5ments#consistoftheexpandedlabGel-macro(threereferencenumbGers),followed5bytheswitch-numbGer(1,2,or3)whichde neswhichoftheearlierthreenum-5bGersUUtopickout.q(Itwasearliergivenasthe rstargumentof\getref@num.)?\def\label@parse#1|#2|#3|#4{% I\ifcase#4\relaxI\or#1%I\or#2%I\or#3%I\fi}\xxref5The\xxrefcommandtakestwoarguments,ibGothofwhicharelabGels,ie.g., 5\xxref{mouse}{elephant}.(Itu rstdoGessomecheckingutomakesurethatthe5labGelsGRdoexist(ifonedoesn't,thosenumbersGRaresettozero).GThenitcalls5\linenumxandsetsthebGeginningpage,line,andxsub-linenumbersxtothoseof5thePplacewhere\label{mouse}wasplaced,andtheendingnumbGerstothose5ate\label{elephant}.ThepGointofthisistobeabletomanufacturefootnote5line-dreferencestopassageswhichcan'tbGespeci edinthenormalway-dasthe5 rstHargumentto\textforonereasonoranother.m[Using\xxrefinthesecond5argumentUUof\textletsyousetthingsupatleastsemi-automatically*.?\def\xxref#1#2{% I{\expandafter\ifx\csnamethe@label#1\endcsnameMp\relax\expandafter\let\csnamethe@label#1\endcsname\zz@@@\fiMp\expandafter\ifx\csnamethe@label#2\endcsname\relaxMp\expandafter\let\csnamethe@label#2\endcsname\zz@@@\fiMp\linenum{\csnamethe@label#1\endcsname|%R\csnamethe@label#2\endcsname}}}\makelabel5SometimesWthe\labelcommandcannotbGeusedtospecifyexactlythepage 5andlinedesired;)youcanusethe\makelabelmacromakeyourownlabGel.5F*orexample,ifyousay\\makelabel{elephant}{10|25|0}"youwillhavecre-5atedowanewlabGel,andalatercallto\pageref{elephant}wouldprint\10"5andUW\lineref{elephant}wouldprint\25".qThesub-linenumbGerhereiszero.5\makelabelwtakesalabGel,followedbyapageandalinenumbGer(s)asarguments.?\def\makelabel#1#2{\expandafter\xdef\csnamethe@label#1\endcsname{#2}}5(If]youareonlygoingtorefertosuchalabGelusing\xxref,_thenyoucanomit5entriescJinthesamewayaswith\linenum(seepp.44and29),since\xxref5makesUUacallto\linenuminordertodoitswork.)!č511UfdEndnotes|\@end 3P\ifend@$\end@true\end@false5Endnotes#ofallvqarietiesaresaved#upina le,-typicallynamedh lename[i/.end.5\@endwistheoutputstreamnumbGerwforthis le,Aand\ifend@isa agthat's5trueUUwhenthe leisopGen.?\newwrite\@end ?\newif\ifend@O:s511 ENDNOTES179o$\end@open \end@close5\end@open;and\end@closearethemacrosthatareusedtoopGenandclosethe 5endnote le.3Notethatallourwritingtothis leis\immediate:allpageand5line&numbGersfortheendnotesaregeneratedbythesamemechanismweusefor5the3foGotnotes,:sothatthere'snoneedtodeferanywritingtocatchinformation5fromUUtheoutputroutine.?\def\end@open#1{\end@true\immediate\openout\@end=#1\relax} ?\def\end@close{\end@false\immediate\closeout\@end}\end@stuff5\end@stuff]isusedby\beginnumberingtodoeverythingthat'snecessaryfor5theendnotesatthestartofeachsection:-9itopGensthe\@end le,|ifnecessary*,5andUUwritesthesectionnumbGerUUtotheendnote le.?\def\end@stuff{% DdD\ifend@\relax\elseMp\end@open{\jobname.end}%DdD\fiDdD\immediate\write\@end{\string\@section{\the\section@num}}}$\Aendnote $\Bendnote $\Cendnote $\Dendnote $\Eendnote5Thefollowing vemacroseachfunctiontowriteoneendnotetothe.end le. 5Like_thefoGotnotes,theseendnotescomein veseries,ARthroughE.W*echange5\newlinecharVsothatinthe leeveryspacebGecomesthestartofanewline;5thisgenerallyensuresthatalongnotedoGesn'texceedrestrictionsonthelength5ofUUlinesin les.?\def\Aendnote#1{{\newlinechar='40 `\immediate\write\@end{\string\Aend%D{\ifnumberedpar@\@nums\fi}%D{\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}?\def\Bendnote#1{{\newlinechar='40`\immediate\write\@end{\string\Bend%D{\ifnumberedpar@\@nums\fi}%D{\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}?\def\Cendnote#1{{\newlinechar='40`\immediate\write\@end{\string\Cend%D{\ifnumberedpar@\@nums\fi}%D{\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}?\def\Dendnote#1{{\newlinechar='40`\immediate\write\@end{\string\Dend%D{\ifnumberedpar@\@nums\fi}%D{\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}?\def\Eendnote#1{{\newlinechar='40`\immediate\write\@end{\string\Eend%D{\ifnumberedpar@\@nums\fi}%D{\ifnumberedpar@\@tag\fi}{#1}}}\ignorespaces}|\Aend |\Bend |\Cend |\Dend |\Eend $\endprint \@gobblethree $\@section5\Aendnoteandthelikewritecommandscalled\Aendandsoontotheendnote 5 le;3theseEareanalogoustothevqariousfootfmtcommandsabGove,andEthey5takebthesamearguments.RWhenweproGcessthis le,9we'llwanttopickout5thenotesofoneseriesandignorealltherest.T*odothat,kweequatetheend5commandfortheserieswewantto\endprint,andleavetherestequatedto5\@gobblethree,ׇwhichjustskipsoveritsthreearguments.=\The\endprinthere5isUUnearlyidenticalinitsfunctioningto\normalfootfmt.PI1s512 THEUUEND 180oDTheFendnote lealsocontains\@sectioncommands,I$whichsupplythesec- 5tion,}numbGersfromthemaintext;:standardEDMAC,sdoesnothingwiththisinfor-5mation,but[it'sthereifyouwanttowritecustommacrostodosomethingwith5it.?\def\endprint#1#2#3{{\notefontsetup{\notenumfont\printlines#1|}% \2\enspace{\select@lemmafont#1|#2}\enskip#3\par}}?\def\@gobblethree#1#2#3{}?\let\Aend=\@gobblethree?\let\Bend=\@gobblethree?\let\Cend=\@gobblethree?\let\Dend=\@gobblethree?\let\Eend=\@gobblethree?\let\@section=\@gobbleL\doendnotes5\doendnotesMisthecommandyouusetoprintoneseriesofendnotes;Iittakes 5oneUUargument,theseriesletterofthenoteseriesyouwanttoprint.?\def\doendnotes#1{\end@closeMp\begingroup\2\makeatletter\2\expandafter\let\csname#1end\endcsname=\endprint\2\input\jobname.endMp\endgroup}L\noendnotes5Y*oucansay\noendnotesbGeforethe rst\beginnumberinginyour leifyou 5aren'tgoingtobGeusinganyoftheendnotecommands:WXthiswillsuppressthe5creationofan.end le.RxIfyoudohavesomelingeringendnotecommandsin5yourUU le,thenoteswillbGewrittentoyourterminalandtotheTU>'ExXlog le.?\def\noendnotes{\global\let\end@stuff=\relax D\global\chardef\@end=16}!č512UfdTheffEnd5AtUUsignsarenolongerletters.?\makeatotherQVs5A EXAMPLESe81o5AQnExamples5In6thefollowingexamples,'ExXformat le,tobGeinvoked withacommand5suchUUastex?&edmach lename[i0&.M5A.1W1GeneralexampleoffeaturesuT5Thisxmade-upexample,[features.tex,isxincludedpurelytoillustratesomeof5EDMAC'sydmainfeatures.Itishardto ndreal-worldexamplesthatactuallyuse5asmanylayersofnotesasthis,!sowemadeoneup.\STheexampleisabittricky5totread,׻butclosestudyandcomparisonwiththeoutput(Figure2)willbGe5illuminating.5ffY(/\inputedmac.doc \hsize28pc\vsize35pc\cropsetup{45pc}{35pc}{4pc}{4pc}\headline{Headline\hfil\folio}\footline{Footline\hfil--\folio--\hfilfootline}\makeatletter%I'dlikeaspacedoutcolonafterthelemma:\def\spacedcolon{{\rm\thinspace:\thinspace}}\def\normalfootfmt#1#2#3{%,\normal@pars,\parindent=0pt\parfillskip=0ptplus1fil,{\notenumfont\printlines#1|}\strut\enspace,{\select@lemmafont#1|#2}\spacedcolon\enskip#3\strut\par}%AndI'dlikethe3-colnotesprintedwithahangingindent:\def\threecolfootfmt#1#2#3{%,\normal@pars,\hsize.3\hsize,\parindent=0pt,\tolerance=5000!%high,butnotinfinite,\raggedright,\hangindent1.5em\hangafter1,\leavevmode,\strut\hboxto1.5em{\notenumfont\printlines#1|\hfil}\ignorespaces,{\select@lemmafont#1|#2}\rbracket\enskip,#3\strut\par\allowbreak}%AndI'dlikethe2-colnotesprintedwithadoublecolon:\def\doublecolon{{\rm\thinspace::\thinspace}}\def\twocolfootfmt#1#2#3{%,\normal@pars,\hsize.45\hsize,\parindent=0pt,\tolerance=5000,\raggedrightR]gs5A EXAMPLESe82oqǍ9 FigureUU2:qOutputfromfeatures.tex.Sfs5A EXAMPLESe83oC,\leavevmode C,\strut{\notenumfont\printlines#1|}\enspaceC,{\select@lemmafont#1|#2}\doublecolon\enskipC,#3\strut\par\allowbreak}9%Andintheparagraphedfootnotes,I'dlikeacolontoo:9\def\parafootfmt#1#2#3{%C,\normal@parsC,\parindent=0pt\parfillskip=0ptplus1filC,{\notenumfont\printlines#1|}\enspaceC,{\select@lemmafont#1|#2}\spacedcolon\enskipC,#3\penalty-10}9\makeatother9%I'dlikethelinenumberspickedoutinbold.9\let\notenumfont=\eightbf9\lineation{page}9\linenummargin{inner}9\firstlinenum=3!%justbecauseIcan9\linenumincrement=19\foottwocol{A}9\footthreecol{B}9\footparagraph{E}9%I'vechanged\normalfootfmt,soinvokeitagainforCandDnotes.9\footnormal{C}9\footnormal{D}9\beginnumbering9\pstart9Thisisan\text{example}C,\Afootnote{eximempleC,D.}/9ofsometextwith\text{variant}C,\Afootnote{alternative,A,B.}/9readingsrecordedas`A'footnotes. s,Fromhereon,\text{though}C,\Afootnote{however$\alpha$,$\beta$}/,9weshallhave\text{`C'}C,\Bfootnote{B,{\itpace\/}thetext}/.9\text{Forspice,letusmarkalongerpassage,butgiveadifferentC,lemmaforit,sothatwedon'tgeta\text{huge}L\Dfootnote{vastE,F;notethatthisisLa`D'notetosectionoftextwithinalongerlemma}/C,amountoftextinanote}\lemma{Forspice\dots\note}C,\Cfootnote{Thenotehereistype`C'}/.9\text{Finally}C,\Efootnote{intheendX,Y}/,9\text{we}C,\Efootnote{usK}/9\text{shouldn't}C,\Efootnote{oughtnottoL,M}/9\text{forgetthe}C,\Efootnote{omittomentionthe\S,\P}/9\text{paragraphed}C,\Efootnote{blockedM,N}/TgCs5A EXAMPLESe84o9\text{notes} C,\Efootnote{variantsHH,KK}/,9whichareso\text{useful}C,\Efootnote{trulyusefulL,P}/9whenthereare\text{agreatnumberof}C,\Efootnote{many,many(preferably)}/9shortnotestobe\text{recorded}C,\Efootnote{noted:repetition}/.9\pend9\pstart9Thisisasecondparagraph,givingmore{\it\text{examples}C,\Afootnote{eximplesL,M.}/}9oftextwith\text{variant}C,\Afootnote{alternative,A,B.}/9readingsrecordedas`A'footnotes. s,Fromhereon,\text{though}C,\Bfootnote{however$\alpha$,$\beta$}/,9weshallhave\text{`B'}C,\Bfootnote{B,ascorrectlystatedinthetext}/notesinthetext.9\text{Forspice,letusmarkalongerpassage,butgiveadifferentC,lemmaforit,sothatwedon'tgeta{\it\text{huge}L\Dfootnote{vastE,F;notethatthisisLa`D'notetotextwithinalongerlemma.}/}C,amountoftextinanote}\lemma{Forspice,\dots\note}C,\Cfootnote{Thisisaroguenoteoftype`C'.}/.9\text{Finally}C,\Bfootnote{IntheendX,Y}/,9\text{we}C,\Bfootnote{wehereK}/9\text{shouldn't}C,\Bfootnote{oughtnottoL,M}/9\text{forgetthe}C,\Bfootnote{omittomentionthe\S,\P}/9\text{column}C,\Bfootnote{blockedM,N}/9\text{notes}C,\Bfootnote{variantsH}/,9whichareso\text{useful}C,\Bfootnote{very,veryusefulL,P}/9whenthereare\text{many}C,\Bfootnote{lotsofZ}/9shortnotestobe\text{recorded}C,\Bfootnote{recordedandputdown:M(repetition)}/.9\pend9\endnumbering9\bye5 mffYA.2"1GascoigneuTThez rstreal-lifeexampleistakenfromaneditionofGeorgeGascoigne'sA Hundr}'ethSundrieFlowresF thatsisbGeingpreparedbyG.W.PigmanIII,attheUo*s5A EXAMPLESe85o5California*InstituteofT*echnology.cFigure*3showstheresultofsettingthetext 5withUUEDMAC.DThemaininput le rstcallsfora leofinitialde nitions,̽calledgg.tex.5This\! le,]shownbGelow,]demonstrateshowEDMAC\macrosmaybGecustomizedto5giveUUdetailedcontroloverthe nalformat.5X-ffY@%parametersforeditionofGascoigne's %X{\itAHundrethSundrieFlowres}.\ifx\ggloaded\relax\endinput\else\let\ggloaded=\relax\fi\noendnotes\makeatletter%\font\poemnumfont=cmmi12\font\titlefont=cmr12\font\ninerm=cmr9\font\nineit=cmti9!\font\eightrm=cmr8\let\headfont=\eightrm\font\eightit=cmti8Y\let\headit=\eightit s,\font\sixrm=cmr6\font\foliofont=cmmi8X\let\os=\foliofont\let\numlabfont=\foliofont%\firstsublinenum=1000\hoffset=1.25in\voffset=1.25in\hsize=24pc\vsize=488pt%\frenchspacing\parskip=0pt\hyphenpenalty=1000%\def\makeheadline{\vboxto0pt{\vskip-16.5pt,\line{\vboxto8.5pt{}\the\headline}\vss}\nointerlineskip}\nopagenumbers%%Say\nolinenumsifyouwantnolinenumbersinthenotes.\newif\ifnolinenums\def\nolinenums{\global\nolinenumstrue}\def\linenums{\global\nolinenumsfalse}%Say\nopoemnumtosuppresspoemnumberinthenotes.\newif\ifpoemnum\def\nopoemnum{\global\poemnumfalse}%Say\nodbpoemnumtosuppresspoemnumberinthenotesfor% s,poemswithtwonumbers,e.g.,64(v).\newif\ifdbpoemnum\def\nodbpoemnum{\global\dbpoemnumfalse}%Say\noactnumtosuppressact/scenenumbersinthenotes.\newif\ifactnum\def\noactnum{\global\actnumfalse}%\newcount\poemnumber\def\poem#1{\poemnumber=#1\poemnumtrue\parindent=0pt,\centerline{{\poemnumfont#1}}\vskip12pt}%\newcount\dbpoemnumone s,\newcount\dbpoemnumtwo\def\dbpoem#1#2{\dbpoemnumtrue\dbpoemnumone=#1\dbpoemnumtwo=#2,\parindent=0pt\par,\centerline{{\poemnumfont#1}{\titlefontX(\romannumeral#2)}}\nointerlineskip\vskip12pt}%Vwps5A EXAMPLESe86oqǍ9 FigureUU3:qOutputfromiocasta.tex.Ws5A EXAMPLESe87o9\newcount\actnumber\newcount\scenenumber 9\def\act#1#2#3{\actnumtrue\actnumber=#1\scenenumber=#2C,\parindent=0pt\vskip24ptplus12ptminus3pt\hruleheight0pt\relaxC,\pstart\startsub\centerline{\rm#3}\pend\endsubC,\mark{{\os#1\fullstop#2}}\nobreak\vskip12ptplus3ptminus3pt}9%9\def\rightlinenum{\ifbypage@\ifnum\line@num<10\kern.5em\fi\else9\ifnum\line@num<10\kern1em\else\ifnum\line@num<100C,\kern.5em\fi\fi\fi\kern.5em\numlabfont\the\line@numC,\ifnum\subline@num>0:\the\subline@num\fi}9\def\leftlinenum{\numlabfont\the\line@numC,\ifnum\subline@num>0:\the\subline@num\fi\kern.5em}9\linenummargin{outer}9\lineation{page}9\def\ggfootfmt#1#2#3{%C,\notefontsetupC,\let\par=\endgrafC,\rightskip=0pt\leftskip=0ptC,\parindent=0pt\parfillskip=0ptplus1filC,\ifnolinenums\relax\elseL\begingroup\os\panums\printlines#1|\endgroupL\enskipC,\fiC,{\rm#2\def\@tempa{#2}\ifx\@tempa\emptyL\else]\enskip\fi#3\penalty-10}}9%9%\panumsaddsthepoemnumberoract/scenenumbertoa9%linenumberdisplaywhennecessary.9%9\def\panums{%L\ifpoemnumU %apoemV\the\poemnumber:%V\global\poemnumfalseL\fiL\ifdbpoemnumK`%apoemwithtwonumbersV\the\dbpoemnumone\spacehr{\rm(\romannumeral\the\dbpoemnumtwo).}%V\global\dbpoemnumfalseL\fiL\ifactnumY"%aplay(act/scene)V\the\actnumber:\the\scenenumber:%V\global\actnumfalseL\fi}9%9%Nowresetthe\Afootnoteparametersandmacros:9\footparagraph{A}9\let\Afootfmt=\ggfootfmt9\dimen\Afootins=\vsize9\skip\Afootins=3ptplus9pt9\def\ggfootstart#1{\vskip\skip\Afootins}9\let\Afootstart=\ggfootstart9\def\title{\pstart\startsub\let\par=\endtitle}9\def\endtitle{\pend\endsub}9\def\verseskip{\vskip6ptplus6pt}XKs5A EXAMPLESe88o9\def\speaker#1{\pstart\parindent=1em\let\par=\pend C,{\tenit{#1}}\hboxto1ex{}\ignorespaces}9\def\sen{\leavevmode\lower1ex\hbox{\tenrm''}}9\def\senspeak#1{\pstart\obeylines\setbox0=\hbox{\tenrm''}%C,\leavevmodeC,\lower1ex\copy0\kern-\wd0\hskip1em{\tenit{#1}}%C,\hboxto1ex{}\ignorespaces}9\def\speak#1{\pstart\obeylines\hskip1em{\tenit{#1}}%C,\hboxto1ex{}\ignorespaces}9\def\nospeaker{\parindent=0em\pstart\let\par=\pend}9\def\nospeak{\pstart\obeylines}9\def\stage#1{\pstart\startsub\parindent=0ptC,\hangindent=3em\hangafter=0C,{\tenit#1}\let\par=\endstage}9\let\endstage=\endtitle9\def\motto#1{\pstart\startsub\centerline{{\tenit#1}}\pend\endsub}9\def\finis#1{\pstart\startsub\smallskip\centerline{{\tenit#1}}C,\let\par=\endfinis}9\let\endfinis=\endtitle9\def\initials#1{\pstart\line{\hfil{\it#1}\quad}\let\par=\pend}9\makeatother5ffY With1thesede nitions,8Htheactualinput le,iocasta.tex,isrelativelysim- ple:=xffY⇍\inputedmac.doc\inputgg\parindent=0pt\pageno=73\mark{{\os2:1}}\headline={\ifnum\pageno>61\ifodd\pageno\rlap{\foliofont\botmark}\hfil\headfontIOCASTA\hfil\llap{\foliofont\folio}%,\else\rlap{\foliofont\folio}\hfil\headfontIOCASTA\hfil\llap{\foliofont\botmark}\fi,\else\hfil\fi}\beginnumbering\stage{Oedipus\text{entreth}\Afootnote{{\itintrat}MS}/.}\nospeak Orthatwithwrongtherightanddoubtlesseheire,Shouldebanishtbeoutofhisprincelyseate.YetthouOqueene,sofylethysugredtoung,Andwithsuchecounselldeckethymotherstale,Thatpeacemaybothethebrothersheartesinflame,Andrancouryelde,thaterstpossestthesame.\pend\speak{Eteocl.}Mother,beholde,yourehestesfortoobey,Ys5A EXAMPLESe89o9InpersonnoweamIresortedhither: 9Inhastetherefore,faynewouldeIknowewhatcause9Withhastiespeede,somouedhathyourmynde9Tocallmenowesocauselesseoutoftyme,9Whencommonwealthmostecrauesmyonelyayde:9FaynewouldeIknowe,whatqueyntcommoditie9Persuadesyouthustotakeatrucefortyme,9Andyeldethegateswideopentomyfoe,9Thegatesthatmyghtourstatelystatedefende,9Andnowearemadethepathofourdecay.9\pend9\senspeak{Ioca.}Repressedeareson,thoseragingstormesofwrath,9\senThatsobedimmetheeyesofthineintente,9\text{\senAswhen\text{the}\Afootnote{thieMS}/tongue%C,(aredyInstrument)9\senWould\text{faynepronounce}\Afootnote{faynesttellMS}/%C,themeaningof\text{theminde}\Afootnote{thymindeMS}/,9\sen\text{It}\lemma{It\dots\worde.}\Afootnote{Thie%C,swellinghartpuftvpwithwickedire/Canscarcepronounce%C,oneinwardlouingthought.MS}/cannotspeakeonehonest%C,seemelyworde.}\lemma{As\dots\worde.}\Afootnote{{\itnot%C,in\/}\os73}/9\senButwhendisdayneisshrunke,orsetteasyde,9\senAndmyndeofmanwithleysurecandiscourse9\senWhatseemelywoordeshistalemaybestbeseeme,9\senAndthatthetoungvnfoldeswithoutaffectes9\senThenmayproceedeanansweresageandgraue,9\senAndeuerysentencesawstwithsobernesse:9Whereforevnbendethyneangriebrowesdearechylde,9Andcastethyrollingeyesnoneotherwaye,9Thatheredoostnot\text{{\itMedusaes\/}}%9\Afootnote{Oneofthefuries.{\os75}m}/facebeholde,9Buthim,euenhim,thybloodandbrotherdeare.9Andthoubeholde,my{\itPolinices\/}eke,9Thybrothersface,wherinwhenthoumaystsee9Thineowneimage,remembertherwithall,9Thatwhatoffencethouwoldsttohimweredone,9\pend9\endnumbering9\bye5ffffYSA.3"1Shakesp`eareuTThefollowingtextillustratesanotherinput leofmoGderatecomplexity*,Jwith two؎layersofannotationinuse.H0TheexampleistakenfromtheArdenMer}'chantof!V;enic}'e.HgFirst,the5 learden.stycontainsasetoffontde nitionsandformatspGeci cations:X-ffY@\makeatletterZs5A EXAMPLESe90o9%Macrosfortheedition: 9\def\stage#1{\rlap{\hboxto\the\linenumsep{%f\hfil\llap{[{\it#1\/}]}}}}9\def\speaker#1{\pstart\hangindent2em\hangafter1C,\leavevmode{\it#1}\enspace\ignorespaces}9\def\\{\hfil\break}9\def\exit#1{\hfill\stage{#1}}9%EDMACcustomizations:9\noendnotes\vsize40pc\hsize23pc\parindent0pt9\linenumsep=.4in\rightskip\linenumsep9\def\interparanoteglue{1emplus.5emminus.1em}9\catcode`\<=\active9\def\xtext#1#2>{\text{#1}{#2}/}9\let<=\xtext9\let\numlabfont=\eighti9\let\sc=\fiverm9\let\Afootnoterule=\relax\let\Bfootnoterule=\relax9\footline={\hfil}9\def\rightlinenum{\numlabfont\llap{\the\line@num}}9\pageno=469\headline={\eightpoint{\teni\folio}\hfilTHEMERCHANTOFVENICE\hfil[ACTII}9\cropsetup{8in}{5in}{3.5pc}{3pc}9\hoffset=.75in,\voffset=.9375in9\frenchspacing9%Footnoteformats:9%\nonumparafootfmtisafootnoteformatwithoutlinenumbers.9\def\nonumparafootfmt#1#2#3{%C,\normal@parsC,\rightskip=0ptC,\parindent=0pt\parfillskip=0ptplus1filC,\select@lemmafont#1|#2\rbracket\enskipC,\it#3\penalty-10}9\def\newparafootfmt#1#2#3{%C,\normal@parsC,\parindent=0pt\parfillskip=0ptplus1filC,{\notenumfont\printlines#1|}\fullstop\enspaceC,{\select@lemmafont#1|#2}\rbracket\enskipC,\it#3\penalty-10}9\def\newtwocolfootfmt#1#2#3{%C,\normal@parsC,\hsize.48\hsizeC,\tolerance=5000C,\rightskip=0pt\leftskip=0pt\parindent=5ptC,\strut\notenumfont\printlines#1|\fullstop\enspaceC,\it#2\/\rbracket\penalty100\hskip.5emplus.5emC,\rm#3\strut\goodbreak}9%Footnotestyleselectionsetc.(donelast):9\footparagraph{A}[s5A EXAMPLESe91o9\foottwocol{B} 9\let\Afootfmt=\newparafootfmt9\let\Bfootfmt=\newtwocolfootfmt9\let\collation=\Afootnote9\let\note=\Bfootnote9\lineation{section}9\linenummargin{right}9\makeatother5OffY ETheZqArdentext,[usingtheabGoveZqde nitions,isinputasfollows(theoutput isUUshowninFigure4):ffYs鍖\inputedmac.doc\inputarden.sty%Initially,wedon'twantlinenumbers.\let\Afootfmt=\nonumparafootfmt\beginnumbering\pstart\centerline{[<{SCENEIII},\lemma{SceneIII},\collation{Capell;om.Q,F;{\rmSceneIV}Pope.}>.---%,<{\itVenice},\collation{om.Q,F;Shylock'shouseTheobald;Thesame.,ARoominShylock'sHouseCapell.}>.]}\pend\bigskip\pstart\centerline{\itEnter\/{\rmJESSICA}and\/,{\rm[<{LAUNCELOT},\lemma{Launcelot},\collation{Rowe;om.Q,F.}>]}theclown.}\pend\bigskip\let\Afootfmt=\newparafootfmt%wedowantlinenumbersfromnow s,\setline{0}%\speaker{Jes.}<{Iam},\collation{Q,F;{\rmI'm}Pope.}>lzsorrythouwiltleavemyfatherso,\\Ourhouseishell,andthou(amerrydevil)\\Didstrobitofsometasteoftediousness,---\\Butfaretheewell,thereisaducatforthee,\\AndLauncelot,<{soon},\note{early.}>qfatsuppershaltthousee\\Lorenzo,whoisthynewmaster'sguest,\\Givehimthisletter,---doitsecretly,---\\Andsofarewell:Iwouldnothavemyfather\\Seeme<{in}\Šs5A EXAMPLESe92oqǍ9 w&4talkwiththee.9\pend9\speaker{Laun.}C,<{}\lemma{\itLaun.}\collation{Q2;Clowne.Q,F.}>%9<{Adieu!}C,\collation{{\rmAdiew},Q,F.}>9tears<{exhibit}C,\note{Ecclesparaphrased``MytearsservetoexpresswhatmyC,tongueshould,ifsorrowwouldpermitit,''butprobablyitisC,Launce\-lot'sblunderforprohibit(Halliwell)orinhibitC,(Clarendon).}>9mytongue,mostbeautiful<{pagan}C,\note{Thismayhaveascurrilousundertone:cf.{\it2H4,}C,\scII.\rmii.168.}>%9,mostsweet<{Jew!}C,\collation{{\rmIewe},Q,F.\quad{\rmdo]}Q,F;w&4{\rmdid}F2.}>%9---ifaChristian<{do}C,\note{MaloneupheldthereadingofQqandFbycomparing\scC,II.\rmvi.23:``WhenyoushallpleasetoplaythethievesforC,wives'';LauncelotseemsfondofhintingatwhatisgoingtoC,happen(cf.\scII.\rmv.22--3).IfF2's``did''isaccepted,C,{\itget\/}isusedforbeget,asin\scIII.\rmv.9.}>9notplaytheknaveandgetthee,Iammuchdeceived;but<{adieu!}C,\collation{{\rmadiew},Q,F.}>9these<{foolishdropsdo\text{something}C,\collation{Q;{\rmsomewhat}F.}/9drownmymanlyspirit}C,\lemma{foolish{\rm\dots}spirit}C,\note{``tearsdonotbecomeaman''(\itAYL.,\scIII.\rmC,iv.3);cf.also\itH5,\scIV.\rmvi.28--32.}>%9:<{adieu!}C,\collation{{\rmadiew}.Q,F.\quad{\rmS.D.]}Q2,F;om.Q;C,afterl.15Capell.}>9\exit{Exit.}9\pend9\speaker{Jes.}9FarewellgoodLauncelot.\\9Alack,whatheinoussinisitinme\\9Tobeashamedtobemyfather's<{child!}C,\collation{{\rmchild},Q,F;{\rmChild?}Rowe.}>9\pend9\endnumbering9\bye5ffffYSA.4"1ClassicaltexteditionuTThenextexample,Fwhichwasextractedfromalonger lekindlysuppliedby W*ayne;Sullivqan,UniversityCollege,Dublin,Ireland,illustratestheuseofEDMAC^Ls5A EXAMPLESe94o5toproGduceaLatintextedition,thePeriphyse}'on,withGreekpassages.^33 yThe 5GreekfontusedisthatpreparedbySilvioLevyanddescribGedinTUGb}'oat.^345ThePoutputofthis leisshowninFigure5.dNotetheuseoftwolayersof5foGotnotesUUtorecordtestimoniaandmanuscriptreadingsrespectively*.DTheUUfollowingEDMACcustomizationsareloadedinitially*,as leslhh.tex:5X-ffY@\overfullrule0pt \hsize=25pc\vsize=44pc\lefthyphenmin=3%\overfullrule=0pt\inputgreekmac\greekdelims\inputedmac.doc\makeatletter\newbox\lp@rbox%Weneedanadditionto\no@expandssincethe\active$ingreekmac%causesproblems:\def\morenoexpands{\let$=0}\def\ffootnote#1{%,\ifnumberedpar@\xright@appenditem{\noexpand\vffootnote{f}{{\@nums}{\@tag}{#1}}}%煶\to\inserts@list\global\advance\insert@countby1% s,\else*F%%maybeusedonlyinnumberedtext%X\vffootnote{f}{{0|0|0|0|0|0|0}{}{#1}}%,\fi\ignorespaces}\def\gfootnote#1{%,\ifnumberedpar@\xright@appenditem{\noexpand\vgfootnote{g}{#1}}%煶\to\inserts@list\global\advance\insert@countby1% s,\else*F%%maybeusedonlyinnumberedtext%X\vgfootnote{g}{#1}%,\fi\ignorespaces}\def\raggedleft{\leftskip\z@%Thisisahack;doubtlesstherearebetterways.Xplus5em\spaceskip.3333em\xspaceskip.5em\parfillskip\z@\relax}\def\setlp@rbox#1#2#3{%,{\parindent\z@\hsize=2.5cm\raggedleft\eightpoint,\baselineskip9pt%,\global\setbox\lp@rbox=\vboxto\z@{\vss#3}}}\def\vffootnote#1#2{\setlp@rbox#2}\def\vgfootnote#1#2{\def\rd@ta{#2}}\def\do@line{% s,{\vbadness=10000\splittopskip=0pt s,\gdef\rd@ta{}%forrightmarginparagraph->alwaysafewcharacters s,\global\setbox\one@line=\vsplit\raw@textto\baselineskip}% s,\unvbox\one@line\global\setbox\one@line=\lastboxffffv J=w-:33LThe+bibliographicdetailsoftheforthcomingbw-:34LTUGboat9X(1988),pp.j20{24._Ns5A EXAMPLESe95oqǍ9yFigureUU5:qOutputofthePeriphyse}'on,LiberIV.`ՠs5A EXAMPLESe96o>s,\getline@num 9\hboxto\hsize{\affixline@num\add@inserts\hboxto\z@%insertsaddedheresoC,{\hss\box\lp@rbox\kern\linenumsep}%PRthatmarginparsareGX\hfil\hboxto\wd\one@line{\new@line\unhbox\one@line%,included.V\hboxto\z@{\kern\linenumsep\notenumfont\rd@ta\hss}}}%>s,\add@penalties}%marginparsalsoincludedinlineformat9\def\affixline@num{%C,\ifsublines@L\@tempcntb=\subline@numL\ifnum\subline@num>\firstsublinenumV\@tempcnta=\subline@numV\advance\@tempcntaby-\firstsublinenumV\divide\@tempcntaby\sublinenumincrementV\multiply\@tempcntaby\sublinenumincrementV\advance\@tempcntaby\firstsublinenumL\elseV\@tempcnta=\firstsublinenumL\fiL%L\ifcase\sub@lockV\or_F\ifnum\sublock@disp=1m\@tempcntb=0\@tempcnta=1_F\fiV\or_F\ifnum\sublock@disp=2\elsem\@tempcntb=0\@tempcnta=1_F\fiV\or_F\ifnum\sublock@disp=0m\@tempcntb=0\@tempcnta=1_F\fiL\fiC,\elseL\@tempcntb=\line@numL\ifnum\line@num>\firstlinenumZ̰\@tempcnta=\line@numZ̰\advance\@tempcntaby-\firstlinenumZ̰\divide\@tempcntaby\linenumincrementZ̰\multiply\@tempcntaby\linenumincrementZ̰\advance\@tempcntaby\firstlinenumL\elseZ̰\@tempcnta=\firstlinenumL\fiL\ifcase\@lockZ̰\ord?\ifnum\lock@disp=1rl\@tempcntb=0\@tempcnta=1d?\fiZ̰\ord?\ifnum\lock@disp=2\elserl\@tempcntb=0\@tempcnta=1d?\fiZ̰\oras5A EXAMPLESe97od?\ifnum\lock@disp=0 rl\@tempcntb=0\@tempcnta=1d?\fiL\fiC,\fiC,%C,\ifnum\@tempcnta=\@tempcntbL\@tempcntb=\line@marginL\ifnum\@tempcntb>1V\advance\@tempcntbby\page@numL\fiL\ifodd\@tempcntb9%Y#1\rlap{{\rightlinenum}}%Z̰\xdef\rd@ta{\the\line@num}%L\elseV\llap{{\leftlinenum}}%#1%L\fiC,\elseL%#1%C,\fiC,\ifcase\@lockC,\orL\global\@lock=2C,\or\orL\global\@lock=0C,\fiC,\ifcase\sub@lockC,\orL\global\sub@lock=2C,\or\orL\global\sub@lock=0C,\fi}9%9%WewanttoincludeasmallGreekfontinthedefinition9%of\eightpoint:9\let\oldeightpoint=\eightpoint9\font\eightgr=grreg89\def\eightpoint{\oldeightpoint\let\tengr=\eightgr}9\output{\advancepageno\edmac@output}%evenpagenumbers9\lineation{page}9\linenummargin{right}9\footparagraph{A}9\footparagraph{B}9\let\notenumfont=\eightrm9\let\notetextfont=\eightpoint9\let\Afootnoterule=\relax9\count\Afootins=8259\count\Bfootins=8259\def\Aparafootfmt#1#2#3{%C,\normal@pars\eightpointC,\parindent=0pt\parfillskip=0ptplus1filC,\notenumfont\printlines#1|\enspace9%Y\lemmafont#1|#2\enskipC,\notetextfontb>s5A EXAMPLESe98oC,#3\penalty-10\hskip1emplus4emminus.4em\relax} 9\def\Bparafootfmt#1#2#3{%C,\normal@pars\eightpointC,\parindent=0pt\parfillskip=0ptplus1filC,\notenumfont\printlines#1|\enspaceC,\select@lemmafont#1|#2\rbracket\enskipC,\notetextfontC,#3\penalty-10\hskip1emplus4emminus.4em\relax}9\makeatother9\let\Afootfmt=\Aparafootfmt9\let\Bfootfmt=\Bparafootfmt9\def\lemmafont#1|#2|#3|#4|#5|#6|#7|{\eightpoint}9\headline={\hfil\tenitPeriphyseon,LiberIV\hfil}9\voffset=1in9\hoffset=1in9\parindent=1em9\def\lmarpar#1{\text{}\ffootnote{#1}/}9\def\rmarpar#1{\text{}\gfootnote{#1}/}9\emergencystretch40pt9\cropsetup{24.5cm}{15.5cm}{1.5cm}{2.1cm}5ffffY ǍThe leperiph4.textheninputstheabGovede nitions,.andproceedswith theUUmaintext:ffffY@\inputslhh\beginnumbering\pstart\rmarpar{741C}\noindent\text{IncipitQuartus$PERIFUSEWN$}%\lemma{incipit\.~.~.\$PERIFUSEWN$}\Bfootnote{{\itom.\R},incipitquartus{\itM}}/\pend\medskip\pstart\noindent\text{NVTRITOR}\lemma{$ANAKEFALIOSIS$}\Bfootnote{{\itFJP,lege\/}$'ExXpackqagehavemeantthatnow 5ArabTU>'ExXandEDMACcanworksmoGothlytogether.^35 ؎Thiswillbewelcomenews5indeedUUtoallfrustratededitorsofArabictexts!DAs$ataster,.lKlaushaskindlysuppliedFigure6,atestpagewhichshowso 5theUUjointcapabilitiesofArabTU>'ExXandEDMAC.$5A.6W1Sanskrittextedition5Finally*,̘FigureNX7showsanexamplefromaneditionofaSanskrittexton5Pan!ƍc.:inianFgrammarthatusesF*ransVelthuis'sexcellentDevqanagarqfont.lIFhave5not;showntheinput leforthisbGecauseIalmostneverloGokedatitmyself.KiThe5editionrecordsalargenumbGerofvqariants,andtherearefrequentfontandscript5changes.PreparingfthispurelymanuallywouldhavebGeenveryerror-prone.In5fact,the}textwaspreparedusingawordproGcessor(XyW*riteIII+)whichhad5theabilitytofoldfoGotnotesoutofsight.~IdesignedcustomIndicfontsfor5myDcomputerscreen,@sothatIcouldseeallthediacriticalmarksonaccented5charactersUUasItypGed.DF*ontC8changeswereinvokedvisuallyusingthestandardfacilitiesoftheword5proGcessor,fsotheperennial\missingclosingbrace"hardlyeverarose.#Ashort5textJV lterprogramchangedthewordproGcessor leintocorrectlytaggedEDMAC5input,{=andsanother lterprogram(providedbyV*elthuis)didsomespGecialpro-5cessingontheDevqanagarqstrings.\ThiscombinationoftoGolsprovedverywork-5ableUUandnoma8jorproblemswereencountered.DThefollowingEDMACͲcustomizationsaretypicalofthesortofchangesneeded5toUUuseSanskritwiththeDevqanagarqfont:5ffY@dolmode3X%fortheDevanagaripre-processor \inputdnmacs.tex,%specialmacrosforDevanagarifont\inputedmac.doc%\makeatletter%\def\notefontsetup{\eightpoint\dnsmall\dn}\footparagraph{A}\firstlinenum=1\def\variant#1#2{\text{#1}\Afootnote{#2}/}%%Nowwesetup\select@lemmafonttorecognizeSanskrit:%\newfam\skt%\fam8(plain.texdefines0--7;TeXbookp.351.)\def\san{\fam\skt\dn}\def\select@lemmafont#1|#2|#3|#4|#5|#6|#7|{%X\ifcase#7!\rm\or\rm\or\rm\or\rm3r%fams0--33r\or\it\or\sl\or\bf\or\tt,%fams4--73r\or\sanz<%Devanagarifor\fam8ffv J=w-:35LThese!cÎhangesareavailableinversionsofArabTAEMXfrom2.08,March/April1993. Thev ArabTAEMXsystemisaÎvailablefromitsauthor'sinstitution(byanonymousftpfromifi.informatik.uni-stuttgart.def(129.69.211.1)X,ږinVthedirectorypub/arabtex2f)andfrommanÎyXothernetworksites.eƠs5A EXAMPLESd101oqǍ9L|FigureUU6:qArabiceditionofsomeinstructionsforusingapGostoce.fWs5A EXAMPLESd102oqǍ9vjFigureUU7:qSanskriteditionofagrammaticaltext.gs5A EXAMPLESd103ohr\else\rm GX\fi}9%9\makeatother9%9%Andthenthetext:9$,%fortheDevanagaripre-processor9\beginnumbering9\san9\autopar9aasiidraajaa\variant{nalo}{ki.mcidanyatka,kha}naamaC,viirasenasutobalii|9\endnumbering9$,%fortheDevanagaripre-processor9\bye5CfffY U~Y*ouemayhavenoticedthatintheapparatusoftheSanskriteditionshown inb gure7,thelinenumbGersbareprintedonlyonce,evenifthereareseveralvqariantsonaline.1Multiplenotestothesamelineareseparatedbyaksign.W*eGmentionedonp.40abGovehow,Iinprinciple,thiscouldbGedone.mHereisthemoGdi edversionof\printlinesthatactuallydoesit(theoriginalisonp.61abGove).JffY%First,definethesymbolthatwillprintinsteadofarepeatedline %number:%\def\notenumsep{$\parallel$}%%Nowthemacrowhichprintsthelinenumbersforanote.%Itismodifiedheresothatnotestothesamelinedonotrepeat%thelinenumber,butprinta"||"instead.%%Justareminderthatthesevenparametersofthe%argumentarethelinenumbersasstoredin"\@nums":%#1thestartingpage,%#2line,and%#3sublinenumbers,followedbythe%#4endingpage,%#5line,and%#6sublinenumbers,andthenthe%#7font-familynumberforthelemma.%%Althoughthere'snocounterforthelinenumber,becauseit'salways%printed,wedefineacounterthatkeepstrackofthepreviouslyprinted%linenumber,sothatwecanstoplinenumbersbeingrepeatedinthe%notesiftheyareallthesame.%\newcount\previous@note@number%%Thebeginningofthe\printlinesmacroisjustthesameastheoriginalh¢s5A EXAMPLESd104o9%definedbyEDMAC(q.v.forcommentary): 9%9\def\printlines#1|#2|#3|#4|#5|#6|#7|{\begingroupC,\@pnum=0\@dash=0C,\ifbypage@QY\ifnum#4=#1\else_F\@pnum=1_F\@dash=1QY\fiC,\fiC,\@elin=\@pnumC,\ifnum#2=#5\elseV\@elin=1V\@dash=1C,\fiC,\@ssub=0C,\ifnum#3=0\elseV\@ssub=1C,\fiC,\@esl=0C,\ifnum#6=0\elseV\ifnum#6=#3d?\@esl=\@elinV\elsed?\@esl=1d?\@dash=1V\fiC,\fi9%9%Herecomeourmodifications. s,We'rereadytoprintthevariousnumbers,9%basedonourcountervalues,butthefirstthingwedoistocomparethe9%currentlinenumber(parameter#2)withthelastlinenumbertohave9%beenprinted. s,Iftheyarethesame,weprintthe\notenumsepsiglum;if9%not,wegoaheadandprinttheactuallinenumber. s,(Notethatthisdoes9%notcopewithcasesofmultiplesub-linenumberednotestothesame9%line;morecheckswouldbeneededifthatsituationwerelikelyto9%arise.)C,\ifnum\previous@note@number=#2L\ifodd\@elin%thereisadifferentendinglinenumberL#2%L\elseV\notenumsepL\fiC,\elseL\ifodd\@pnum#1\fullstop\fiC,#2%The(starting)linenumberC,\fiC,\ifodd\@ssub\fullstop#3\fiC,\ifodd\@dash\endashchar\fiC,\ifodd\@pnum#4\fullstop\fiC,\ifodd\@elin#5\fiC,\ifodd\@esl\ifodd\@elin\fullstop\fi#6\fi9%is5Index12105o9%Nowwerecordthenumberthathasbeenprinted,forcomparison 9%nexttime\printlinesiscalled:9%9\global\previous@note@number=#29%9\endgroup}5ffffYÍIndexThenitalicnumbGersndenotethepageswherethecorrespondingentryisdescribed, numbGers-underlinedpointtothede nition,5allothersindicatetheplaceswhereitUUisused.i_Dn9um=X\subitemnum+,21,\main{27},31,33--35,47,52 Abu #KamilSh9uja' b.Aslam, 4list=X\subitemlist+,\main{28},30,31,33,34,49list=X\subitemlist+,\main{28},30,31,33,34,49inserts=X\subiteminserts+,46,\main{51}pAenalties=X\subitempenalties+,46,\main{52}Adelard"IAI,4adv|ranceline=X\subitem*+\advanceline+,\usage{12},33,\main{37},41adv|rancepageno=X\subitem*+\advancepageno+,72Aend=X\subitem*+\Aend+,77,\main{77}Aendnote=X\subitem*+\Aendnote+,\usage{9},\main{76}n9um=X\subitemnum+,46,\main{49}AfoAotgroup=X\subitem*+\Afootgroup+,72AfoAotins=X\subitem*+\Afootins+,61,72AfoAotnote=X\subitem*+\Afootnote+,\usage{9},\main{57}AfoAotstart=X\subitem*+\Afootstart+,72allo9wbreak=X\subitem*+\allowbreak+,68,69autopar=X\subitem*+\autopar+,\usage{7},\main{45} Ǎmargin=X\subitemmargin+,\main{69},71coun9t=X\subitemcount+,47,\main{47},52ballast=X\subitem*+\ballast+,\usage{19},47,\main{47}Beeton,ABarbaraAnn `NeuhausF:riend,-J8bAeginn9umbering=X\subitem*+\beginnumbering+,\usage{6},\main{21},23,44,45Bend=X\subitem*+\Bend+,77,\main{77}Bendnote=X\subitem*+\Bendnote+,\usage{9},\main{76}b am=X\subitem*+\bffam+,55BfoAotgroup=X\subitem*+\Bfootgroup+,73BfoAotins=X\subitem*+\Bfootins+,61,73BfoAotnote=X\subitem*+\Bfootnote+,\usage{9},\main{57}BfoAotstart=X\subitem*+\Bfootstart+,73bAody=X\subitem*+\body+,53bAo9x=X\subitem*+\box+,64,66,67,72Bredon,Simon,4Breger,DVHerbAert,5i_DvUUBrey:,TGerhard,4 vUUbrok9enpAenalty=X\subitem*+\brokenpenalty+,44vUUBusard,kHubAertL.L.,4vUUfalse=X\subitemfalse+,23,\main{23}vUUtrue=X\subitemtrue+,23,\main{23} 捑vUUCend=X\subitem*+\Cend+,77,\main{77}vUUCendnote=X\subitem*+\Cendnote+,\usage{9},\main{76}vUUCfoAotgroup=X\subitem*+\Cfootgroup+,73vUUCfoAotins=X\subitem*+\Cfootins+,61,73vUUCfoAotnote=X\subitem*+\Cfootnote+,\usage{9},\main{57}vUUCfoAotstart=X\subitem*+\Cfootstart+,73vUUc9hardef=X\subitem*+\chardef+,78vUUChester, 9RobAert of,4vUUClaassens,\Geert UUH.PM.,4vUUcloseout=X\subitem*+\closeout+,36,76vUUclubpAenalt9y=X\subitem*+\clubpenalty+,44,53vUUCopAernicus, Nicolaus,4vUUcop9y=X\subitem*+\copy+,72vUUcoun9t=X\subitem*+\count+,62,63,67,69vUUcr=X\subitem*+\cr+,67vUUhsize=X\subitemhsize+,\main{69},70,71vUUvsize=X\subitemvsize+,\main{69},71vUUcropgap=X\subitem*+\cropgap+,\usage{17},70,\main{70},71vUUtrue=X\subitemtrue+,71vUUcropsetup=X\subitem*+\cropsetup+,\usage{17},\main{71}vUUcrop9width=X\subitem*+\cropwidth+,\usage{17},70,\main{70}vUUDend=X\subitem*+\Dend+,77,\main{77}vUUDendnote=X\subitem*+\Dendnote+,\usage{9},\main{76}vUUDfoAotgroup=X\subitem*+\Dfootgroup+,73vUUDfoAotins=X\subitem*+\Dfootins+,61,73vUUDfoAotnote=X\subitem*+\Dfootnote+,\usage{9},\main{57}vUUDfoAotstart=X\subitem*+\Dfootstart+,73vUU=X\subitem+,72vUUdimen=X\subitem*+\dimen+,37,62,63,67,69vUUdispla9ywidowpAenalty=X\subitem*+\displaywidowpenalty+,44i_D쪪divide=X\subitem*+\divide+,50,63,67 X쪪actions=X\subitemactions+,47,\main{47}쪪ballast=X\subitemballast+,47,\main{47}쪪cropmarks=X\subitemcropmarks+,72,\main{72}쪪feet=X\subitemfeet+,72,\main{72}쪪labAels le=X\subitemlabelsfile+,\main{73},74,75쪪line=X\subitemline+,45,\main{46}쪪loAc9ko =X\subitemlockoff+,\main{34}쪪loAc9kon=X\subitemlockon+,\main{34}쪪doAendnotes=X\subitem*+\doendnotes+,\usage{17},\main{77}쪪dosplits=X\subitem*+\dosplits+,\main{66}쪪dosupAereject=X\subitem*+\dosupereject+,72쪪Do9wnes,dMichael,  19,63,65쪪dp=X\subitem*+\dp+,58,64,68,69,72쪪ref=X\subitemref+,35,\main{35}쪪text=X\subitemtext+,\main{40},41 쪪info=X\subiteminfo+,42,\main{42}쪪output=X\subitemoutput+,\main{72}쪪w9arning=X\subitemwarning+,\main{21},23--25,30,33,38,49,74,75쪪edmacloaded=X\subitem*+\edmacloaded+,20쪪Eend=X\subitem*+\Eend+,77,\main{77}쪪Eendnote=X\subitem*+\Eendnote+,\usage{9},\main{76}쪪EfoAotgroup=X\subitem*+\Efootgroup+,73쪪EfoAotins=X\subitem*+\Efootins+,61,73쪪EfoAotnote=X\subitem*+\Efootnote+,\usage{9},\main{57}쪪EfoAotstart=X\subitem*+\Efootstart+,73쪪eigh9tbf=X\subitem*+\eightbf+,55쪪eigh9ti=X\subitem*+\eighti+,55쪪eigh9tit=X\subitem*+\eightit+,55쪪eigh9tpAoint=X\subitem*+\eightpoint+,\main{55}쪪eigh9trm=X\subitem*+\eightrm+,55쪪eigh9tsl=X\subitem*+\eightsl+,55쪪eigh9tsy=X\subitem*+\eightsy+,55쪪eigh9ttt=X\subitem*+\eighttt+,55쪪empt9y=X\subitem*+\empty+,21,22,26,31,42--44,49,52,53,74쪪n9umbAer=X\subitemnumber+,63,\main{63}js5Index12106o5close=X\subitemclose+,\main{76},77 R5false=X\subitemfalse+,76,\main{76}5lemmas=X\subitemlemmas+,\main{39},425opAen=X\subitemopen+,76,\main{76}5stu =X\subitemstuff+,22,\main{76},785true=X\subitemtrue+,76,\main{76}5endashc9har=X\subitem*+\endashchar+,\usage{14},\main{59},605endgraf=X\subitem*+\endgraf+,455n9um=X\subitemnum+,\main{29},35,365endloAc9k=X\subitem*+\endlock+,\usage{12},\main{38},415endn9umbAering=X\subitem*+\endnumbering+,\usage{6},21,22,\main{22},235n9um=X\subitemnum+,\main{29},35,365endprin9t=X\subitem*+\endprint+,\usage{17},77,\main{77}5endsub=X\subitem*+\endsub+,\usage{12},\main{37},415n9um=X\subitemnum+,\main{29},35,365enskip=X\subitem*+\enskip+,59,66,68,69,775enspace=X\subitem*+\enspace+,59,66,68,69,775errmessage=X\subitem*+\errmessage+,21--23,44,455Euclid,KQ 45bac9k=X\subitemback+,\main{69},715extensionc9hars=X\subitem*+\extensionchars+,\usage{19},\main{21},22W5encoAding=X\subitemencoding+,425family=X\subitemfamily+,425series=X\subitemseries+,425shapAe=X\subitemshape+,425fam=X\subitem*+\fam+,42,555 ledate=X\subitem*+\filedate+,205 lev9ersion=X\subitem*+\fileversion+,205 rstlinen9um=X\subitem*+\firstlinenum+,\usage{11},\main{24},505 rstsublinen9um=X\subitem*+\firstsublinenum+,\usage{11},\main{24},505 v9ebf=X\subitem*+\fivebf+,555 v9ei=X\subitem*+\fivei+,555 v9erm=X\subitem*+\fiverm+,555 v9esy=X\subitem*+\fivesy+,555end=X\subitemend+,\main{37},425start=X\subitemstart+,\main{37},425 oatingpAenalt9y=X\subitem*+\floatingpenalty+,58,64,68,695notes=X\subitemnotes+,45,\main{53}5F:olk9erts,@Menso,45fon9t=X\subitem*+\font+,555fon9tencoAding=X\subitem*+\fontencoding+,575fon9tfamily=X\subitem*+\fontfamily+,575fon9tseries=X\subitem*+\fontseries+,575fon9tshapAe=X\subitem*+\fontshape+,575fon9tsize=X\subitem*+\fontsize+,25,565foAotins=X\subitem*+\footins+,725foAotnormal=X\subitem*+\footnormal+,\main{61},625foAotnoterule=X\subitem*+\footnoterule+,61,725foAotparagraph=X\subitem*+\footparagraph+,\usage{12},\main{62}5foAotthreecol=X\subitem*+\footthreecol+,\usage{12},\main{67}5foAott9wocol=X\subitem*+\foottwocol+,\usage{12},\main{68}5fullstop=X\subitem*+\fullstop+,\usage{14},25,26,\main{59},60UUG`adek9e,qNora,5 UUn9um=X\subitemnum+,46,\main{47}UUn9um=X\subitemnum+,74,75,\main{75}UUp=X\subitemp+,\main{26},31,42,49,52,53,74UUpAo =X\subitempoff+,26͍UUmargin=X\subitemmargin+,\main{69},71,72UUheadlinefon9t=X\subitem*+\headlinefont+,\usage{17},\main{70},72UUh lneg=X\subitem*+\hfilneg+,67UUrules=X\subitemrules+,\main{70},71UUhsize=X\subitem*+\hsize+,46,63,64,68,69,71UUh9yphenchar=X\subitem*+\hyphenchar+,55UU=X\subitem+,\main{23},32,48,59UU=X\subitem+,\main{71},72UUifdim=X\subitem*+\ifdim+,37UU=X\subitem+,76,\main{76}UUifh9bAox=X\subitem*+\ifhbox+,66UU=X\subitem+,22,\main{30}UU=X\subitem+,\main{43},44,57,58,77UUifn9umbAering=X\subitem*+\ifnumbering+,21,\main{21},22,23,44,45UUifoAdd=X\subitem*+\ifodd+,51,60,70UUggedbAottom=X\subitemggedbottom+,72UU=X\subitem+,25,26,\main{27},32--36,47,48,50,74UUifvbAo9x=X\subitem*+\ifvbox+,45UUifv9oid=X\subitem*+\ifvoid+,72,73UUcoun9t=X\subitemcount+,\main{35},37,41,57,58UUinsert=X\subitem*+\insert+,58,64,68,69UUlist=X\subitemlist+,22,\main{28},30,35,52UUlist=X\subitemlist+,44,\main{51},52,53,57,58UUin9terAfoAotnotelinepenalty=X\subitem*+\interAfootnotelinepenalty+,62UUin9terBfoAotnotelinepenalty=X\subitem*+\interBfootnotelinepenalty+,62UUin9terCfoAotnotelinepenalty=X\subitem*+\interCfootnotelinepenalty+,62UUin9terDfoAotnotelinepenalty=X\subitem*+\interDfootnotelinepenalty+,62UUin9terEfoAotnotelinepenalty=X\subitem*+\interEfootnotelinepenalty+,62UUin9terlinepAenalty=X\subitem*+\interlinepenalty+,44,53,58,64,68,69UUin9terparanoteglue=X\subitem*+\interparanoteglue+,\usage{13},\main{65}UUskip=X\subitemskip+,65,\main{65}UUitfam=X\subitem*+\itfam+,55UUJa9yaditya,>xB5UUKabAelsc9hacht, Alois,53UUparse=X\subitemparse+,75,\main{75}UUrefs=X\subitemrefs+,74UUlabAel=X\subitem*+\label+,\usage{18},41,\main{74}UUlist=X\subitemlist+,\main{73},74UULagally:,Klaus,97UUlastbAo9x=X\subitem*+\lastbox+,45,46,65,66UUlastskip=X\subitem*+\lastskip+,37UUleftlinen9um=X\subitem*+\leftlinenum+,\usage{11},\main{25},51UULeibniz,G[5UUlemma=X\subitem*+\lemma+,\usage{9},\main{42}UULevy:,YSilvio,92!list=X\subitemlist+,22,\main{28},30,36,42 !margin=X\subitemmargin+,\main{23},51!n9um=X\subitemnum+,21,25,26,\main{27},32,33,35,47,48,50,74!set=X\subitemset+,43,\main{43}!line=X\subitem*+\line+,67!lineation=X\subitem*+\lineation+,\usage{11},\main{23}!out=X\subitemout+,36,\main{36},37,38,74!linen9um=X\subitem*+\linenum+,\usage{10},\main{43},76!linen9umincrement=X\subitem*+\linenumincrement+,\usage{11},\main{24},50!linen9ummargin=X\subitem*+\linenummargin+,\usage{11},\main{23}!linen9umsep=X\subitem*+\linenumsep+,\usage{11},\main{25}!lineref=X\subitem*+\lineref+,\usage{18},41,\main{74}!clear=X\subitemclear+,\main{26},30,44!create=X\subitemcreate+,\main{26},29,39,51,73!disp=X\subitemdisp+,\main{24},50,51!o =X\subitemoff+,34,\main{34},38!on=X\subitemon+,\main{34},38!loAc9kdisp=X\subitem*+\lockdisp+,\usage{12},\main{24}!Lorc9h,vRichard,4!magicvskip=X\subitem*+\magicvskip+,\usage{17},\main{70},72!labAels=X\subitemlabels+,74,\main{74}!mak9eatletter=X\subitem*+\makeatletter+,\main{20}!mak9eatother=X\subitem*+\makeatother+,\main{20}!mak9efoAotline=X\subitem*+\makefootline+,72!mak9ehbAoxofhboxes=X\subitem*+\makehboxofhboxes+,66!mak9eheadline=X\subitem*+\makeheadline+,72!mak9elabAel=X\subitem*+\makelabel+,\usage{19},\main{76}!maxdimen=X\subitem*+\maxdimen+,64!Ma9yer,rGGyula,5!message=X\subitem*+\message+,22!Middleton,QkThomas,5,27!Mittelbac9h,UF:rank,?4, 14,54,56!morenoAexpands=X\subitem*+\morenoexpands+,\main{40}!mo9veright=X\subitem*+\moveright+,72!m9ultiply=X\subitem*+\multiply+,50,63,67,69!line=X\subitemline+,\main{37},46!newbAo9x=X\subitem*+\newbox+,44,70!newif=X\subitem*+\newif+,21,23,27,30,36,44,71,76!newinsert=X\subitem*+\newinsert+,61!newlinec9har=X\subitem*+\newlinechar+,77!newread=X\subitem*+\newread+,30!newwrite=X\subitem*+\newwrite+,36,73,76!action=X\subitemaction+,31,47--49!actionline=X\subitemactionline+,31,47,49!insert=X\subiteminsert+,44,52!expands=X\subitemexpands+,\main{40},41!noalign=X\subitem*+\noalign+,67!noAendnotes=X\subitem*+\noendnotes+,\usage{17},\main{77}!noinden9t=X\subitem*+\noindent+,45,64,66!noin9terlineskip=X\subitem*+\nointerlineskip+,72!pars=X\subitempars+,22,44,\main{45},59,66,68,69,72!normalbaselines=X\subitem*+\normalbaselines+,55k2s5Index12107o5normalbaselineskip=X\subitem*+\normalbaselineskip+,55 %=5normalfoAotfm9t=X\subitem*+\normalfootfmt+,\main{58},625normalfoAotgroup=X\subitem*+\normalfootgroup+,\main{61},625normalfoAotnoterule=X\subitem*+\normalfootnoterule+,\main{61},625normalfoAotstart=X\subitem*+\normalfootstart+,\main{60},625normalvfoAotnote=X\subitem*+\normalvfootnote+,\main{58},625notefon9tsetup=X\subitem*+\notefontsetup+,\usage{13},\main{54},\main{56},58,63{ S66, 5\68,69,775noten9umfont=X\subitem*+\notenumfont+,\usage{13},\main{56},59,66,68,69,775false=X\subitemfalse+,30,\main{30}5true=X\subitemtrue+,22,30,\main{30},42,525lines=X\subitemlines+,\main{43},45,52,535false=X\subitemfalse+,\main{43}5true=X\subitemtrue+,\main{43},445n9umbAeringfalse=X\subitem*+\numberingfalse+,\main{21},225n9umbAeringtrue=X\subitem*+\numberingtrue+,21,\main{21},225n9umlabfont=X\subitem*+\numlabfont+,\usage{13},\main{25}o5bac9k=X\subitemback+,\main{69},715on9terlineskip=X\subitem*+\offinterlineskip+,71,725line=X\subitemline+,\main{43},465opAenout=X\subitem*+\openout+,36,37,73,765output=X\subitem*+\output+,\main{72}5outputpAenalt9y=X\subitem*+\outputpenalty+,725action=X\subitemaction+,31,\main{33},355n9um=X\subitemnum+,\main{29},31,32,35,48,51,745start=X\subitemstart+,37,\main{37},725pagebAody=X\subitem*+\pagebody+,725pagecon9tents=X\subitem*+\pagecontents+,\main{72}5pageno=X\subitem*+\pageno+,37,70,74,755pageref=X\subitem*+\pageref+,\usage{18},41,\main{74}5line=X\subitemline+,\main{43},45,535foAotgroup=X\subitemfootgroup+,63,\main{66}5foAotsetup=X\subitemfootsetup+,63,\main{63}5vfoAotnote=X\subitemvfootnote+,62,\main{63}5parafoAotfm9t=X\subitem*+\parafootfmt+,63,\main{66}5parafoAotstart=X\subitem*+\parafootstart+,62,\main{63}5pausen9umbAering=X\subitem*+\pausenumbering+,\usage{8},\main{22}5pAend=X\subitem*+\pend+,\usage{7},44,\main{44},455Pigman,IAII-=;cmmi6r1dG,G.W.,825PlatoCofTiv9oli,45pAostdispla9ypenalty=X\subitem*+\postdisplaypenalty+,455predispla9ypAenalty=X\subitem*+\predisplaypenalty+,445prevgraf=X\subitem*+\prevgraf+,455prin9tlines=X\subitem*+\printlines+,59,\main{59},66,68,69,775pstart=X\subitem*+\pstart+,\usage{7},44,\main{44},455raggedrigh9t=X\subitem*+\raggedright+,68,695text=X\subitemtext+,\main{43},44--465rbrac9ket=X\subitem*+\rbracket+,\usage{14},59,\main{59},66,68,695linelist=X\subitemlinelist+,\main{30},365unde ned=X\subitemundefined+,74,75,\main{75}5marks=X\subitemmarks+,\main{70},71,72UUremo9vehbAoxes=X\subitem*+\removehboxes+,66 W UUresumen9umbAering=X\subitem*+\resumenumbering+,\usage{8},\main{22}UUrigh9tlinenum=X\subitem*+\rightlinenum+,\usage{11},\main{25},51UUrigidbalance=X\subitem*+\rigidbalance+,\main{66},68,69UUrlap=X\subitem*+\rlap+,51,70UURobinson,P9eter,3UUSacrobAosco,85UUSalomon,Da9vid,71UUSc9h`opf,",Rainer, UU4, 14,54,56UUscriptfon9t=X\subitem*+\scriptfont+,55UUscriptscriptfon9t=X\subitem*+\scriptscriptfont+,55UUn9um=X\subitemnum+,21,\main{21},22,76UUlemmafon9t=X\subitemlemmafont+,\usage{13},\main{56,57},59,66,68,69,77UUline=X\subitemline+,41,\main{42}UUsetline=X\subitem*+\setline+,\usage{12},\main{38},41UUsev9enrm=X\subitem*+\sevenrm+,25,56UUShak9espAeare,UWilliam,87UUshipAout=X\subitem*+\shipout+,72UUsixbf=X\subitem*+\sixbf+,55UUsixi=X\subitem*+\sixi+,55UUsixit=X\subitem*+\sixit+,55UUsixrm=X\subitem*+\sixrm+,55UUsixsl=X\subitem*+\sixsl+,55UUsixsy=X\subitem*+\sixsy+,55UUsixtt=X\subitem*+\sixtt+,55UUsk9ewchar=X\subitem*+\skewchar+,55UUloAc9ko =X\subitemlockoff+,34,\main{34}UUskip=X\subitem*+\skip+,61--63,72UUsl=X\subitem*+\sl+,41,55,56UUslfam=X\subitem*+\slfam+,55UUspaceskip=X\subitem*+\spaceskip+,58UUsplitmaxdepth=X\subitem*+\splitmaxdepth+,58,64,68,69UUsplito =X\subitem*+\splitoff+,\main{66}UUsplittopskip=X\subitem*+\splittopskip+,46,58,64,67--69UUstartloAc9k=X\subitem*+\startlock+,\usage{12},\main{38},41UUstartsub=X\subitem*+\startsub+,\usage{12},\main{37},41UUaction=X\subitemaction+,32,\main{34},35UUc9hange=X\subitemchange+,22,32,33UUloAc9k=X\subitemlock+,22,\main{27},32,34,47--51UUo =X\subitemoff+,\main{32},37UUon=X\subitemon+,\main{32},37UUn9um=X\subitemnum+,22,25,26,\main{27},32,33,35,47,48,50,74UUsublinen9umincrement=X\subitem*+\sublinenumincrement+,\usage{11},\main{24},50UUsublineref=X\subitem*+\sublineref+,\usage{18},41,\main{75}UUfalse=X\subitemfalse+,22,\main{27},32,48UUtrue=X\subitemtrue+,\main{27},32,48UUdisp=X\subitemdisp+,\main{25},50UUsubloAc9kdisp=X\subitem*+\sublockdisp+,\main{25}UUSulliv|ran, wW:a9yne,4,UU15,Z19,22,54,UU64, 5\65,74,91!tenex=X\subitem*+\tenex+,55 !text=X\subitem*+\text+,\usage{9},41,\main{41}!textfon9t=X\subitem*+\textfont+,55!TheoAdosius,75!thinspace=X\subitem*+\thinspace+,59!threecolfoAotfm9t=X\subitem*+\threecolfootfmt+,67,\main{68}!threecolfoAotgroup=X\subitem*+\threecolfootgroup+,67,\main{68}!threecolfoAotsetup=X\subitem*+\threecolfootsetup+,67,\main{67}!threecolvfoAotnote=X\subitem*+\threecolvfootnote+,67,\main{67}!to=X\subitem*+\to+,26,31,33--36,42,49,52,53,57,58,74!tolerance=X\subitem*+\tolerance+,68,69!topins=X\subitem*+\topins+,72!topskip=X\subitem*+\topskip+,70,72!ttfam=X\subitem*+\ttfam+,55!t9woAcolfootfm9t=X\subitem*+\twocolfootfmt+,68,\main{68}!t9woAcolfootgroup=X\subitem*+\twocolfootgroup+,68,\main{68}!t9woAcolfootsetup=X\subitem*+\twocolfootsetup+,68,\main{68}!t9woAcolvfootnote=X\subitem*+\twocolvfootnote+,68,\main{68}͍!unh9bAox=X\subitem*+\unhbox+,46,65,66!unpAenalt9y=X\subitem*+\unpenalty+,65,66!un9vbAox=X\subitem*+\unvbox+,46,61,65--67,72!un9vxh=X\subitem*+\unvxh+,64,\main{65}!vAfoAotnote=X\subitem*+\vAfootnote+,57!v|ralign=X\subitem*+\valign+,67!V:amana,D@m5!vbadness=X\subitem*+\vbadness+,46,67!vBfoAotnote=X\subitem*+\vBfootnote+,57!vbAo9x=X\subitem*+\vbox+,44,64,65,71,72!vCfoAotnote=X\subitem*+\vCfootnote+,57!vDfoAotnote=X\subitem*+\vDfootnote+,57,58!vEfoAotnote=X\subitem*+\vEfootnote+,58!V:elth9uis,{-Frans,98!rules=X\subitemrules+,\main{70},71!v l=X\subitem*+\vfil+,67,71,72!vrule=X\subitem*+\vrule+,55,70!vsize=X\subitem*+\vsize+,62!vsplit=X\subitem*+\vsplit+,46,67!wd=X\subitem*+\wd+,45,46,64,71!Whitney:,6Ron,4!wido9wpAenalty=X\subitem*+\widowpenalty+,45,53!Williamson, IHugh,70!lemma=X\subitemlemma+,42!appAenditem=X\subitemappenditem+,\main{26}!xlineref=X\subitem*+\xlineref+,\usage{18},\main{74}!xpageref=X\subitem*+\xpageref+,\usage{18},\main{74}!appAenditem=X\subitemappenditem+,\main{26},33--35,57,58,74!xspaceskip=X\subitem*+\xspaceskip+,58!xsublineref=X\subitem*+\xsublineref+,\usage{18},\main{75}!xxref=X\subitem*+\xxref+,\usage{18},\main{75}!skip=X\subitemskip+,58<;k,߆T cmtt12+t}\cmti7*t : cmbx9)ߤN cmtt9(߆Tff cmtt12'- cmcsc10&': cmti10%2@cmbx8$#fcmti8#- cmcsc10"p0J cmsl10!N cmbx12 cmmi10K`y cmr10ٓRcmr7Zcmr5O line10a