; TeX output 1996.10.08:1703M ⍍ō[8ϠU}Ei&kAHH cmssbx10ConTEXtGEi'R6 cmss12Generic qModuleso >Ei(R6 cmss12HansPHagen/PRAXGMA7ڍEiZwXolle,PTheNetherlands4ڍEi1996POctober8Eips: 0 0 0 setrgbcolors Ei3\unprotect9ips: 0 0 0 setrgbcolorvEiusTtousethec9haracters@,!and?inmacronames.6~i5Ei\ifx\undefined\protect ٗOq\let\protect=\relaxEi\fiɍ6~i6Ei\def\unprotect%Oq{\catcode`@=11T++\catcode`!=11T++\catcode`?=11T++\let\normalprotect=\protectT++\edef\protect%]W{\catcode`@=\the\catcode`@\relaxbW\catcode`!=\the\catcode`!\relaxbW\catcode`?=\the\catcode`?\relaxbW\let\protect=\normalprotect}}EiW:eTstartusingthisoneitatonce.ɍ6~i7Ei\unprotectEiW:eneedsomescratc9hregisters.4Usersarefreetousethem,butcanneverbAesureoftheirv|ralue0!ލ\scratch...p[#\if...\next...9ips: 0 0 0 setrgbcolorvEionceeAanothermacroiscalled. 6W:eonlyalloAcatethingswhentheyarey9etunde ned.Thisw9ayeAweEican'tTmessupothermacropac9k|rages,butofcoursepreviousde nitionscanmessupourmoAdules.EiThesemacrosareabitcomplicatedb9ythefactthatPlainTȟE Xps: 0 0 0 setrgbcolorde nesthe\new{macrosasbAeingEiouter.pF:urthermoreTnested\if'scangetusin9totrouble.ɍ6~i8Ei\def\definecontextobject%Oq{\iftrue}Ei ps: 0 0 0 setrgbcolor8ύ1supp-misps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorVMissingps: 0 0 0 setrgbcolorU3ps: 0 0 0 setrgbcolors EiConcept:&d1996October8BM7 M ⍍ō[8ύEips: 0 0 0 setrgbcolorU}6~i9Ei\def\gobblecontextobject% ٗOq{\setbox0=\hbox]W\bgroup]W\long\def\gobblecontextobject##1\fi{\egroup}%]W\expandafter\gobblecontextobject\string}ɍ2i10Ei\def\ifnocontextobject#1\do%Oq{\ifx#1\undefined]W\let\next=\definecontextobjectT++\else]W\writestatus{system}{bewareofconflicting\string#1}%]W\let\next=\gobblecontextobjectT++\fiT++\next}2i11Ei\ifnocontextobject\scratchcounter!\do\newcount s,\scratchcounter\fiEi\ifnocontextobject\scratchdimen*F\do\newdimen s,\scratchdimenX\fiEi\ifnocontextobject\scratchskip/?\do\newskip,\scratchskip\fiEi\ifnocontextobject\scratchmuskip%̰\do\newmuskip\scratchmuskip,\fiEi\ifnocontextobject\scratchbox3r\do\newboxX\scratchboxY\fiEi\ifnocontextobject\scratchread/?\do\newread,\scratchread\fiEi\ifnocontextobject\scratchwrite*F\do\newwrite s,\scratchread\fi2i12Ei\ifnocontextobject\nextboxB&4\do\newboxX\nextbox*F\fi2i13Ei\ifnocontextobject\nextdepth8\do\newdimen s,\nextdepth!\fi2i14Ei\ifnocontextobject\ifCONTEXTtrue%̰\do\newif\ifCONTEXT8\fiEi\ifnocontextobject\ifdonetrue3r\do\newif\ifdoneF\fiEi\ifnocontextobject\ifeightbitcharacters\do\newif\ifeightbitcharacters\fiȍEiW:eTusesym9bAolicnamefor cmsy9hj cmti9catcodesi.pTheeTcanonlybeusedwhenw9eareinunprotectedstate.0!ލ#\@@...p[9ips: 0 0 0 setrgbcolor̨2i15Ei\ifnocontextobject\@@escape=l\do\chardef\@@escape=0,\fiEi\ifnocontextobject\@@begingroup*F\do\chardef\@@begingroup=1,\fiEi\ifnocontextobject\@@endgroup3r\do\chardef\@@endgroup,=2\fiEi\ifnocontextobject\@@letter=l\do\chardef\@@letter=11 s,\fiEi\ifnocontextobject\@@otherB&4\do\chardef\@@otherY=12 s,\fiEi\ifnocontextobject\@@active=l\do\chardef\@@active=13 s,\fiEiIn'CONTȟE XTps: 0 0 0 setrgbcolorw9euse\everyparforspAecialpurposesandpro9vide\EveryParasanalternative.TThe0!ލ>\everylinep[>\EveryLineO\EveryPar9ips: 0 0 0 setrgbcolorvEisameTgoAesfor\everylineand\EveryLine.ɍ2i16Ei\ifnocontextobject\everyline8\do\newtoks\everyline/?\fiEi\ifnocontextobject\EveryPar=l\do\let\EveryPar s,=\everypar\fiEi\ifnocontextobject\EveryLine8\do\let\EveryLine=\everyline\fiEiW:eTreserv9eourselvessomescratchstrings(i.e.pmacros).0!ލ#\!!...p[9ips: 0 0 0 setrgbcolor̨2i17Ei\ifnocontextobject\!!stringa8\do\def\!!stringa{}!\fiEi\ifnocontextobject\!!stringb8\do\def\!!stringb{}!\fiEi\ifnocontextobject\!!stringc8\do\def\!!stringc{}!\fiEi\ifnocontextobject\!!stringd8\do\def\!!stringd{}!\fiEi ps: 0 0 0 setrgbcolor8ύ4ps: 0 0 0 setrgbcolor1supp-misps: 0 0 0 setrgbcolorEiMissingps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8?8 \M ⍍ō[8ύUps: 0 0 0 setrgbcolorU}EiTheTnextsetofde nitionsspAeedupprocessingabit.pF:urthermoreitsa9vesTmemory.0!ލ#\!!...p[9ips: 0 0 0 setrgbcolor̨2i18Ei\ifnocontextobject\!!zeropoint/?\do\def\!!zeropoint,{0pt}X\fi ٗEi\ifnocontextobject\!!tenthousand%̰\do\def\!!tenthousand{10000} s,\fiɍ2i19Ei\ifnocontextobject\!!widthB&4\do\def\!!width!{width} s,\fiEi\ifnocontextobject\!!height=l\do\def\!!heightY{height}\fiEi\ifnocontextobject\!!depthB&4\do\def\!!depth!{depth} s,\fi2i20Ei\ifnocontextobject\!!plusF\do\def\!!plus%̰{plus},\fiEi\ifnocontextobject\!!minusB&4\do\def\!!minus!{minus} s,\fiȍEiTheTsystemmoAduleso erarangeofsmashingmacros,ofwhic9hweonlycopied\smashbox.0!ލO\smashboxp[9ips: 0 0 0 setrgbcolor̨2i21Ei\ifnocontextobject\smashbox\do2i22Oq\def\smashbox#1%X{\wd#1=\!!zeropoint]W\ht#1=\!!zeropoint]W\dp#1=\!!zeropoint}2i23Ei\fiȍEiAlso<6withoutfurthercommen9t,gwe<6introAduceamacrothatgetsthenextbo9xanddoessomethinguse-0!ލ]\dowithnextboxp[9ips: 0 0 0 setrgbcolorvEifull,#withit.εBecausethe\afterassignmentisexecutedinsidethebAo9x,Zwe,#havetousea\aftergroupEitoAo.2i24Ei\ifnocontextobject\dowithnextbox\do2i25Oq\def\dowithnextbox#1%X{\def\dodowithnextbox{#1}%]W\afterassignment\dododowithnextbox]W\setbox\nextbox}2i26Oq\def\dododowithnextbox%X{\aftergroup\dodowithnextbox}2i27Ei\fiȍEiThat'sTit.pPleaseforgetthisjunkandtak9ealoAokathowitshouldbAedone.2i28Ei\protectEi_ps: 0 0 0 setrgbcolor8ύ1supp-misps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorVMissingps: 0 0 0 setrgbcolorU5ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8?9 $EM ⍍ō[8ύEips: 0 0 0 setrgbcolorU}EiLps: 0 0 0 setrgbcolor6ps: 0 0 0 setrgbcolor1supp-verps: 0 0 0 setrgbcolorEips: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8toAo.EiThis @moAdulesho9wsafewtricksthatareoftenoverseenbynovice,liketheuseoftheTȟE Xps: 0 0 0 setrgbcolorprimitiveEi\meaning.|FirstwI'llsho9winwhatwaytheusersareconfrontedwithverbatimtypAesetting.|BecauseEiw9ewanttobAeabletotestforsymmetryandbecausew9ehatethemethodofclosingdo9wntheEiv9erbatimcmoAdewithsomestrangeactivecharacter,wewillusethefollowingconstructionfordisplayEiv9erbatim:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\starttypingps: 0 0 0 setrgbcolorScTheDutchword!ps: 0.800 0.800 0.600 setrgbcolor'ps: 0 0 0 setrgbcolortypen!ps: 0.800 0.800 0.600 setrgbcolor'ps: 0 0 0 setrgbcolorstandsfor!ps: 0.800 0.800 0.600 setrgbcolor'ps: 0 0 0 setrgbcolortyping!ps: 0.800 0.800 0.600 setrgbcolor'ps: 0 0 0 setrgbcolor,thereforeintheDutchversionSconewillnotfindtheword!ps: 0.800 0.800 0.600 setrgbcolor'ps: 0 0 0 setrgbcolorverbatim!ps: 0.800 0.800 0.600 setrgbcolor'ps: 0 0 0 setrgbcolor.Sc!ps: 0.000 0.800 0.000 setrgbcolor\stoptypingps: 0 0 0 setrgbcolorEiIn\խCONTȟE XTps: 0 0 0 setrgbcolor lescanbAet9ypedwith\typefileandinlinev9erbatimcanbeaccomplishedwith\type.EiThisTlastcommandcomesinman9y avors:ɍScWecansay!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolorsomething!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcoloror!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolorsomething!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor.ThefirstoneisabitSclongerbutalsosupportsslantedtyping,whichaccomplishedbytypingSc!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolora!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolorslanted!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolorword!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolor.WecanalsousecommandstoenhancethetextSc!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolorwith!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor<ps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor/ps: 0 0 0 setrgbcolorbfboldfaced!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolortext!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor>ps: 0 0 0 setrgbcolor.Justtobecomplete,wedecidedSctoacceptalso!ps: 0.000 0.800 0.000 setrgbcolor\LaTeX\ps: 0 0 0 setrgbcoloralikeverbatim,whichmeansthat!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolorsomething!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolorScand!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor|ps: 0 0 0 setrgbcolorsomething!ps: 0.800 0.800 0.600 setrgbcolor|ps: 0 0 0 setrgbcolorarevalidcommandstoo.OfcoursewewantthegroupedScalternativestoprocess!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolorhello!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\bfps: 0 0 0 setrgbcolorbig!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorworld!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorwithbraces.EiIn%thecoremoAdules,)w9ewillbuildthissupportontopofthismodule.M TherethesecommandscanEibAetunedwithaccompan9yingsetupcommands..Therewecanenablecommands,Oslantedtyping,Eicon9trolQspaces,` {handlingand(hereweare:)coloring.W:ecanalsosetupsurroundingwhiteEispaceTandinden9ting.pHerewe'llonlyshowsomeexamples.ɍ6~i3Ei\unprotectEiWhend2w9earetypAesettingverbatimweuseanon{propAortional(monospaced)font. Normallythis0!ލ 8'\verbatimfontp[9ips: 0 0 0 setrgbcolorvEifon9ta[isav|railablebycalling\tt.rInCONTȟE XTps: 0 0 0 setrgbcolorthiscommanddoAesacompletefont{styleswitch.rThereEiw9eTcouldhavestuckwith\tttf.ɍ6~i4Ei\ifx\undefined\verbatimfont\def\verbatimfont{\tt}\fiEi ps: 0 0 0 setrgbcolor8ύ1supp-verps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolor)V9erbatimps: 0 0 0 setrgbcolorU7ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8,andactive0!ލ \obeyedspacep[>\obeyedtab\obeyedline\obeyedpage9ips: 0 0 0 setrgbcolorvEiandTassigningthem\obeysomething,but rstw9esetsomedefaultv|ralues.ɍEi\def\obeyedspace{\hbox{}} ٗ6~i5Ei\def\obeyedtab,{\obeyedspace}Ei\def\obeyedline s,{\par}Ei\def\obeyedpage s,{\vfill\eject}0EiFirstRw9ede ne\obeyspaces.(kWhenwewantvisiblespaces(controlspaces)weonlyhavetoadaptލ 8'\controlspacep[\setcontrolspaces9ips: 0 0 0 setrgbcolorvEitheTde nitionof\obeyedspaceto:ɍ6~i6Ei\def\controlspace{\hbox{\char32}}6~i7Ei\bgroup ٗEi\catcode`\=\@@activeEi\gdef\obeyspaces{\catcode`\=\@@active\def{\obeyedspace}}Ei\gdef\setcontrolspaces{\catcode`\=\@@active\def{\controlspace}}Ei\egroup0EiNextw9etakecareofandandbAecausewewanttobAeabletotypAesetlistingsލO\obeytabsp[>\obeylines>\obeypages\ignoretabs \ignorelines \ignorepages9ips: 0 0 0 setrgbcolorvEithatX[con9tain,wehavetohandlethosetoAo.Becausewehavetorede netheEic9haracterTloAcally:,werede nethemeaningofthis(oftenalready)activecharacter.ɍEi\catcode`\^^L=\@@active\def^^L{\par}Ei\bgroupEi\catcode`\^^I=\@@active ٗEi\catcode`\^^M=\@@active2i10Ei\catcode`\^^L=\@@activeɍ2i11Ei\gdef\obeytabsX{\catcode`\^^I=\@@active\def^^I{\obeyedtab}}Ei\gdef\obeylines,{\catcode`\^^M=\@@active\def^^M{\obeyedline}}Ei\gdef\obeypages,{\catcode`\^^L=\@@active\def^^L{\obeyedpage}}2i12Ei\gdef\ignoretabs s,{\catcode`\^^I=\@@active\def^^I{\obeyedspace}}Ei\gdef\ignorelines{\catcode`\^^M=\@@active\def^^M{\obeyedspace}}Ei\gdef\ignorepages{\catcode`\^^L=\@@active\def^^L{\obeyedline}}2i13Ei\egroup0EiW:ealsoprede ne\obeycharacters,whic9hwillenableustoimplementcharacter{spAeci cbeha9vior,0!ލޓ\obeycharactersp[9ips: 0 0 0 setrgbcolorvEilik9eTcoloredverbatim.2i14Ei\let\obeycharacters=\relaxEiThehmacro\settabskipcanbAeusedtoenabletabhandling.!Processingtabsissometimesneeded0!ލ \settabskipsp[9ips: 0 0 0 setrgbcolorvEiwhen.oneproAcessesaplainASCI7Ips: 0 0 0 setrgbcolorlisting.fT:abhandlingslo9wsdownverbatimtypAesettingconsider- ٗEiably:.2i15Ei\bgroup2i16Ei\catcode`\^^I=\@@active2i17Ei\gdef\settabskips%Oq{\let\processverbatimline=\doprocesstabskiplineT++\catcode`\^^I=\@@activeT++\let^^I=\doprocesstabskip}2i18Ei\egroupEi ps: 0 0 0 setrgbcolor8ύ8ps: 0 0 0 setrgbcolor1supp-verps: 0 0 0 setrgbcolorEiV9erbatimps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8,BandEic9haractersandturntheminto.W:eneedthedouble\bgroupconstructiontokeeptheclos-EiingTcommandloAcal.ɍ2i19Ei\def\setupinlineverbatim%Oq{\verbatimfontT++\let\obeytabs=\ignoretabsT++\let\obeylines=\ignorelinesT++\let\obeypages=\ignorepagesT++\setupcopyverbatim}2i20Ei\def\doprocessinlineverbatim%Oq{\ifx\next\bgroup]W\setupinlineverbatim]W\catcode`\{=\@@begingroup]W\catcode`\}=\@@endgroup]W\def\next{\let\next=}%T++\else]W\setupinlineverbatim]W\def\next##1{\catcode`##1=\@@endgroup}%T++\fiT++\next}2i21Ei\def\processinlineverbatim#1%Oq{\bgroupT++\def\endofverbatimcommand{#1\egroup}%T++\bgroupT++\aftergroup\endofverbatimcommandT++\futurelet\next\doprocessinlineverbatim}EiThe+closingcommandisexecutedafterw9ardsasaninternalcommandandthereforeshouldnotbAe0!ލxC\processdisplayverbatimp[9ips: 0 0 0 setrgbcolorvEigiv9enTexplicitlywhentypAesettinginlineverbatim.EiW:e cande neadispla9yverbatimenvironmentwiththecommand\processdisplayverbatimin ٗEitheTfollo9wingway:Sc!ps: 0.000 0.800 0.000 setrgbcolor\processdisplayverbatimps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\closingcommandps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorEiF:orTinstance,w9ecande neasimplecommandlike:Sc!ps: 0.000 0.800 0.000 setrgbcolor\def\BeginVerbatimps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\processdisplayverbatimps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolorEndVerbatim!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorEi ps: 0 0 0 setrgbcolor8ύ1supp-verps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolor)V9erbatimps: 0 0 0 setrgbcolorU9ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8-1T++\repeat}ȍEiThemaincop9yingroutineofdisplayverbatimdoAesanordinarystring{compareonthesavedclosingEicommandandthecurren9tline.Thespaceafter#1inthede nitionof\nextisessential!AsaresultEiofTusing\obeylines,w9ehavetouse%'saftereachlinebutnoneafterthe rst#1.ɍ2i25Ei{\obeylines%J\gdef\copyverbatimline#1T++{\ifx\doverbatimline\relax%gobblerestofthefirstlinebW\let\doverbatimline=\dodoverbatimline%bW\def\next{\copyverbatimline}%X\else%g\def\next{#1}%g\ifx\next\emptyspace%p\def\next%y{\doemptyverbatimline{#1}%~q\copyverbatimline}%g\else%p\edef\next{\meaning\next}%p\ifx\next\endofverbatimcommand%y\def\next%k{\egroup\endofdisplayverbatim}%p\else%y\def\next%k{\doverbatimline{#1}%$\copyverbatimline}%p\fi%g\fi%T++\fi%T++\next}}ȍEiTheDactualt9ypAesettingofalineisdonebyaseparatemacro,GwhichenablesustoimplementEihandling.UThe(\doand\dodomacrostak9ecareofthepreceding\parskip,-MwhileskippingtherestEiofTthe rstline.pThe\relaxisusedasansignal.EiAcarefulreaderwillseethat\lineparisreset.-ThisbAooleancanbAeusedtodetermineifthe0!ލ>\iflineparp[9ips: 0 0 0 setrgbcolorvEicurren9tTlineisthe rstlineinapseudoparagraphandthisbAooleanTissetaftereachemptyline.ɍ2i26Ei\newif\iflinepar2i27Ei\def\dodoverbatimline#1% ٗOq{\leavevmode\the\everyline\strut\processverbatimline{#1}%T++\EveryPar{}%T++\lineparfalseT++\obeyedline\par}EiEmpt9y0linesinverbatimcanleadtowhitespaceontopofanewpage.Becausethisisnotwhatwe0!ލޓ\obeyemptylinesp[9ips: 0 0 0 setrgbcolorvEiw9ant,Tweturnthemintoverticalskips.pThisdefaultbAehaviorcanbAeoverruledby:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\obeyemptylinesps: 0 0 0 setrgbcolorEi ps: 0 0 0 setrgbcolor8ύ1supp-verps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolor)V9erbatimps: 0 0 0 setrgbcolorU11ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8\EveryLine9ips: 0 0 0 setrgbcolorvEiforlinespAeci cactions.InCONTȟE XTps: 0 0 0 setrgbcolorho9wever,weuse\everyparforplacingside-andcolumn oats,Eiinhibitingainden9tationandsomeotherpurpAoses.InverbatimmoAde,everylinebAecomesaparagraph,Eiwhic9hameansthat\everyparisexecutedfrequently:.ToabAesure,theuserspeci cuseofbothEi\everylineTand\everyparisimplemen9tedbymeansof\EveryLineand\EveryPar.EiW:e,stillha9ve,totak9ecareofthe.b;A,takeseightspacesandanormallyhasaEiwidth؞of0.5em.3Becausew9ecanbAehalfwayatabulation,wemustkeeptrackofthepAosition.3ThisEitak9estime,ѳespAeciallywhenweprintcomplete les,ѳthereforewe\relaxthismechanismbydefault.ɍ2i31Ei\def\doprocesstabskip%Oq{\obeyedspace%\hskip.5em s,or\hboxto.5em{}T++\ifdone]W\advance\scratchcounterby1]W\let\next=\doprocesstabskip]W\donefalseT++\else\ifnum\scratchcounter>7\relax]W\let\next=\relaxT++\else]W\advance\scratchcounter1\relax]W\let\next=\doprocesstabskipT++\fi\fiT++\next}2i32Ei\def\dodoprocesstabskipline#1#2\endoftabskipping%Oq{\ifnum\scratchcounter>7\relax]W\scratchcounter=1\relax]W\donetrueT++\else]W\advance\scratchcounter1\relax]W\donefalseT++\fiT++\ifx#1\relax]W\let\next=\relaxEi ps: 0 0 0 setrgbcolor8ύb12ps: 0 0 0 setrgbcolor1supp-verps: 0 0 0 setrgbcolorEiV9erbatimps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors獍 EiConcept:&d1996October8?16 MM ⍍ō[8ύUps: 0 0 0 setrgbcolorU}T++\else ٗ]W\def\next{#1\dodoprocesstabskipline#2\endoftabskipping}%T++\fiT++\next}ɍ2i33Ei\let\endoftabskippingX=\relaxEi\let\processverbatimline=\relax2i34Ei\def\doprocesstabskipline#1%Oq{\bgroupT++\scratchcounter=1\relaxT++\dodoprocesstabskipline#1\relax\endoftabskippingT++\egroup}祉EiThev9erbatimtypAesettingof lesisdoneonabitdi erentbasis.andwhenw9e'veOmet,weOmakesureitdoAesnotturnintoanEiempt9yTline.Sc!ps: 0.000 0.800 0.000 setrgbcolor\processfileverbatimps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolorfilename!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor祉EiT9ypAesetting/a leinmostcasesresultsinmorethanonepage.Becausewedon'twantproblemsEiwith2 lesthatarereadinduringtheconstructionofthepage,9w9eset\ifprocessingverbatim,soEitheToutputroutinecanadaptitsbAeha9vior.2i35Ei\newif\ifprocessingverbatim2i36Ei\def\processfileverbatim#1%Oq{\parT++\bgroupT++\parindent\!!zeropointT++\ifdim\lastskip<\parskip]W\removelastskip]W\vskip\parskipT++\fiT++\parskip\!!zeropointT++\processingverbatimtrueT++\linepartrueT++\uncatcodecharactersT++\verbatimfontT++\frenchspacingT++\obeyspacesT++\obeytabsT++\obeylinesT++\obeypagesT++\obeycharactersT++\openin\scratchread=#1%T++\def\doreadline%]W{\read\scratchreadto\nextbW\ifeof\scratchreadk%wedon'twanttobetreatedasbW\else\ifx\next\emptylinek\expandafter\doemptyverbatimline\expandafter{\next}%bW\else\ifx\next\emptypagek\expandafter\doemptyverbatimline\expandafter{\next}%bW\elsek\expandafter\dodoverbatimline\expandafter{\next}%bW\fi\fi\fiEi ps: 0 0 0 setrgbcolor8ύ1supp-verps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolor)V9erbatimps: 0 0 0 setrgbcolorU13ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?17M ⍍ō[8ύEips: 0 0 0 setrgbcolorU}bW\readline}% ٗT++\def\readline%]W{\ifeof\scratchreadk\let\next=\relaxbW\elsek\let\next=\doreadlinebW\fibW\next}%T++\readlineT++\closein\scratchreadT++\egroupT++\ignorespaces}ȍEiTheseimacro'scanbAeusedtoconstructthecommandsw9ementionedinthebAeginningofthisdoc-Eiumen9tation.W:eleavethistothefantasyofthereaderandonlyshowsomePLAINps: 0 0 0 setrgbcolorTȟE Xps: 0 0 0 setrgbcoloralternativesEiforGdispla9yverbatimandlistings.DIW:ede nethreecommandsfortypAesettinginlinetext,CdisplayEitextTand lesv9erbatim.pTheinlinealternativealsoacceptsusersupplieddelimiters.ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\typeps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolortext!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor-Sc!ps: 0.000 0.800 0.000 setrgbcolor\starttypingps: 0 0 0 setrgbcolorSc...verbatimtext...Sc!ps: 0.000 0.800 0.000 setrgbcolor\stoptypingps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\typefileps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolorfilename!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorȍEiW:eTcanturnontheoptionsb9y:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\controlspacetrueps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\verbatimtabstrueps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\prettyverbatimtrueps: 0 0 0 setrgbcolorEiHereTistheimplemen9tation:ɍ2i37Ei\newif\ifcontrolspaceEi\newif\ifverbatimtabsEi\newif\ifprettyverbatim2i38Ei\def\presettyping%Oq{\ifcontrolspace]W\let\obeyspace=\setcontrolspaceT++\fiT++\ifverbatimtabs]W\let\obeytabs=\settabskipsT++\fiT++\ifprettyverbatim]W\let\obeycharacters=\setupprettytextypeT++\fi}2i39Ei\def\type%Oq{\bgroupT++\presettypingT++\processinlineverbatim{\egroup}}2i40Ei\def\starttyping%Oq{\bgroupT++\presettypingEi ps: 0 0 0 setrgbcolor8ύb14ps: 0 0 0 setrgbcolor1supp-verps: 0 0 0 setrgbcolorEiV9erbatimps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:&d1996October8?18ҠM ⍍ō[8ύUps: 0 0 0 setrgbcolorU}T++\processdisplayverbatim{\stoptyping}}ɍ2i41Ei\def\stoptyping% ٗOq{\egroup}2i42Ei\def\typefile#1%Oq{\bgroupT++\presettypingT++\processfileverbatim{#1}%T++\egroup}*čEiOneKcanusethedi eren9t\obeysomethingcommandstoin uencethebAehaviorofthesemacro's.EiW:e4useforinstance\obeycharactersformaking/anactiv9echaracterwhenwewanttoincludeEit9ypAesettingTcommands.EiW:e'llkspAendtheremainderofthisarticleoncoloringthev9erbatimtext.AtPRAGMAweusetheEiin9tegratedenvironmentTȟE XEDITps: 0 0 0 setrgbcolorforeditingandproAcessingTȟEXps: 0 0 0 setrgbcolordoAcumen9ts.r>Aacmr61 ThisprogramalsoEisuppAortszBrealtimespellc9heckingzBandTȟE Xps: 0 0 0 setrgbcolorbased lemanagemen9t.Althoughde nitelynotexclusive,EitheprogramscoAoperatenicelywithCONTȟE XTps: 0 0 0 setrgbcolor.BecauseTȟEXps: 0 0 0 setrgbcolorcanbAeconsideredatoolforexperts,Eiw9e'vetriedtoputaslessaburdenonnon{tec9hnicalusersaspAossible.8ThisisaccomplishedintheEifollo9wingTways:EiScW:e'v9eaddedsometrivialsymmetrycheckingtoTȟE XEDITps: 0 0 0 setrgbcolor.SourcesarecheckedfortheuseofScbrac9kets,Tbraces,bAegin{endandstart{stoplik9econstructions,withorwithoutarguments.EiScAlthoughuhTȟE Xps: 0 0 0 setrgbcolorisv9erytoleranttounformattedinput,ewestimulateuserstomaketheASCI7Ips: 0 0 0 setrgbcolorsourceScascleanaspAossible.Man9ysourcesI'veseenindistributionsetsloAoksoawful,thatIsometimesScw9onderhowpAeoplegetthemworking.Inouropinion,aagoAod{lookingsourceleadstolesserrors.EiScW:euseparameterdriv9ensetupsandmakethecommandsastolerantaspAossible.W:edon'tScacceptTcommandsthatdon'tloAokniceinASCI7Ips: 0 0 0 setrgbcolor.EiScFinallyT|Icouldha9veTaddedsomemore|w9eusecolor.EiWhen*]inspAell{c9hecking{mode,othe*]wordsspAelledcorrectlyareshownin q[ cmsl9green,otheunknownorEiwrongly+spAelledw9ordsareinred|anduptofourcategoriesofwords,1&forinstancepassiveverbsandEinouns,pbAecomeblue(orcy9an)oryellow.Shortandnearlyalwayscorrectwordsareinwhite(onEiaublac9kscreen).;Thismakeschecking{on{the{ yveryeasyandconvenient,espAeciallybecausew9eEiplaceTtheaccen9tsautomatically:.EiInTȟE Xps: 0 0 0 setrgbcolor{moAdew9eshowTȟE Xps: 0 0 0 setrgbcolor{spAeci ctokensandsequencesoftokensinappropriatecolorsandagainEiw9e!usefourcolors.$W:eusethosecolorsinawaythatsuppAortsparameterdrivensetups,XtableEit9ypAesettingTandeasyvisualcheckingofsymmetry:.pFurthermoreTthetextbAecomesmorereadable.Siwff"fh&h t : cmbx9color-AcCharactersthatarein uencedfh&hred-A{}$ green-A\this\!!that\??these\@@thosey9ellow-A`'~^_&/+-|%blue-A()#[]"<>=fh&hff0&ps: 0 0 0 setrgbcolorEiMacro{de nitionandst9yle lesoftenloAokquitegreen, becausetheycon9tainmanycallstomacros.EiPureǚtext lesontheotherhandaremostlywhite(onthescreen)andcolorclearlysho9wstheirEistructure.EiWheniIipreparedthein9teractiveiܭPDFps: 0 0 0 setrgbcolorman9ualsofCONTȟE XTps: 0 0 0 setrgbcolor,TȟEXEDITps: 0 0 0 setrgbcolorandPPCHTȟEXps: 0 0 0 setrgbcolor(1995),'IidecidedEitoEincludetheoriginalsourcetextoftheman9ualsasanappAendix.Ateverychapteror(sub)sectionEi@ps: 0 0 0 setrgbcolor 󘍍r1T JEŝXEDITps: 0 0 0 setrgbcolorȭhasb7eenoperativesince1991.8ύ1supp-verps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolor)V9erbatimps: 0 0 0 setrgbcolorU15ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8\\\#\\\(\\\)\\\"%]W\\\$\\\{\\\}%]W\\\-\\\+\\\|\\\%\\\/\\\_\\\^\\\&\\\~\\\'\\\`%]W\\\.\\\,\\\:\\\;%]W\\\*%]W\\\1\\\2\\\3\\\4\\\5\\\6\\\7\\\8\\\9%]W\\\\}Oq\catcode`\X=\the\catcode`\{Oq\catcode`\Y=\the\catcode`\}Oq\catcode`\Z=\the\catcode`\%Oq\gdef\texsetsometypes%X{\def\!##1##2{\def##1{##2{##1}}}}%OqXZT++\catcode`\!=\@@escapeT++!texpresetspecialprettyT++!gdef!texsetspecialpretty]WXZbW!texpresetspecialprettybW!texsetsometypesbW!!$!textypeone,!!{!textypeone!!}!textypeonebW!![!textypetwo,!!]!textypetwo!!(!textypetwo!!)!textypetwobW!!=!textypetwo,!!!textypetwo!!"!textypetwobW!!-!textypethree!!+!textypethree!!/!textypethreebW!!|!textypethree!!%!textypethree!!'!textypethree!!`!textypethreebW!!_!textypethree!!^!textypethree!!&!textypethree!!~!textypethreebW!!.!textypefour s,!!,!textypefour!!:!textypefour!!;!textypefourbW!!*!textypefourbW!!#!textypefivebW!!1!textypesix,!!2!textypesix!!3!textypesixbW!!4!textypesix,!!5!textypesix!!6!textypesixbW!!7!textypesix,!!8!textypesix!!9!textypesixbW!!\!textypesevenbW!!^!textypeeightEi ps: 0 0 0 setrgbcolor8ύ1supp-verps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolor)V9erbatimps: 0 0 0 setrgbcolorU21ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?25M ⍍ō[8ύEips: 0 0 0 setrgbcolorU}]WYZ ٗOqYZEi\egroupȍEiThism textw9aspublishedintheMAPSps: 0 0 0 setrgbcolorofthedutchTȟE Xps: 0 0 0 setrgbcolorusersgroupNTGps: 0 0 0 setrgbcolor.Inthatarticle,theverbatimEipartTofthetextw9assetwiththefollowingcommandsfortheexamples:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\def\starttypenps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolorWesimplifythe!ps: 0.000 0.800 0.000 setrgbcolor\ConTeXt\ps: 0 0 0 setrgbcolormacro.]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\bgroupps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\everyparps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolorWedisablesometroublesomemechanisms.b %!ps: 0.000 0.800 0.000 setrgbcolor\advance\leftskipps: 0 0 0 setrgbcolorby1emb %!ps: 0.000 0.800 0.000 setrgbcolor\processdisplayverbatimps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\stoptypenps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor-Sc!ps: 0.000 0.800 0.000 setrgbcolor\def\stoptypenps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolor]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\egroupps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorȍEiTheTimplemen9tationitselfwastypAesetwith:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\def\startdefinitionps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolor]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\bgroupps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\everyparps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolorAgainwedisablesometroublesomemechanisms.b %!ps: 0.000 0.800 0.000 setrgbcolor\let\obeycharactersps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\setupprettytextypeps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\EveryParps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\showparagraphcounterps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\EveryLineps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\showlinecounterps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\verbatimcorpsps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\processdisplayverbatimps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\stopdefinitionps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor-Sc!ps: 0.000 0.800 0.000 setrgbcolor\def\stopdefinitionps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolor]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\egroupps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorȍEiAnd_bAecausew9ehavebAoth\EveryParand\EveryLineav|railable,awecanimplementadualnum-EibAeringTmec9hanism:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\newcount\paragraphcounterps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\newcount\linecounterps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\def\showparagraphcounterps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolor]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\llapps: 0 0 0 setrgbcolork~Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\bgroupps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\counterfontps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\hboxps: 0 0 0 setrgbcolorto4emy!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\global\advance\paragraphcounterps: 0 0 0 setrgbcolorby1~d!ps: 0.000 0.800 0.000 setrgbcolor\hssps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\the\paragraphcounterps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor2em!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\egroupps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor1em!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\def\showlinecounterps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolor]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\llapps: 0 0 0 setrgbcolork~Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\bgroupps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\counterfontps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\hboxps: 0 0 0 setrgbcolorto2emy!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\global\advance\linecounterps: 0 0 0 setrgbcolorby1~d!ps: 0.000 0.800 0.000 setrgbcolor\hssps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\the\linecounterps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\egroupps: 0 0 0 setrgbcolorp7!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor1em!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorEi ps: 0 0 0 setrgbcolor8ύb22ps: 0 0 0 setrgbcolor1supp-verps: 0 0 0 setrgbcolorEiV9erbatimps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8arethreet9ypAesofbo9xes,Ionehorizontalandtwoverticalinnature.Aswewillseelateron,0!ލ\normalhboxp[\normalvbox\normalvtop9ips: 0 0 0 setrgbcolorvEiallrthreet9ypAesaretobehandledaccordingtotheirorien9tationandbaselinebeha9vior.2EspeciallyEi\vtop'sTneedourspAecialatten9tion.ɍ6~i4Ei\let\normalhbox=\hboxEi\let\normalvbox=\vboxEi\let\normalvtop=\vtopEiNextcomethe exibleskips,whic9hcomeintwo avorstoAo.LikebAoxesthesearehandledwithTȟE Xps: 0 0 0 setrgbcolor0!ލ \normalhskipp[ \normalvskip9ips: 0 0 0 setrgbcolorvEiprimitiv9es.ɍ6~i5Ei\let\normalhskipX=\hskipEi\let\normalvskipX=\vskipEiBothBpAenaltiesandk9ernsaretakencareofbymoAdesensitiveprimitives.9Thismeansthatwhen0!ލ]\normalpenaltyp[\normalkern9ips: 0 0 0 setrgbcolorvEimakingTthemvisible,w9ehavetotakethecurrentmoAdeintoaccount.ɍ6~i6Ei\let\normalpenalty s,=\penaltyEi\let\normalkern=\kernEiGluesiontheotherhandaremacro'sde nedinPLAINps: 0 0 0 setrgbcolorTȟE Xps: 0 0 0 setrgbcolor.Asw9ewillsee,~theirde nitionsmake0!ލ \normalhgluep[ \normalvglue9ips: 0 0 0 setrgbcolorvEitheTimplemen9tationoftheirvisiblecounterpartsabitmoreTuAEXnical.ɍ6~i7Ei\let\normalhglueX=\hglueEi\let\normalvglueX=\vglueEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU25ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8theirunitmuisnotcompatiblewithotherdimensions.CoAsaresult, ٗEitheTvisualappAearanceoftheseprimitiv9esiskeptprimitivetoAo.ɍ6~i8Ei\let\normalmkernX=\mkernEi\let\normalmskipX=\mskipȍEiFillsjcanbAemadevisiblequiteeasy:.Wejonlyneedsomeadditionalnegationmacros.BecausePLAINps: 0 0 0 setrgbcolor0!ލ\hfilnegp[\vfilneg9ips: 0 0 0 setrgbcolorvEiTȟE Xps: 0 0 0 setrgbcolorTonlyo ers\hfilnegand\vfilneg,w9ede neourownalternativedoublell'edones.6~i9Ei\def\hfillneg%Oq{\normalhskip\!!zeropoint\!!plus-1fill\relax}2i10Ei\def\vfillneg%Oq{\normalvskip\!!zeropoint\!!plus-1fill\relax}ȍEiTheTpAositiv9estretchprimitivesareusedindepAendantandincombinationwith\leaders.0!ލ>\normalhssp[\normalhfil \normalhfill>\normalvss\normalvfil \normalvfill9ips: 0 0 0 setrgbcolor̨Ei\let\normalhssY=\hssEi\let\normalhfil=\hfilEi\let\normalhfillX=\hfillEi\let\normalvssY=\vss2i11Ei\let\normalvfil=\vfilEi\let\normalvfillX=\vfillEiKeepinmindthatbAoth\hfillnegand\vfillnegarenotpartofPLAINps: 0 0 0 setrgbcolorTȟE Xps: 0 0 0 setrgbcolorandthereforenot0!ލ]\normalhfilnegp[ޓ\normalhfillneg]\normalvfilnegޓ\normalvfillneg9ips: 0 0 0 setrgbcolorvEidoAcumen9tedTinstandardTȟE Xps: 0 0 0 setrgbcolordocumen9tation.pTheycanneverthelessbAeusedatwill.ɍEi\let\normalhfilneg s,=\hfilneg2i12Ei\let\normalhfillneg=\hfillnegEi\let\normalvfilneg s,=\vfilnegEi\let\normalvfillneg=\vfillnegEiVisualizationPisnotalw9aysPwanted.Insteadofturningthisoptiono inthose(unpredictable)Eisituations,Tw9ejustrede neafewPLAINps: 0 0 0 setrgbcolormacros.ɍ2i13Ei\def\rlap#1{\normalhboxto\!!zeropoint{#1\normalhss}}Ei\def\llap#1{\normalhboxto\!!zeropoint{\normalhss#1}}2i14Ei\def~{\normalpenalty\!!tenthousand\}ȍEiRuledbAo9xescanbet9ypesetisman9yways.ʏHerewepresentjustonealternative.ʏThisimplementation0!ލ 8'\makeruledboxp[9ips: 0 0 0 setrgbcolorvEima9y'bAealittlecomplicated,+butitsupportsallthreekindofbo9xes.QThenextcommandexpectsaEihbox8iTspAeci cation,lik9e:Sc!ps: 0.000 0.800 0.000 setrgbcolor\makeruledbox0ps: 0 0 0 setrgbcolorȍEiW:e:Ecanmak9ethebaselineofabAoxvisible,CbAothdashedandasarule.BNormallythelineisdrawn0!ލ 8'\baselinerulep[ 8'\baselinefill]\baselinesmash9ips: 0 0 0 setrgbcolorvEionTtopofthebaseline,butasmashedalternativ9eiso eredtoAo.pIfwewantthemall,wejustsay:Sc!ps: 0.000 0.800 0.000 setrgbcolor\baselineruletrueps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\baselinefilltrueps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\baselinesmashtrueps: 0 0 0 setrgbcolorȍEiA9tTthecostofsomeoverheadthesealternativesareimplementedusing\if's:2i15Ei\newif\ifbaselinerule s,\baselineruletrueEi\newif\ifbaselinefill s,\baselinefillfalseEi\newif\ifbaselinesmash\baselinesmashfalseEi ps: 0 0 0 setrgbcolor8ύb26ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8\rightrule9ips: 0 0 0 setrgbcolor̨Sc!ps: 0.000 0.800 0.000 setrgbcolor\topruletrueps: 0 0 0 setrgbcolor ٗSc!ps: 0.000 0.800 0.000 setrgbcolor\bottomruletrueps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\leftruletrueps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\rightruletrueps: 0 0 0 setrgbcolorȍEiAsTw9eseebAelow:ɍ2i16Ei\newif\iftoprule!\topruletrueEi\newif\ifbottomruleX\bottomruletrueEi\newif\ifleftruleY\leftruletrueEi\newif\ifrightrule\rightruletrueEiThewidthinthesurroundingrulescanbAespeci edb9yassigninganapropriatev|raluetothedimension0!ލ 8'\boxrulewidthp[9ips: 0 0 0 setrgbcolorvEiused.pThisTmoAduledefaultsthewidthto:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\boxrulewidthps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor.2ptEiAlthoughuw9earealreadylowonhdimensionsiit'sbAesttospendonehere,E\ifdim\ruledheight>\!!zeropoint\else\baselinerulefalse\fiu>E\ifdim\ruleddepth>\!!zeropoint\else\baselinerulefalse\fiu>E\ifbaselinerule~q\ifdim\ruledwidth<20\boxrulewidthEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU27ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?31 QM ⍍ō[8ύEips: 0 0 0 setrgbcolorU}$\baselinefilltrue ٗ~q\fi~q\cleaders$\ifbaselinefill\hrule \ifbaselinesmash~!\!!height\boxrulewidth \else~!\!!height.5\boxrulewidth~!\!!depth.5\boxrulewidth \fi$\else\normalhbox {\normalhskip2.5\boxrulewidthċ\vruleċ\ifbaselinesmash7\!!height\boxrulewidthċ\else7\!!height.5\boxrulewidth7\!!depth.5\boxrulewidthċ\fiċ\!!width5\boxrulewidthċ\normalhskip2.5\boxrulewidth}%$\fiu>E\fiu>E\normalhfillu>E\vrule~q\!!width\ifrightrule\else0\fi\boxrulewidth}%k\normalvskip-\boxrulewidthk\hruleu>E\!!height\boxrulewidthu>E\ifbottomrule\else\!!width\!!zeropoint\fi}%T++\wd#1=\!!zeropointT++\setbox#1=\ifhbox#1\normalhbox\else\normalvbox\fi]W{\normalhbox{\box#1\lower\ruleddepth\box\scratchbox}}%T++\ht#1=\ruledheightT++\wd#1=\ruledwidthT++\dp#1=\ruleddepth}ȍEiJust2incaseonedidn'tnotice:,therulesareinfactla9yed2overthebAox.c ThiswaythecontentsofEia2bAo9xcannotvisuallyinterferewiththerulesaround(upAon)it.tWA2moreadv|rancedversionofruledEibAo9xesLmcanbefoundinoneofthecoremodulesofCONTȟE XTps: 0 0 0 setrgbcolor.Therew9etakeo sets,Z3color,roundedEicorners,Tbac9kgroundsandalignmentintoaccounttoAo.EiThesemacro'scanbAeusedinsteadof\hbox,\vboxand\vtop.Theyjustdowhattheirnames0!ލ>\ruledhboxp[>\ruledvbox>\ruledvtop9ips: 0 0 0 setrgbcolorvEistate.%Usinganauxiliarymacrow9ouldsaveusafewwordsofmemory:,butitwouldmaketheirEiappAearanceTev9enmoreobscure.7p1#EioneTt9wothree333K ͍@33.@3333Kfour veEicU33[E+ ٖ33Ho323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232o ٖ33 33[E+EicU33[E+ ٖ33Ho323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232o ٖ33 33[E+ ؍vɾ!ps: 0.000 0.800 0.000 setrgbcolor\hboxps: 0 0 0 setrgbcolor\!!zeropoint\relax]W\negativefalse\else]W\negativetrue s,\fi}2i26Ei\def\investigatecount#1%Oq{\relaxT++\flexiblefalseT++\ifnum#1=0]W\zerotrueY\else]W\zerofalse\fiT++\ifnum#1<0]W\positivefalse\else]W\positivetrue s,\fiT++\ifnum#1>0]W\negativefalse\else]W\negativetrue s,\fi}2i27Ei\def\investigatemuskip#1%Oq{\relaxT++\edef\!!stringa{\the\scratchmuskip}%T++\edef\!!stringb{0mu}%T++\def\!!stringc##1##2\\{##1}%T++\expandafter\edef\expandafter\!!stringc\expandafterEi ps: 0 0 0 setrgbcolor8ύb30ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:&d1996October8?34#M ⍍ō[8ύUps: 0 0 0 setrgbcolorU}]W{\expandafter\!!stringc\!!stringa\\}% ٗT++\edef\!!stringd{-}%T++\flexiblefalseT++\ifx\!!stringa\!!stringb]W\zerotrue]W\negativefalse]W\positivefalseT++\else]W\zerofalse]W\ifx\!!stringc\!!stringdg\positivefalseg\negativetrue]W\elseg\positivetrueg\negativefalse]W\fiT++\fi}ȍEiInden9tation,leftand/orrightskips,rede nitionof\parandassignmentsto\everyparcanleadto0!ލ]\dontinterferep[9ips: 0 0 0 setrgbcolorvEiun9wantedTresults.pW:ecanthereforeturnallthosethingso with\dontinterfere.ɍ2i28Ei\def\dontinterfere%Oq{\everypar s,={}%T++\let\par,=\endgrafT++\parindent=\!!zeropointT++\parskip,=\!!zeropointT++\leftskip s,=\!!zeropointT++\rightskip=\!!zeropointT++\relax}EiIn%thismoAdulew9edoalotofbo9xmanipulations.NBecausewedon'twanttobAeconfrontedwithto0!ލ 8'\dontcomplainp[9ips: 0 0 0 setrgbcolorvEiman9yTover-andunderfullmessagesweintroAduce\dontcomplain.ɍ2i29Ei\def\dontcomplain%Oq{\hbadness s,=\!!tenthousandT++\hfuzz=\maxdimenT++\vbadness s,=\!!tenthousandT++\vfuzz=\maxdimen}EiNo9wd>theneccessaryutilitymacrosarede ned,wecanmakeastartwiththevisualizingones.EiThe)implemen9tationofthesemacrosisacompromisebAetweenreadability:,.eciencyofcoAdingandEiproAcessingtspeed. %Sometimesw9edoinstepswhatcouldhavebAeendoneincombination,sometimesEiw9e\useafewbAoxesmoreorlessthenactuallyneeded,nhandmorethanonceonecan ndthesameEipieceTofruledra9wingcoAdetwice.EiDepAendinglonthecon9text,EhonecanforcevisualverticalcuesbAeingcenteredalong\hsizeorbAeingput0!ލޓ\ifcenteredvcuep[\normalvcue9ips: 0 0 0 setrgbcolorvEiatthecurren9tpAosition.>AlthoughcenteringoftenloAoksbetter,Cw9e'vechosenthesecondalternativeEiasFdefault.Themainreasonfordoingsoisthatoftenwhenw9edon'tsetthe\hsizeourselves,TȟE Xps: 0 0 0 setrgbcolorEitak9es4thev|ralueofthesurroundingbAox.AsaresultthevisualcuescanmigrateoutsidethecurrentEicon9text.EiThis=!bAeha9viorisaccomplishedbyasmallbute ectiveauxiliarymacro,whichbAehaviorcanbAeEiin uencedTb9ythebAooleanT\centeredvcue.pBysayingɍSc!ps: 0.000 0.800 0.000 setrgbcolor\centeredvcuetrueps: 0 0 0 setrgbcolorEioneTturnscen9teringon.pAssaid,weturnito .Eips: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU31ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?35$ M ⍍ō[8ύEips: 0 0 0 setrgbcolorU}2i30Ei\newif\ifcenteredvcue s,\centeredvcuefalseɍ2i31Ei\def\normalvcue#1% ٗOq{\normalhbox\ifcenteredvcueto\hsize\fi{\normalhss#1\normalhss}}EiW:eTcouldha9veTusedthemorerobustv9ersionSc!ps: 0.000 0.800 0.000 setrgbcolor\def\normalvcueps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolor]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\normalhboxps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\ifcenteredvcueps: 0 0 0 setrgbcolorto!ps: 0.000 0.800 0.000 setrgbcolor\hsizeps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\fips: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\bgroup\bgroup\normalhssps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\aftergroup\normalhss\aftergroup\egroupps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\let\nextps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorEiorTtheprobablybAestone:Sc!ps: 0.000 0.800 0.000 setrgbcolor\def\normalvcueps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor%ps: 0 0 0 setrgbcolor]Q!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\hboxps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\ifcenteredvcueps: 0 0 0 setrgbcolorto!ps: 0.000 0.800 0.000 setrgbcolor\hsizeps: 0 0 0 setrgbcolork~Q!ps: 0.000 0.800 0.000 setrgbcolor\bgroup\bgroup\normalhssps: 0 0 0 setrgbcolork~Q!ps: 0.000 0.800 0.000 setrgbcolor\aftergroup\normalhss\aftergroup\egroupps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\elseps: 0 0 0 setrgbcolork~Q!ps: 0.000 0.800 0.000 setrgbcolor\bgroupps: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\fips: 0 0 0 setrgbcolorb %!ps: 0.000 0.800 0.000 setrgbcolor\let\nextps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorEiBecausew9edon'thavetopreservehcatcodesiandonlyusesmallarguments,=westicktothe rstEialternativ9e.EiW:e_buildourvisualcuesoutofrules.A9tthecostofamuchbiggerDVIps: 0 0 0 setrgbcolor le,thisistobAepreferedover0!ލ]\testrulewidthp[9ips: 0 0 0 setrgbcolorvEiusingc9haracters(1)bAecausewecannotbAesureoftheirav|railabilityand(2)bAecausetheirdimensionsEiareT xed.EiAs(withruledbAo9xes,Wwe(useahdimension9itospecifythewidthoftheruledelemen9ts.̀ThisdimensionEidefaultsTto:ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\testrulewidthps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\boxrulewidthps: 0 0 0 setrgbcolorEiBecause mw9epreferwholenumbAersforspecifyingthedimensions,c2w9eoftenuseevenmultiplesofEi\testrulewidth.EiA7dsecond7lv|rariableisin9troAducedbecauseofthestretc9hcomponen9tsofhskipsi.Atthecostofsome0!ލޓ\visiblestretchp[9ips: 0 0 0 setrgbcolorvEiaccuracyTw9ecanmakethisstretchvisible.ɍSc!ps: 0.000 0.800 0.000 setrgbcolor\visiblestretchtrueps: 0 0 0 setrgbcolor2i32Ei\newdimen\testrulewidth s,\testrulewidth=\boxrulewidthEi\newif\ifvisiblestretch s,\visiblestretchfalseEiW:estartwiththeeasiestpart,the lls.Thesc9hemewefollowisvisual lling{goingback{normal0!ލO\ruledhssp[>\ruledhfil 8'\ruledhfilneg\ruledhfill]\ruledhfillneg9ips: 0 0 0 setrgbcolorvEi lling.O@Visualizing&Disimplemen9tedusing\cleaders.Becausethehbox8ithatfollo9wsthiscommandEiisconstructedonlyonce,%the\copyisnotreallyaprerequisite.GW:epreferusinga\normalhboxhereEiinsteadTofa\hbox.2i33Ei\def\setvisiblehfilbox#1\to#2#3#4%Oq{\setbox#1=\normalhbox]W{\vrulek\!!width#2\testrulewidthk\!!height#3\testrulewidthk\!!depth#4\testrulewidth}%T++\smashbox#1}Ei ps: 0 0 0 setrgbcolor8ύb32ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:&d1996October8?36%!M ⍍ō[8ύUps: 0 0 0 setrgbcolorU}2i34Ei\def\doruledhfiller#1#2#3#4% ٗOq{#1#2%T++\bgroup]W\dontinterfere]W\dontcomplain]W\setvisiblehfilbox0\to{4}{#3}{#4}%]W\setvisiblehfilbox2\to422%]W\copy0\copy2]W\bgroupg\setvisiblehfilbox0\to422%g\cleadersp\normalhboxto12\testrulewidthy{\normalhss\copy0\normalhss}%p#1%]W\egroup]W\setbox0=\normalhboxg{\normalhskip-4\testrulewidth\copy0\copy2}%]W\smashbox0]W\box0T++\egroup}ȍEiThehorizon9tal llersdi erintheirbAoundaryvisualization.gW:atchthesmalldots.gFillerscanbAeEicom9binedTwithinreasonablemargins.Ei\hssff̎ !32ff̎fd32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎ff̎q{testEicU33V ٖ33G ٖ33 33VEi\hfil΄̎ff̎32ff̎fd32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎H΄̎Hff̎{testEicU33V ٖ33G ٖ33 33VEi\hfill36̎ff̎S32ff̎fd32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎36̎ff̎testEicU33V ٖ33G ٖ33 33VEi\hfil\hfil΄̎ff̎|?32ff̎fd32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎Ο΄̎Ξff̎⚟΄̎⚞ff̎^ٍ32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎Ο΄̎Ξff̎⚮test΄̎ff̎|?32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎Ο΄̎Ξff̎\hfilEicU33V ٖ33G ٖ33 33VȍEiTheTnegativ9ecounterpartsarevisualizes,butseldombAecomevisible,apartfromtheirboundaries.Ei\hfilneg̎ff̎132ff̎fd32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎̎ff̎߮testEicU33V ٖ33G ٖ33 33VEi\hfillneg̎ff̎썍32ff̎fd32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎z̎zff̎nFtestEicU33V ٖ33G ٖ33 33VȍEiAlthoughleadersareusedforvisualizing,@theyarevisualizedthemselv9escorrectlyasthenextEiexampleTsho9ws.J36̎ff̎A32ff̎fd32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎32ff̎Ű36̎Űff̎EicU33V ٖ33G ٖ33 33VȍEiAllz v9esubstitutionsusethesameauxiliarymacro.W:atchthepAositive rst{negativenextap-Eiproac9h.ɍ2i35Ei\def\ruledhss%Oq{\doruledhfiller\normalhss\normalhfilneg{0}{0}}2i36Ei\def\ruledhfil%Oq{\doruledhfiller\normalhfil\normalhfilneg{10}{-6}}2i37Ei\def\ruledhfill%Oq{\doruledhfiller\normalhfill\normalhfillneg{18}{-14}}2i38Ei\def\ruledhfilneg%Ei ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU33ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8\ruledvfil 8'\ruledvfilneg\ruledvfill]\ruledvfillneg9ips: 0 0 0 setrgbcolorvEidi eren9tTway:.Ei\def\setvisiblevfilbox#1\to#2#3#4%Oq{\setbox#1=\normalvcue2i40]W{\vrulek\!!width#2\testrulewidthk\!!height#3\testrulewidthk\!!depth#4\testrulewidth}%T++\smashbox#1}%2i41Ei\def\doruledvfiller#1#2#3%Oq{#1#2%T++\bgroup]W\dontinterfere]W\dontcomplain]W\offinterlineskip]W\setvisiblevfilbox0\to422%]W\setbox2=\normalhboxg{\normalhskip-#3\testrulewidth\copy0}%]W\smashbox2]W\copy2]W\bgroupg\setbox2=\normalhboxp{\normalhskip-2\testrulewidth\copy0}%g\smashbox2g\copy2g\cleadersp\normalvboxto12\testrulewidthy{\normalvss\copy2\normalvss}%p#1%g\setbox2=\normalvboxp{\vskip-2\testrulewidth\copy2}%g\smashbox2g\box2]W\egroup]W\setbox2=\normalvboxg{\vskip-2\testrulewidth\copy2}%]W\smashbox2]W\box2T++\egroup}ȍEiBecauseTtheyactthesameastheirhorizon9talcounterpartsweonlyshowafewexamples.5߀ Ei\vssi ff̎i ff̎Ei@ ΍# ff̎fd΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎ٛ# ff̎# ff̎lastTlineEis=33G&Í&33GLK&3333G߀ h\vfil'ff̎ff̎h@ ΍# ff̎fd΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎ٛ# ff̎$?ff̎lastTlinehs=33G&Í&33GLK&3333G߀ Pg\vfill)ff̎ \ff̎Pg@ ΍# ff̎fd΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎ٛ# ff̎%Wff̎lastTlinePgs=33G&Í&33GLK&3333G߀ :f\vfilneg\ff̎^ff̎:f΍# ff̎fd΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎9# ff̎![ff̎lastTline:fs=33G&Í&33GLK&3333G߀ e\vfillneg(ff̎ff̎e΍# ff̎fd΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎΍# ff̎9# ff̎ ?Þff̎lastTlinees=33G&Í&33GLK&3333GȍEiKeepTinmindthat\vfillnegisnotpartofPLAINps: 0 0 0 setrgbcolorTȟE Xps: 0 0 0 setrgbcolor,butaremimmic9kedTbyamacro.2i42Ei\def\ruledvss%Ei ps: 0 0 0 setrgbcolor8ύb34ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:&d1996October8?38'#.M ⍍ō[8ύUps: 0 0 0 setrgbcolorU}Oq{\doruledvfiller\normalvss\normalvfilneg{2}}ɍ2i43Ei\def\ruledvfil% ٗOq{\doruledvfiller\normalvfil\normalvfilneg{-4}}2i44Ei\def\ruledvfill%Oq{\doruledvfiller\normalvfill\normalvfillneg{-12}}2i45Ei\def\ruledvfilneg%Oq{\doruledvfiller\normalvfilneg\normalvfil{8}}2i46Ei\def\ruledvfillneg%Oq{\doruledvfiller\normalvfillneg\normalvfill{16}}ȍEiSkipsTdi erfromk9ernsintwoimpAortantaspAects:0!ލ\ruledhskipp[9ips: 0 0 0 setrgbcoloŗEiSclineTandpagebreaksareallo9wedTataskipEiScskipsTcanha9veTapAositiv9eand/ornegativestretchcompAonentEiStatedabitdi eren9t: kernsare xedskipsatwhic9hnolineorpagebreakcanoAccur.BecauseskipsEiha9veTamoreopAenc9haracter,theyarevisualizedinaopenw9ay:.GEioneT30fffffgFffffff32ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 30ff!Tt9woT30ffff3430ffT3030ff36ff fgoff˄ffff32ff˄ffffff˄ffffff˄ffffff˄ffffff˄ffffff˄ffff230ffTthree!30f`̎Tfour30ffff3430ff v9eEi333‹X ͍@33$@3333‹X0:Yɾoneɾ!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptplus5ptɾtwoɾ!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾ!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor10ptplus5ptɾthreeɾ!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor,0ptɾfourɾ!ps: 0.000 0.800 0.000 setrgbcolor\hskipps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾfiveɾ33‹XiB l33$l33 33‹XCc#EiWhen>qskipsha9ve>qastretc9hcompAonent,Hthisisvisualizedbymeansofadashedline.PositiveskipsEiareontopofthebaseline,negativ9eonesarebAelowit.ZThiswaywecanshowthecombinedresults.EiAnhE\!!width4\testrulewidthu>E\!!height16\testrulewidthu>E\!!depth16\testrulewidth}%T++\else]W\setbox0=\normalhboxto\ifnegative-\fi\scratchskipg{\vruleu>E\!!width2\testrulewidthu>E\ifnegative\!!depth\else\!!height\fi16\testrulewidthk\cleadersu>E\hruleEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU35ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?39($?M ⍍ō[8ύEips: 0 0 0 setrgbcolorU}~q\ifnegative ٗ$\!!depth2\testrulewidth$\!!height\!!zeropoint~q\else$\!!height2\testrulewidth$\!!depth\!!zeropoint~q\fiu>E\normalhfillk\ifflexibleu>E\normalhskip\ifnegative\else-\fi\scratchskipu>E\normalhskip2\testrulewidthu>E\cleaders~q\normalhbox${\normalhskip2\testrulewidth3\vruleQ_\!!width2\testrulewidthQ_\!!height\ifnegative-7\else9\fi\testrulewidthQ_\!!depth\ifnegative9\else-7\fi\testrulewidth3\normalhskip2\testrulewidth}%~q\normalhfillk\fik\vruleu>E\!!width2\testrulewidthu>E\ifnegative\!!depth\else\!!height\fi16\testrulewidth}%]W\setbox0=\normalhboxg{\ifnegative\else\normalhskip-\scratchskip\fik\box0}%T++\fiT++\smashbox0%T++\ifvisiblestretch\else]W\flexiblefalseT++\fiT++\ifflexible]W%breaksokbutsmalldisplacementscanoccur]W\skip2=\scratchskip]W\advance\skip2by-1\scratchskip]W\divide\skip2by2]W\advance\scratchskipby-\skip2]W\normalhskip\scratchskip]W\normalpenalty\!!tenthousand]W\box0]W\normalhskip\skip2T++\else]W\normalhskip\scratchskip]W\box0T++\fiT++\egroup}ɍ2i48Ei\def\ruledhskip%Oq{\bgroupT++\afterassignment\doruledhskipT++\scratchskip=}Ei ps: 0 0 0 setrgbcolor8ύb36ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8E\!!width32\testrulewidthu>E\!!height2\testrulewidthu>E\!!depth2\testrulewidth}%T++\else]W\setbox0=\normalvboxto\ifnegative-\fi\scratchskipg{\hruleu>E\!!width16\testrulewidthEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU37ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?41*&VM ⍍ō[8ύEips: 0 0 0 setrgbcolorU}u>E\!!height2\testrulewidth ٗk\ifflexibleu>E\cleaders~q\normalhboxto16\testrulewidth${\normalhss3\normalvboxQ_{\normalvskip2\testrulewidth \hrule \!!width2\testrulewidth \!!height2\testrulewidth \normalvskip2\testrulewidth}%3\normalhss}%~q\normalvfillk\elseu>E\normalvfillk\fik\hruleu>E\!!width16\testrulewidthu>E\!!height2\testrulewidth}%]W\setbox2=\normalvboxto\ht0g{\hruleu>E\!!width2\testrulewidthu>E\!!height\ht0}%]W\ifnegativeg\ht0=\!!zeropointg\setbox0=\normalhboxp{\normalhskip2\testrulewidth%willbeimprovedu>E\normalhskip-\wd0\box0}%]W\fi]W\smashbox0%]W\smashbox2%]W\setbox0=\normalvcueg{\box2\box0}%]W\setbox0=\normalvboxg{\ifnegative\normalvskip\scratchskip\fi\box0}%]W\smashbox0%T++\fiT++\ifvisiblestretch]W\ifflexibleg\skip2=\scratchskipg\advance\skip2by-1\scratchskipg\divide\skip2by2g\advance\scratchskipby-\skip2g\normalvskip\skip2]W\fiT++\fiT++\normalpenalty\!!tenthousandT++\box0T++\prevdepth=\nextdepth%not\dp0=\nextdepthT++\normalvskip\scratchskip}ȍEiW:eKtrytoa9voidKinterferingatthetopofapage.VOfcourseweonlydosowhenweareinthemainEiv9erticalTlist.ɍ2i50Ei\def\doruledvskip%Ei ps: 0 0 0 setrgbcolor8ύb38ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:&d1996October8?42+'M ⍍ō[8ύUps: 0 0 0 setrgbcolorU}Oq{\par ٗT++\ifdim\pagegoal=\maxdimen]W\ifinnerg\dodoruledvskip]W\fiT++\else]W\dodoruledvskipT++\fiT++\egroup}ɍ2i51Ei\def\ruledvskip%Oq{\bgroupT++\afterassignment\doruledvskipT++\scratchskip=}ȍEiThebmacrosthatimplemen9tthekernsareabitmorecomplicatedthanneeded,vPbAecausetheyalso0!ލ>\ruledkernp[9ips: 0 0 0 setrgbcolorvEiserv9ethevisualizationofglue,uourPLAINps: 0 0 0 setrgbcolorde nedkernswithstretchorshrink.W:e'veimplementedEibAothThorizon9talandverticalkernsasruledbAoxes.GEioneT36ffʍ30ff3430ffffT36ffʍ30ff3430ffff!Tt9woT36ffʍ30ff3430ffffT36ffʍ30ff3430ffffTffff 3030ff 3430ff30ff Tffff 3030ff 3430ff30ff TthreeH36ffʍ30f`ff̄f`ff30ffTfour36ffʍ30ff3430ffff36ffʍ30ff3430ffff v9eEi333‹X ͍@33$@3333‹X0:Yɾoneɾ!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾtwoɾ!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾ!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor10ptɾthreeɾ!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor,0ptɾfourɾ!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾfiveɾ33‹XiB l33$l33 33‹XCc#EiP9ositivemandnegativ9ekernsareplacedontoporbAelowthebaseline,soweareabletotracktheirEiaddedresult.CW:edidn'tmen9tionspacingsof0ptyet.CZerov|raluesarevisualizedabitdi erent,EibAecauseTw9ewanttoseethemanyhow.ɍ2i52Ei\def\doruledhkern%Oq{\dontinterfereT++\dontcomplainT++\baselinerulefalseT++\investigateskip\scratchskipT++\boxrulewidth=2\testrulewidthT++\ifzero]W\setbox0=\ruledhboxto8\testrulewidthg{\vruleu>E\!!width\!!zeropointu>E\!!height16\testrulewidthu>E\!!depth16\testrulewidth}%]W\setbox0=\normalhboxg{\normalhskip-4\testrulewidth\box0}%T++\else]W\setbox0=\ruledhboxto\ifnegative-\fi\scratchskipg{\vruleu>E\!!width\!!zeropointu>E\ifnegative\!!depth\else\!!height\fi16\testrulewidthk\ifflexibleu>E\normalhskip2\testrulewidthu>E\cleadersEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU39ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?43,(eM ⍍ō[8ύEips: 0 0 0 setrgbcolorU}~q\normalhbox ٗ${\normalhskip2\testrulewidth3\vruleQ_\!!width2\testrulewidthQ_\!!height\ifnegative-7\else9\fi\testrulewidthQ_\!!depth\ifnegative9\else-7\fi\testrulewidth3\normalhskip2\testrulewidth}%~q\normalhfillk\elseu>E\normalhfillk\fi}%]W\testrulewidth=2\testrulewidth]W\setbox0=\ruledhbox{\box0}% s,\make...T++\fiT++\smashbox0%T++\normalpenalty\!!tenthousandT++\normalhboxto\!!zeropoint]W{\ifnegative\normalhskip1\scratchskip\fibW\box0}%T++\afterwards\scratchskipT++\egroup}ɍ2i53Ei\def\ruledhkern#1%Oq{\bgroupT++\let\afterwards=#1\relaxT++\afterassignment\doruledhkernT++\scratchskip=}ȍEiAfterha9vingseenthehorizontalones,theverticalkernswillnotsurpriseus.yKInthisexampleweEiuseT\partoswitc9htoverticalmoAde.WCy Ei rstTlineDffff30fffdffff30Dffff30fffdffff30(ٗEisecondTlineDffff30fffdffff30Dffff30fffdffff30 ffff30 fffd ffff30ffff30 fffd ffff30ٗEithirdTlineEifourthTlineDffff30fffdffff30Dffff30fffdffff30(ٗEi fthTline̍垙fff`fffffffff`垙fff`fffffffff`EisixthTlineEis@33‹XL33$3333‹X;эɾfirstlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾsecondlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor10ptɾthirdlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolorɾfourthlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor30ptɾfifthlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\kernps: 0 0 0 setrgbcolor,0ptɾsixthlineɾ ؉33‹X~( 333$333 33‹XSc*EiLik9ebAefore,wehavetopAostpone\prevdepth.Ifw9eleaveoutthistrick,wegotourselvessomeEiwrongTspacing.ɍ2i54Ei\def\dodoruledvkern%Oq{\nextdepth=\prevdepthT++\dontinterfereT++\dontcomplainT++\baselinerulefalseT++\offinterlineskipT++\investigateskip\scratchskipT++\boxrulewidth=2\testrulewidthEi ps: 0 0 0 setrgbcolor8ύb40ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors獍 EiConcept:&d1996October8?44-)6M ⍍ō[8ύUps: 0 0 0 setrgbcolorU}T++\ifzero ٗ]W\setbox0=\ruledhboxto32\testrulewidthg{\vruleu>E\!!width\!!zeropointu>E\!!height4\testrulewidthu>E\!!depth4\testrulewidth}%T++\else]W\setbox0=\ruledvboxto\ifnegative-\fi\scratchskipg{\hsize16\testrulewidthk\ifflexibleu>E\cleaders~q\normalhboxto16\testrulewidth${\normalhss3\normalvboxQ_{\normalvskip2\testrulewidth \hrule~!\!!width2\testrulewidth~!\!!height2\testrulewidth \normalvskip2\testrulewidth}%3\normalhss}%~q\normalvfillk\elseu>E\vrule~q\!!width\!!zeropoint~q\!!height\ifnegative-\fi\scratchskipu>E\normalhfillk\fi}T++\fiT++\testrulewidth=2\testrulewidthT++\setbox0=\ruledvbox{\box0}% s,\make...T++\smashbox0%T++\setbox0=\normalvbox]W{\ifnegative\normalvskip\scratchskip\fibW\normalvcueg{\ifnegative\normalhskip-16\testrulewidth\fi\box0}}%T++\smashbox0%T++\normalpenalty\!!tenthousandT++\box0T++\prevdepth=\nextdepth}%not\dp0=\nextdepthɍ2i55Ei\def\doruledvkern%Oq{\ifdim\pagegoal=\maxdimen]W\ifinnerg\dodoruledvkern]W\fiT++\else]W\dodoruledvkernT++\fiT++\afterwards\scratchskipT++\egroup}2i56Ei\def\ruledvkern#1%Oq{\bgroupT++\let\afterwards=#1\relaxT++\afterassignment\doruledvkernEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU41ps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8E\!!height\ifpositive16\else-14\fi\testrulewidthu>E\!!depth\ifpositive-14\else16\fi\testrulewidthk\normalhfillbW\ifflexiblek\normalhskip-\wd0k\leadersu>E\hrule~q\!!height\testrulewidth~q\!!depth\testrulewidthu>E\normalhfillbW\fibW\vrulek\!!height16\testrulewidthk\!!depth16\testrulewidthk\!!width\testrulewidth}%T++\smashbox0%T++\ifnegativebW#1\scratchmuskip]W\box0T++\else]W\box0bW#1\scratchmuskipT++\fiT++\egroup}')ύuVEia30f`33ff$Df`33p=Ɵ30f`33ff$Df`33b30ffffs030ff830f`33fff`33 G+30f`33fff`3330ffffs030ffcEi333‹X ͍TT33$T33T33‹Xius;ɾ!ps: 0.900 0.000 0.000 setrgbcolor$ps: 0 0 0 setrgbcolora!ps: 0.000 0.800 0.000 setrgbcolor\mkernps: 0 0 0 setrgbcolor3mu!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\mkernps: 0 0 0 setrgbcolor3muTb!ps: 0.000 0.800 0.000 setrgbcolor\quadps: 0 0 0 setrgbcolorT!ps: 0.000 0.800 0.000 setrgbcolor\mkernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor2mu!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\mkernps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor2muT!ps: 0.000 0.800 0.000 setrgbcolor\quadps: 0 0 0 setrgbcolorc!ps: 0.900 0.000 0.000 setrgbcolor$ps: 0 0 0 setrgbcolorɾ֐33‹X()p +f[33$+f[33 33‹X$f=2i63Ei\def\doruledmkern%Oq{\investigatemuskip\scratchmuskipEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU43ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?470,ZM ⍍ō[8ύEips: 0 0 0 setrgbcolorU}T++\flexiblefalse ٗT++\dodoruledmkern\normalmkern}ɍ2i64Ei\def\ruledmkern%Oq{\bgroupT++\afterassignment\doruledmkern\scratchmuskip=}')ύuVEia30f`33ffWwuVffWwf`33p=Ɵ30f`33ffWwuVffWwf`33b30ffffs030ff830f`33fffff`33 G+30f`33fffff`3330ffffs030ffcEi333‹X ͍TT33$T33T33‹Xius;ɾ!ps: 0.900 0.000 0.000 setrgbcolor$ps: 0 0 0 setrgbcolora!ps: 0.000 0.800 0.000 setrgbcolor\mskipps: 0 0 0 setrgbcolor3mu!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\mskipps: 0 0 0 setrgbcolor3muTb!ps: 0.000 0.800 0.000 setrgbcolor\quadps: 0 0 0 setrgbcolorT!ps: 0.000 0.800 0.000 setrgbcolor\mskipps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor2mu!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\mskipps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor2muT!ps: 0.000 0.800 0.000 setrgbcolor\quadps: 0 0 0 setrgbcolorc!ps: 0.900 0.000 0.000 setrgbcolor$ps: 0 0 0 setrgbcolorɾ֐33‹X()p +f[33$+f[33 33‹X$f=2i65Ei\def\doruledmskip%Oq{\investigatemuskip\scratchmuskipT++\flexibletrueT++\dodoruledmkern\normalmskip}ɍ2i66Ei\def\ruledmskip%Oq{\bgroupT++\afterassignment\doruledmskip\scratchmuskip=}ȍEiAfter:presen9ting lls,fskip,kerns:andgluewe'vecometoseepAenalties.ӗInthe rstimplementation|0!ލ\penaltyp[9ips: 0 0 0 setrgbcolorvEimost/Zofthetimeneededtodev9elopthissetofmacroswentintotestingdi erenttypAesofvisualizationEi|JLpAenaltiesw9eremeresmallbloc9kswithoneblackhalf,WdepAendingonthesign.WThismostrecentEiv9ersionalsogivesanindicationoftheamountofpAenalty:.JPenaltiescangofromlessthan10000toEio9vergA+10000,andtheirbAeha9viorissomewhatnon-lineair,withsomev|raluesha9vingspAecialmeanings.EiW:eTthereforedecidednottouseitsv|ralueforalineairindicator.GEioneT3030{ffff303030fffd30ff30ff30˄fff`fe30̎Tt9wo3030{ffff303030fffd30ff30ff30˄fff`fe30̎H3030̟fff`{3030{ffff303030fffd30ff30ff30three{ffff303030fffd30ff30ff30four3030{ffff303030fffd30ff30ff30˄fff`fe30̎ veEi333‹X ͍@33$@3333‹X0:Yɾoneɾ!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor100ɾtwoɾ!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor100ɾ!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor100ɾthreeɾ!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolorX0ɾfourɾ!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor100ɾfiveɾ33‹XiB l33$l33 33‹XCc#EiThesmallstic9ksatthesideofthepAenaltyindicateitsize.ThenextexampleshowsthepAositiveEiandTnegativ9epAenaltiesof0,1,10,100,1000and10000.ōEitest{ffff303030fffd30ff30ff30Ttest3030{ffff303030fffd30ff30ff30˄fffe30̎test3030{ffff303030fffd30ff30ff30˄fffe30̎test3030{ffff303030fffd30ff30ff30˄fff`fe30̎test3030{ffff303030fffd30ff30ff30˄ffğfe30̎test3030{ffff303030fffd30ff30ff30˄ff 3(fe30̎testōEitest{ffff303030fffd30ff30ff30TtestX3030̟ff{3030{ffff303030fffd30ff30ff30test3030̟ff{3030{ffff303030fffd30ff30ff30testH3030̟fff`{3030{ffff303030fffd30ff30ff30test,3030̟ffĎ{3030{ffff303030fffd30ff30ff30test{ȟ3030̟ff 3({3030{ffff303030fffd30ff30ff30testȍEiThisTw9aystackedpAenaltiesofdi erentseverancecanbAeshownincombination.EitestT3030{ffff303030fffd30ff30ff30˄fffe30̎T3030{ffff303030fffd30ff30ff30˄fff`fe30̎Ttesttest3030{ffff303030fffd30ff30ff30˄ffğfe30̎,3030̟ffĎ{3030{ffff303030fffd30ff30ff30testɍ2i67Ei\def\setruledpenaltybox#1#2#3#4#5#6% ٗOq{\setbox#1=\normalhbox]W{\ifnum#2=0\elsek\ifnum#2>0u>E\def\sign{+}%k\elseu>E\def\sign{-}%Ei ps: 0 0 0 setrgbcolor8ύb44ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:&d1996October8?481-ޠM ⍍ō[8ύUps: 0 0 0 setrgbcolorU}k\fi ٗk\dimen0=\ifnum\sign#2>9999 28\else\ifnum\sign#2>999 22\else\ifnum\sign#2>99 16\else\ifnum\sign#2>9 10\else 4\fi\fi\fi\fi\testrulewidthk\ifnum#2<0u>E\normalhskip-\dimen0u>E\normalhskip-2\testrulewidthu>E\vrule~q\!!width2\testrulewidth~q\!!height#3\testrulewidth~q\!!depth#4\testrulewidthk\fik\vruleu>E\!!width\dimen0u>E\!!height#5\testrulewidthu>E\!!depth#6\testrulewidthk\ifnum#2>0u>E\vrule~q\!!width2\testrulewidth~q\!!height#3\testrulewidth~q\!!depth#4\testrulewidthp\fibW\fi}%T++\smashbox#1}ɍ2i68Ei\def\doruledhpenalty%Oq{\dontinterfereT++\dontcomplainT++\investigatecount\scratchcounterT++\testrulewidth=2\testrulewidthT++\boxrulewidth=\testrulewidthT++\setbox0=\ruledhboxto8\testrulewidth]W{\ifnegative\else\normalhss\fibW\vrulek\!!depth8\testrulewidthk\!!width\ifzero0\else4\fi\testrulewidthbW\ifpositive\else\normalhss\fi}%T++\setruledpenaltybox{2}{\scratchcounter}{0}{8}{-3.5}{4.5}%T++\normalpenalty\!!tenthousandT++\setbox0=\normalhbox]W{\normalhskip-4\testrulewidthbW\ifnegativek\box2\box0bW\elsek\box0\box2bW\fi}%T++\smashbox0%T++\box0Ei ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU45ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?492.oM ⍍ō[8ύEips: 0 0 0 setrgbcolorU}T++\normalpenalty\scratchcounter ٗT++\egroup}ɍ2i69Ei\def\ruledhpenalty%Oq{\bgroupT++\afterassignment\doruledhpenaltyT++\scratchcounter=}ȍEiThesizeofav9erticalpAenaltyisalsoshownonthehorizontalaxis.IThiswaythereislessinterferenceEiwithTtheoftenprecedingorfollo9wingskipsandkerns.G.ԙEi rstTline}3330}Ήff303230fffd30ffff30ݭ33fff`fe30̎EisecondTline}3330}Ήff303230fffd30ffff30ݭ33fff`fe30̎wQ30̟fff`}30}Ήff303230fffd30ffff30EithirdTline}33ff30}Ήff303230fffd30ffff30EifourthTline}3330}Ήff303230fffd30ffff30ݭ33fff`fe30̎Ei fthTlineEiΌ׉33‹X1s)1\33$1\3333‹X0:Yɾfirstlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor100ɾsecondlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor100ɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor-ps: 0 0 0 setrgbcolor100ɾthirdlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolorX0ɾfourthlineɾ!ps: 0.000 0.800 0.000 setrgbcolor\parps: 0 0 0 setrgbcolor!ps: 0.000 0.800 0.000 setrgbcolor\penaltyps: 0 0 0 setrgbcolor!ps: 0.800 0.800 0.600 setrgbcolor+ps: 0 0 0 setrgbcolor100ɾfifthlineɾ33‹XiB l33$l33 33‹XD2i70Ei\def\doruledvpenalty%Oq{\ifdim\pagegoal=\maxdimenT++\else]W\nextdepth=\prevdepth]W\dontinterfere]W\dontcomplain]W\investigatecount\scratchcounter]W\testrulewidth=2\testrulewidth]W\boxrulewidth=\testrulewidth]W\setbox0=\ruledhboxg{\vruleu>E\!!height4\testrulewidthu>E\!!depth4\testrulewidthu>E\!!width\!!zeropointk\vruleu>E\!!height\ifnegative.5\else4\fi\testrulewidthu>E\!!depth\ifpositive.5\else4\fi\testrulewidthu>E\!!width8\testrulewidth}%]W\setruledpenaltybox{2}{\scratchcounter}{4}{4}{.5}{.5}%]W\setbox0=\normalhboxg{\normalhskip-4\testrulewidthk\ifnegativeu>E\box2\box0k\elseu>E\box0\box2k\fik\normalhss}%]W\smashbox0%]W\normalpenalty\!!tenthousand]W\nointerlineskip]W\dp0=\nextdepth s,%not\prevdepth=\nextdepth]W\normalvboxg{\normalvcue{\box0}}%Ei ps: 0 0 0 setrgbcolor8ύb46ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:&d1996October8?503/XM ⍍ō[8ύUps: 0 0 0 setrgbcolorU}T++\fi ٗT++\normalpenalty\scratchcounterT++\egroup}ɍ2i71Ei\def\ruledvpenalty%Oq{\bgroupT++\afterassignment\doruledvpenaltyT++\scratchcounter=}2i72Ei\def\ruledpenalty%Oq{\ifvmode]W\let\next=\ruledvpenaltyT++\else]W\let\next=\ruledhpenaltyT++\fiT++\next}ȍEiF:orTthosewhow9antTtomanipulatethevisualcuesindetail,w9ehavegroupAedthem.0!ލO\showfilsp[ 8'\dontshowfils>\showboxes]\dontshowboxes>\showskips]\dontshowskips]\showpenalties5\dontshowpenalties9ips: 0 0 0 setrgbcolor̨Ei\def\showfils%Oq{\let\hssY=\ruledhssT++\let\hfil=\ruledhfilT++\let\hfillX=\ruledhfillT++\let\hfilneg s,=\ruledhfilneg2i73T++\let\hfillneg=\ruledhfillnegT++\let\vssY=\ruledvssT++\let\vfil=\ruledvfilT++\let\vfillX=\ruledvfillT++\let\vfilneg s,=\ruledvfilnegT++\let\vfillneg=\ruledvfillneg}2i74Ei\def\dontshowfils%Oq{\let\hssY=\normalhssT++\let\hfil=\normalhfilT++\let\hfillX=\normalhfillT++\let\hfilneg s,=\normalhfilnegT++\let\hfillneg=\normalhfillnegT++\let\vssY=\normalvssT++\let\vfil=\normalvfilT++\let\vfillX=\normalvfillT++\let\vfilneg s,=\normalvfilnegT++\let\vfillneg=\normalvfillneg}2i75Ei\def\showboxes%Oq{\baselineruletrueT++\let\hbox=\ruledhboxT++\let\vbox=\ruledvboxT++\let\vtop=\ruledvtop}2i76Ei\def\dontshowboxes%Oq{\let\hbox=\normalhboxT++\let\vbox=\normalvboxT++\let\vtop=\normalvtop}2i77Ei\def\showskips%Oq{\let\hskipX=\ruledhskipT++\let\vskipX=\ruledvskipEi ps: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU47ps: 0 0 0 setrgbcolors EiConcept:&d1996October8?5140M ⍍ō[8ύEips: 0 0 0 setrgbcolorU}T++\let\kern=\ruledkern ٗT++\let\mskipX=\ruledmskipT++\let\mkernX=\ruledmkernT++\let\hglueX=\ruledhglueT++\let\vglueX=\ruledvglue}ɍ2i78Ei\def\dontshowskips%Oq{\let\hskipX=\normalhskipT++\let\vskipX=\normalvskipT++\let\kern=\normalkernT++\let\mskipX=\normalmskipT++\let\mkernX=\normalmkernT++\let\hglueX=\normalhglueT++\let\vglueX=\normalvglue}2i79Ei\def\showpenalties%Oq{\let\penalty s,=\ruledpenalty}2i80Ei\def\dontshowpenalties%Oq{\let\penalty s,=\normalpenalty}ȍEiAlltheseniceoptionscometogetherint9womacros.;The rstoneturnstheoptionson,othesecond0!ލ+k\showingcompositionp[1\showcomposition~\dontshowcomposition9ips: 0 0 0 setrgbcolorvEiturnesTthemo .pBothmacrosonlydotheirjobwhenw9eareactuallyshowingthecompAosition.Sc!ps: 0.000 0.800 0.000 setrgbcolor\showingcompositiontrueps: 0 0 0 setrgbcolorSc!ps: 0.000 0.800 0.000 setrgbcolor\showcompositionps: 0 0 0 setrgbcolorȍEiBecause=theoutputroutinecandotric9kythings,likemultiplecolumntypAesettingandmanipulationEiofRthepagebAody:,ashiftingRthingsaroundandsoon,themacro\dontshowcompositionbAestcanbeEicalledawhenw9eenterthisroutine.T:oAomuchvisualcuesjustdon'tmakesense.InCONTȟE XTps: 0 0 0 setrgbcolorthisEihasTbAeentak9encareof.2i81Ei\newif\ifshowingcomposition2i82Ei\def\showcomposition%Oq{\ifshowingcomposition]W\showfils]W\showboxes]W\showskips]W\showpenaltiesT++\fi}2i83Ei\def\dontshowcomposition%Oq{\ifshowingcomposition]W\dontshowfils]W\dontshowboxes]W\dontshowskips]W\dontshowpenaltiesT++\fi}ȍEiJustTtomak9ethingsevenmoreeasy:,wehavede ned:0!ލ\showmakeupp[\defaulttestrulewidth9ips: 0 0 0 setrgbcolor̨Sc!ps: 0.000 0.800 0.000 setrgbcolor\showmakeupps: 0 0 0 setrgbcolorEiF:or>thesak9eofthosewhodon't(yet)useCONTȟE XTps: 0 0 0 setrgbcolorwepreset\defaulttestrulewidthtothealready ٗEisetTv|ralue.pOtherwisew9edefaulttoacorpsrelatedvalue.Sc!ps: 0.000 0.800 0.000 setrgbcolor\def\defaulttestrulewidthps: 0 0 0 setrgbcolor!ps: 0.900 0.000 0.000 setrgbcolor{ps: 0 0 0 setrgbcolor.2pt!ps: 0.900 0.000 0.000 setrgbcolor}ps: 0 0 0 setrgbcolorEi ps: 0 0 0 setrgbcolor8ύb48ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8thetableofcon9tentsLvoftheouterEilev9elTistypAesetas:&fEifff`ffEi#1#1ffEiff30ˉff30#1EiffEiff30ff30ߍEi1ps: 0 0 0 setrgbcolor36̎̎3436̎34̎EicU33 ٖ33Hԍ3232ǡ ٖ33 33EicU33 ٖ33Hߍ32323232323232323232323232ӡ ٖ33 33􎎎a*30f`̎a]Missingps: 0 0 0 setrgbcolor3030fhff303030fffd30ff30ff30˄ff 3(fe30̎30ffff230ff36̎̎32̎fd32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎ˤ36̎ˤ̎p36̎p̎x32̎32̎32̎32̎32̎36̎̎Vb3ps: 0 0 0 setrgbcolorVbcU33 ٖ33Hԍ3232ǡ ٖ33 33pcU33 ٖ33H ۍ323232323232323232 ϡ ٖ33 33pcU33 ٖ33H ۍ323232323232323232 ϡ ٖ33 33EicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33VU̎ӈJ̎EicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33VEicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33V ٖEi2ps: 0 0 0 setrgbcolor36̎̎3436̎34̎EicU33 ٖ33Hԍ3232ǡ ٖ33 33EicU33 ٖ33Hߍ32323232323232323232323232ӡ ٖ33 33􎎎a*30f`̎a]V:erbatimps: 0 0 0 setrgbcolor3030fhff303030fffd30ff30ff30˄ff 3(fe30̎30ffff230ff36̎̎ʅ32̎fd32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎36̎̎36̎⡄̎ꍍ32̎32̎32̎32̎32̎36̎̎Vb7ps: 0 0 0 setrgbcolorVbcU33 ٖ33Hԍ3232ǡ ٖ33 33cU33 ٖ33H ۍ323232323232323232 ϡ ٖ33 33cU33 ٖ33H ۍ323232323232323232 ϡ ٖ33 33EicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33VU̎ӈJ̎EicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33VEicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33V ٖEi3ps: 0 0 0 setrgbcolor36̎̎3436̎34̎EicU33 ٖ33Hԍ3232ǡ ٖ33 33EicU33 ٖ33Hߍ32323232323232323232323232ӡ ٖ33 33􎎎a*30f`̎a]Visualizationps: 0 0 0 setrgbcolor3030fhff303030fffd30ff30ff30˄ff 3(fe30̎30ffff230ff36̎̎32̎fd32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎32̎36̎̎_Y36̎_Y̎eƍ32̎32̎32̎36̎̎l25ps: 0 0 0 setrgbcolorlǟcU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?_YcU33 ٖ33H ۍ323232323232323232 ϡ ٖ33 33_YcU33 ٖ33H ۍ323232323232323232 ϡ ٖ33 33EicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33VU̎ӈJ̎EicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33VEicU33V ٖ33HQ323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232E ٖ33 33VȍEiDe nitionsTanden9umerationscomeinmany avors.pThenextoneforinstanceisde nedas:Sc!ps: 0.000 0.800 0.000 setrgbcolor\definedescriptionps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor[ps: 0 0 0 setrgbcolortest!ps: 0.000 0.000 0.900 setrgbcolor]ps: 0 0 0 setrgbcolor!ps: 0.000 0.000 0.900 setrgbcolor[ps: 0 0 0 setrgbcolorplace!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolorleft,hang!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor3,width!ps: 0.000 0.000 0.900 setrgbcolor=ps: 0 0 0 setrgbcolor6em!ps: 0.000 0.000 0.900 setrgbcolor]ps: 0 0 0 setrgbcolorEiWhenTappliedtosometext,thisw9ouldloAoklike:&fEifff`.Eivisual ٗEidebuggerps: 0 0 0 setrgbcolorEicU337 O-33323232323232323232323232323232323232323232323232323232⡄-33 O337莎}~QIw9ouldbAeverypleasedifTȞffffT83030ffl30ff30ffT8ȞffffT83030ffl30ff30ffT8ȟEȟq33`Vȉ33ȉ3333` ffff3030ff2P30ff30ff ffff3030ff2P30ff30ff Xhadtwomoreprimitives:+\vnopand\hnop.3dBoth ٗ}~QshouldOctober8>?5362M ⍍ō[8ύEips: 0 0 0 setrgbcolorU}B9fff`B9f`fd30f`̟36ȟʄf`̎30f`I1fffPʄf`ፍ9Ei\normalvfil30ffffs030ff ?26 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ? ٗEi\normalvfill30ffffs030ff ?26 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?Ei\normalvfillneg30ffffs030ff ?26 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?Ei\normalvfilneg30ffffs030ff ?26 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?Ei\normalvglue30ffffs030ff ?25 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?Ei\normalvskip30ffffs030ff ?25 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?Ei\normalvss30ffffs030ff ?26 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?Ei\normalvtop30ffffs030ff ?25 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ? Ei ٗffEiffff30 s1ff30Ei ٗffEiffff30 s1ff30=130̟fff`Ddџ30DdџΉff303230fffffdfe30ffff30&iEi ٗffC1ffff30 s1ff30&i=130̟fff`Ddџ30DdџΉff303230fffffdfe30ffff30Ei\penalty30ffffs030ff ?44 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei ٗffEiffff30 s1ff30Ei ٗffEiffff30 s1ff30=130̟fff`Ddџ30DdџΉff303230fffffdfe30ffff30&iEi ٗffC1ffff30 s1ff30&i=130̟fff`Ddџ30DdџΉff303230fffffdfe30ffff30Ei\rightrule30ffffs030ff ?27 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledbox30ffffs030ff ?29 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhbox30ffffs030ff ?28 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhfil30ffffs030ff ?32 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhfill30ffffs030ff ?32 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhfillneg30ffffs030ff ?32 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhfilneg30ffffs030ff ?32 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhglue30ffffs030ff ?42 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhskip30ffffs030ff ?35 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledhss30ffffs030ff ?32 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledkern30ffffs030ff ?39 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledmkern30ffffs030ff ?43 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledmskip30ffffs030ff ?43 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei\ruledvbox30ffffs030ff ?28 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?Ei柅ffkV`{ffffffkVif`̄ hf`̎鿟鿟̄P(P(̄9ٍF\ruledvfil30ffffs030ff ?34 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ? ٗ\ruledvfill30ffffs030ff ?34 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?\ruledvfillneg30ffffs030ff ?34 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?\ruledvfilneg30ffffs030ff ?34 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?\ruledvglue30ffffs030ff ?42 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?\ruledvskip30ffffs030ff ?37 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?\ruledvss30ffffs030ff ?34 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?\ruledvtop30ffffs030ff ?28 ?cU33 ? ٖ33Hl֍32323232lɡ ٖ33 33 ?  ٗffffff30 s1ff30 ٗffffff30 s1ff30 30̟fff`P(30P(Ήff303230fffffdfe30ffff30&i ٗffffff30 s1ff30&i 30̟fff`P(30P(Ήff303230fffffdfe30ffff30\setruledbox30ffffs030ff ?29 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\showboxes30ffffs030ff ?47 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\showcomposition30ffffs030ff ?48 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\showfils30ffffs030ff ?47 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\showingcomposition30ffffs030ff ?48 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\showmakeup30ffffs030ff ?48 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\showpenalties30ffffs030ff ?47 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\showskips30ffffs030ff ?47 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ? ٗffffff30 s1ff30 ٗffffff30 s1ff30 30̟fff`P(30P(Ήff303230fffffdfe30ffff30&i ٗffffff30 s1ff30&i 30̟fff`P(30P(Ήff303230fffffdfe30ffff30\testrulewidth30ffffs030ff ?32 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\toprule30ffffs030ff ?27 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ? ٗffffff30 s1ff30 ٗffffff30 s1ff30 30̟fff`P(30P(Ήff303230fffffdfe30ffff30&i ٗffffff30 s1ff30&i 30̟fff`P(30P(Ήff303230fffffdfe30ffff30\vfilneg30ffffs030ff ?26 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ?\visiblestretch30ffffs030ff ?32 ?cU33 ? ٖ33Hl֍32323232lɦ ٖ3333 ? 30̟fff`P(30P(Ήff303230fffffdfe30ffff30P430̟ff 3(P(30P(Ήff303230fffffdfe30ffff30柅ffkV`{ffffffkVEi柅ffV`{ffffffVEi柅ffV`{ffffffVDdў33ff30DdџΉff303230fffffdfe30ffff30ȍEiAlthough!notimpressiv9eexamplesortypAesetting,aboth!showushowandwherethingshappAen. ٗEiWhenqsomeho9wthelastlinesinthistwocolumnindexdon'tallign,thenthisisduetosomestillEiunkno9wnTinterference.Ei .ps: 0 0 0 setrgbcolor8ύb50ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober85.Ei\@@... ?4Ei\baselinefill ?26 ٗEi\baselinerule ?26Ei\baselinesmash ?26Ei\bottomrule ?27Ei\boxrulewidth ?27.Ei\controlspace ?8Ei\defaulttestrulewidth ?48 ٗEi\dontcomplain ?31Ei\dontinterfere ?31Ei\dontshowboxes ?47Ei\dontshowcomposition ?48Ei\dontshowfils ?47Ei\dontshowpenalties ?47Ei\dontshowskips ?47Ei\dowithnextbox ?5.Ei\EveryLine ?4 ,>12Ei\everyline ?4Ei\EveryPar ?4 ,>12Ei\hfilneg ?26Ei\if... ?3Ei\ifcenteredvcue ?31Ei\ifeightbitcharacters ?10Ei\iflinepar ?11Ei\ignorelines ?8Ei\ignorepages ?8Ei\ignoretabs ?8Ei\investigatecount ?30Ei\investigatemuskip ?30Ei\investigateskip ?30Ei\leftrule ?27Ei\makeruledbox ?26Ei\next... ?3Ei\normalhbox ?25Ei\normalhfil ?26Ei\normalhfill ?26Ei\normalhfillneg ?26Ei\normalhfilneg ?26Ei\normalhglue ?25Ei\normalhskip ?25Ei\normalhss ?26Ei\normalkern ?25Ei\normalmkern ?26Ei\normalmskip ?26}\normalpenalty ?25 ٗ\normalvbox ?25\normalvcue ?31\normalvfil ?26\normalvfill ?26\normalvfillneg ?26\normalvfilneg ?26\normalvglue ?25\normalvskip ?25\normalvss ?26\normalvtop ?25.\obeycharacters ?8\obeyedline ?8\obeyedpage ?8\obeyedspace ?8\obeyedtab ?8\obeyemptylines ?11\obeylines ?8\obeypages ?8\obeytabs ?8\penalty ?44\permitshiftedendofverbatim ?23\processdisplayverbatim ?9\processfileverbatim ?13\processinlineverbatim ?9\protect ?3\rightrule ?27\ruledbox ?29\ruledhbox ?28\ruledhfil ?32\ruledhfill ?32\ruledhfillneg ?32\ruledhfilneg ?32\ruledhglue ?42\ruledhskip ?35\ruledhss ?32\ruledkern ?39\ruledmkern ?43\ruledmskip ?43\ruledvbox ?28\ruledvfil ?34\ruledvfill ?34\ruledvfillneg ?34\ruledvfilneg ?34\ruledvglue ?42\ruledvskip ?37\ruledvss ?34\ruledvtop ?28\scratch... ?3\setcontrolspaces ?8\setruledbox ?29Eips: 0 0 0 setrgbcolor8ύ1supp-visps: 0 0 0 setrgbcolorEiCONTE8E#~XTps: 0 0 0 setrgbcolorWVisualizationps: 0 0 0 setrgbcolorU51ps: 0 0 0 setrgbcolors EiConcept:1996>October8>?55840lM ⍍ō[8ύEips: 0 0 0 setrgbcolorUፍEi\settabskips ?8 ٗEi\showboxes ?47Ei\showcomposition ?48Ei\showfils ?47Ei\showingcomposition ?48Ei\showmakeup ?48Ei\showpenalties ?47Ei\showskips ?47Ei\smashbox ?5Ei\splittexcontrols ?16Ei\splittexparameters ?16&iY\testrulewidth ?32 ٗ\toprule ?27.\unprotect ?3\verbatimfont ?7\vfilneg ?26\visiblestretch ?32\writestatus ?3Eips: 0 0 0 setrgbcolor8ύb52ps: 0 0 0 setrgbcolor1supp-visps: 0 0 0 setrgbcolorEiVisualizationps: 0 0 0 setrgbcolorjvCONTE8E#~XTps: 0 0 0 setrgbcolors EiConcept:L1996&dOctober8Aacmr6=ow cmss96ߤN cmtt95