; TeX output 2001.10.31:1005so"UsGGecrm1728LehpacykageBCGGecss1728hhline!", cmsy10p ecrm1200DawvidlCarlislev6carlisle@cs.man.ac.uk6Teraduitldel'anglaispar: UPJean-PierrelDrucbSert&2!1994/05/23-" u ecbx0900Abstract"o$. ecrm0900Ce܋pacabGoxcontainingadoublehlinesegment.Themostcommoncase,QbGothIrulesoflength\doublerulesepwillbGestoredin\box1,thisisnotinitialisedIuntilz\hhlineiscalledastheusermaychangetheparameters\doublerulesepIand\arrayrulewidth.<Thetwoargumentsto\HH@boxarethewidths(ielengths)IofU thetopandbGottomrules. L2S\def\HH@box#1#2{\vbox{% L3]J\hruleN\@height\arrayrulewidth\@width#1L4]J\vskipN\doublerulesepL5]J\hruleN\@height\arrayrulewidth\@width#2}}5\HH@addIBuildU upthepreambleintheregister\toks@.L6S\def\HH@add#1{\toks@\expandafter{\the\toks@#1}} PX\HH@xexpast PX\HH@xexnoopIW*e>`bGorrow'theversionof\@xexpastfromMittelbach'sarray*.sty,Fas>thisallows I#U toappGearintheargumentlist.L7S\def\HH@xexpast#1*#2#3#4\@@{% L8a֘\@tempcntaN#2L9a֘\toks@={#1}\@temptokena={#3}%I10a֘\let\the@toksz\relaxN\let\the@toks\relaxI11a֘\def\@tempa{\the@toksz}%I12a֘\ifnum\@tempcntaN>0\@whilenum\@tempcnta>0\doI13kI4{\edef\@tempa{\@tempa\the@toks}\advanceN\@tempcnta\m@ne}%I14t\letN\@tempb\HH@xexpast\else(2 ̠soI15t\letN\@tempb\HH@xexnoop\fi I16a֘\def\the@toksz{\the\toks@}\def\the@toks{\the\@temptokena}%I17a֘\edef\@tempa{\@tempa}%I18a֘\expandafterN\@tempb\@tempa#4\@@}I19I20S\def\HH@xexnoop#1\@@{}5\hhlineIUseasimpliedversionof\@mkpreamtobreakaparttheargumentto\hhline. IActually_itisoversimplied,/ItassumesthattheverticalrulesareattheendofItheRcolumn.HIfyouweretospGecifyc|@{xx}|inthearrayargument,then\hhlineIwouldnotbGeabletoaccesstherstverticalrule.(Itoughttohavean@option,Iandvadd\leadersuptothewidthofabGoxcontainingthe@-expression.գW*euseIa'loGopmadewith\futureletratherthan\@tforsothatwecanuse#todenoteItheU crossingofadoublehlinewithadoublevline.I\if@firstampU istrueintherstcolumnandfalseotherwise.I\if@tempswaU istrueifthepreviousentrywasavline(:,|or#).I21S\def\hhline#1{\omit\@firstamptrue\@tempswafalseIPutU tworulesofwidth\doublerulesepin\box1I22S\global\setbox\@ne\HH@box\doublerulesep\doublerulesepIIfGMittelbach'sarray.styisloaded,rwedonotneedthenegative\hskip'saround IverticalU rules.I23]J\xdef\@tempc{\ifx\extrarowheight\HH@undef\hskip-.5\arrayrulewidth\fi}%INowcexpandthe*-formsandadddummytokens(\relaxand`)toeitherend IofU thetokenlist.qCall\HH@lettostartproGcessingthetokenlist.I24f\HH@xexpast\relax#1*0x\@@\toks@{}\expandafter\HH@let\@tempa`}5\HH@letIDiscardU thelasttoken,loGokatthenextone.I25S\def\HH@let#1{\futurelet\@tempb\HH@loop}|B\HH@loopIThe}mainloGop.QNoteweuse\ifxratherthan\ifinversion2asthenewtoken I~U isactive.I26S\def\HH@loop{%IIfU nexttokenis`,stoptheloGopandputthelinesintothisrowofthealignment.I27]J\ifx\@tempb`\def\next##1{\the\toks@\cr}\else\let\next\HH@letI|,U addaverticalrule(acrosseitheradoubleorsinglehline).I28]J\ifx\@tempb|\if@tempswa\HH@add{\hskip\doublerulesep}\fi\@tempswatrue I29\HH@add{\@tempc\vline\@tempc}\elseI:,U addabrokenverticalrule(acrossadoublehline).I30]J\ifx\@tempb:\if@tempswa\HH@add{\hskip\doublerulesep}\fi\@tempswatrue I31p\HH@add{\@tempc\HH@box\arrayrulewidth\arrayrulewidth\@tempc}\elseI#,U addadoublehlinesegmentbGetweentwovlines.I32]J\ifx\@tempb##\if@tempswa\HH@add{\hskip\doublerulesep}\fi\@tempswatrue I33~.l\HH@add{\@tempc\vline\@tempc\copy\@ne\@tempc\vline\@tempc}\elseI~,U Acolumnwithnohline(thisgivesaneectsimilarto\cline).I34]J\ifx\@tempb~\@tempswafalse I35\if@firstamp\@firstampfalse\else\HH@add{&\omit}\fiI36\HH@add{\hfil}\else(3(soI-,U addasinglehlineacrossthecolumn.I37]J\ifx\@tempb-\@tempswafalse I38\if@firstamp\@firstampfalse\else\HH@add{&\omit}\fiI39\HH@add{\leaders\hrule\@height\arrayrulewidth\hfil}\elseI=,U addadoublehlineacrossthecolumn.I40]J\ifx\@tempb=\@tempswafalseI41t\if@firstamp\@firstampfalse\else\HH@add{&\omit}\fiIPutinasmanycopiesof\box1aspGossiblewith\leaders,thismayleavegapsat ItheU ends,soputanextrabGoxateachend,overlappingthe\leaders.I42t\HH@addI43{\rlap{\copy\@ne}\leaders\copy\@ne\hfil\llap{\copy\@ne}}\elseIt,Eaddpthetophalfofadoublehlinesegment,ina\rlapsothatitmaybGeused IwithU b.I44]J\ifx\@tempbNt\HH@add{\rlap{\HH@box\doublerulesep\z@}}\elseIb,*add6thebGottomhalfofadoublehlinesegmentina\rlapsothatitmaybGe IusedU witht.I45]J\ifx\@tempbNb\HH@add{\rlap{\HH@box\z@\doublerulesep}}\elseIOtherwiseU ignorethetoken,withawarning.I46]J\PackageWarning{hhline}% I47p{\meaning\@tempb\spaceNignoredin\noexpand\hhlineargument%I48t\MessageBreak}%I49]J\fi\fi\fi\fi\fi\fi\fi\fi\fiIGoU aroundtheloGopagain.I50]J\next}I51Sh'5" cmmi9=pack9age#g i(45; )ow cmss9( cmsy9'5" cmmi9%T2ecrm0700$qL ectt1000#&Lt$ffffecbx1440!qL ectt0900 u ecbx0900. ecrm0900"ecrm0800q% cmsy6 ecrm1200!", cmsy10BCGGecss1728UsGGecrm1728 1 ecrm1000<4