÷ƒ’À;è TeX output 1998.01.17:2003‹ÿÿÿÿ y ý£ ? þ’¶P¸óDÓítG®G®cmr17¹The–7tóÖÆG®G®cmss17ºafterpage“¹pacŒqk‘ÿäageŸùº¯ó!",š cmsy10¿ŽŽŽŸ’Þþ­óX«Q cmr12»Da¬rvid‘ê¨CarlisleŽŽŸ’ÌpScarlisle@cs.man.ac.ukŽŽŽŽŽŸ&37’æ 1995/10/27ŽŸ$E=‘aóKñ`y cmr10²This–ÙMpacš¸ãk‘ÿqÇage“implemen˜ts“a“command,–òóßêŸ'EŽ‘ãxX's“ oat“pGositioning“mecš¸ãhanism“gets“o˜v˜erloaded,‘«gand“allŽ¡‘k oating–GÆfigure²s“and“Ætable²s“drift“to“the“end“of“the“doGcumenš¸ãt.‘GOne“ma˜yŽ¡‘k ush–YÁout“all“the“unproGcessed“ oats“b¸ãy“issuing“a“Æ\clearpage“²command,‘ZÜbutŽ¡‘kthis–Fhas“the“e ect“of“making“the“currenš¸ãt“page“end“prematurely‘ÿ*ª.‘¨šNo˜w“y˜ouŽ¡‘kcan–îóissue“Æ\afterpage{\clearpage}“²and“the“curren¸ãt“page“will“bGe“ lled“upŽ¡‘kwith–È/text“as“usual,‘äåbut“then“a“Æ\clearpage“²command“will“ ush“out“all“theŽ¡‘k oats–UUbšGefore“the“next“text“page“b˜egins.Ž©µL‘^8ä2.ŽŽŽ‘kAn–:Ðearlier“mecš¸ãhanism“to“help“with“ oat“placemen˜t“w˜as“the“optional“argumen˜tŽ¡‘kÆ[H]‘%H²(meaning–%Uóò"V cmbx10ÈHERE!²)“whicš¸ãh“w˜as“originally“added“to“the“standard“ oatingŽ¡‘ken•¸ãvironmen“ts›2“b“y˜Æhere.sty²,‘iãand˜is˜no“w˜pro“vided˜b“y˜Æfloat.sty².‘ ‚Ho“w“ev“erŽ¡‘ksome–ósÆ[H]‘óZ²users“ha•¸ãv“e›óscommen“ted˜that˜they˜did˜not˜really˜mean˜`Here!'‘Q'TheyŽ¡‘kactually›UUw•¸ãan“ted˜`Somewhere˜close'.‘qÇThis˜can˜no“w˜bGe˜ac“hiev“ed˜b“yŽ¡‘kÆ\afterpage{\clearpage\begin{figure}[H]‘?ý².–ªª.“.“Æ\end{figure}}Ž¡‘k²This–ʪensures“that“the“ gure“is“at“the“top“of“the“next“page.‘CŽ(The“Æ\clearpageŽ¡‘k²stops–UUan¸ãy“other“ gures“drifting“past“the“Æ[H]“² gure.)ަ‘^8ä3.ŽŽŽ‘kFloating–¸longtables.‘™ÔÆlongtable.sty“²proš¸ãvides“the“Ælongtable“²en˜vironmen˜t,Ž¡‘ka–d§mš¸ãulti-page“v˜ersion“of“Ætabular².‘Ÿ¾Man˜y“Ælongtable“²users“ha˜v˜e“told“me“thatŽ¡‘kit–¡ÿis“dicult“to“set“the“text“surrounding“the“long“table,‘ÅÝand“that“they“w•¸ãan“tedŽ¡‘ka–ÏÊ` oating'“v¸ãersion.‘EDAs,–ê€presumably‘ÿ*ª,“Ælongtable²s–ÏÊare“long,‘ê€they“are“probablyŽ¡‘ktoGo–iQlarge“to“hold“in“memory‘ÿ*ª,‘˜†and“ oat“in“the“w•¸ãa“y–iQthat“the“Ætable“²en•¸ãvironmen“tŽ¡‘kis›X oated,‘$ho•¸ãw“ev“er˜if˜the˜table˜is˜in˜a˜separate˜ le,‘$sa“y˜Æltfile.tex²,‘$y“ou˜canŽ¡‘kno¸ãw–UUuse“one“of:Ž¡‘kÆ\afterpage{\clearpage\input{ltfile}}Ž¡‘k\afterpage{\clearpage\input{ltfile}\clearpage}².Ž¡‘kThe–F  rst“form“lets“text“apGear“on“the“same“page“as“the“end“of“the“longtable,Ž¡‘kthe–UUsecond“ensures“that“the“surrounding“text“starts“again“on“a“new“page.Ž‘RŸ x‰ffÿrŸ @‘ ÷ˆŸý-:óq¡% cmsy6ÅŽŽ‘LÜó|{Ycmr8ÀThis–ÕX le“has“všÃŽersion“n˜um˜b‘ "5Ÿý-:ó¹Aa¨cmr6Á1ŽŽŽ‘LÜÀThis–±Wis“really“a“pre-release,‘¸Što“see“whether“p*I‘¨šthough“t–©3it“mighš¸ãt“bGe“fun“to“try“to“exactly“ac˜hiev˜e“theŽ¡‘RÆ\baselineskip²{or{Æ\lineskip–D†²calculation“that“T‘þU>Ÿ'EŽ‘ãxX“normally“doGes“in¸ãternally‘ÿ*ª.‘ØTheŽ¡‘Rcall–UUto“Æ\addboxcontents“²došGes“the“righ¸ãt“thing“(I“hop˜e).ަ‘R±40Ž‘j×pÉ\addboxcontents\AP@partialŽŽŸ’²3ŽŽŒ‹Y y ý£ ? ýä‘R²Noš¸ãw–¯re-insert“an˜y“foGotnote“text.‘ÁÕThis“ma˜y“not“bGe“quite“the“righ˜t“place,‘Las“theޤ ‘Rtext–ÉCthat“has“just“bšGeen“un•¸ãb˜o“xed›ÉCma“y˜break˜o“v“er˜a˜page˜in˜its˜new˜pGosition.‘CAlso˜itŽ¡‘Rmaš¸ãy–¦Õnot“bGe“the“righ˜t“n˜um˜bGer“if“the“text“from“Æ\afterpage“²itself“con˜tains“foGotnotes.Ž¡‘RT‘ÿ*ªoGo‘UUbad!ޤ qÇ‘R±41Ž‘fÚÉ\ifvoid\AP@footins\elseŽŸ ‘R±42Ž’‡0ôÉ\insert\footins{\unvbox\AP@footins}\fiŽ©qÇ‘R²Noš¸ãw–UUrepair“things“if“w˜e“started“o “in“horizon˜tal“moGde.Ž¡‘R±43Ž‘fÚÉ\AP@noindent}ަ‘a²If–9Æ\AP@“²is“not“Æ\relax“²then“the“curren¸ãt“page“already“has“some“`afterpage'“com-ޤ ‘Rmands,‘qªso–kÿjust“add“the“new“commands“to“the“end“of“the“list.‘µÅOtherwise“sa•¸ãv“e‘kÿtheŽ¡‘Rcommands–‘·in“Æ\AP@².›&í(within“a“loGcal“group),‘ Ïand“switc¸ãh“the“output“routine.˜(TheŽ¡‘Rnew–UUoutput“routine“just“calls“the“old“one“if“it“is“in•¸ãv“ok“ed›UUb“y˜a˜LŸýó5‘üff±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX˜ oat.ŽŸ qÇ‘R±44Ž‘\ª®É\long\def\afterpage#1{%ޤ ‘R±45Ž‘fÚÉ\ifx\AP@\relaxŽ¡‘R±46Ž‘o‘É\gdef\AP@{{#1\par}}%Ž¡‘R±47Ž‘o‘É\global\output{%Ž¡‘R±48Ž‘y2É\the\AP@outputŽ¡‘R±49Ž‘y2É\ifnum\outputpenalty>-\@MiŽ¡‘R±50Ž’‚w^É\global\output\expandafter{\the\AP@output}%Ž¡‘R±51Ž’‚w^É\aftergroup\AP@@Ž¡‘R±52Ž‘y2É\fi}%Ž¡‘R±53Ž‘fÚÉ\elseŽ¡‘R±54Ž‘o‘É\expandafter\gdef\expandafter\AP@\expandafter{\AP@{#1\par}}%Ž¡‘R±55Ž‘fÚÉ\fi}ަ‘a²If–Œowš¸ãe“ha˜v˜e“got“to“the“end“of“the“doGcumen˜t“or“clearpage“just“put“the“stu “outŽŸ ‘Rwithout–UUanš¸ãy“tric˜k˜ery‘ÿ*ª.ŽŸ qÇ‘R±56Ž‘\ª®É\let\AP@clearpage\clearpageŽ¡‘R±57Ž‘\ª®É\def\clearpage{%Ž¡‘R±58Ž‘fÚÉ\ifx\AP@\relaxŽ¡‘R±59Ž‘o‘É\AP@clearpageŽ¡‘R±60Ž‘fÚÉ\elseŽ¡‘R±61Ž‘o‘É\global\output\expandafter{\the\AP@output}%Ž¡‘R±62Ž‘o‘É\AP@clearpageަ‘R²Aš¸ãt–w$this“pGoin˜t“(since“v1.08)“Need“to“clear“Æ\AP@“ó'ý': cmti10Òb–ÿ}'efor“e‘7²using–w$its“expansion,‘—as“oth-ŽŸ ‘Rerwise–UUhit“an“in nite“loGop.‘qÇSigh.ŽŸ qÇ‘R±63Ž‘o‘É\global\expandafter\let\expandafter\AP@\expandafter\relaxŽ¡‘R±64Ž‘o‘É\expandafter\expandafter\AP@Ž¡‘R±65Ž‘fÚÉ\fi}Ž¡‘R±66Ž‘\ª®É\let\AP@enddocument\enddocumentŽ¡‘R±67Ž‘\ª®É\def\enddocument{%Ž¡‘R±68Ž‘fÚÉ\ifx\AP@\relax\elseŽ¡‘R±69Ž‘o‘É\global\output\expandafter{\the\AP@output}%Ž¡‘R±70Ž‘o‘É\AP@clearpageŽ¡‘R±71Ž‘o‘É\global\expandafter\let\expandafter\AP@\expandafter\relaxŽ¡‘R±72Ž‘o‘É\expandafter\expandafter\AP@Ž¡‘R±73Ž‘fÚÉ\fiŽ¡‘R±74Ž‘o‘É\AP@enddocument}ŽŽŸ’²4ŽŽŒ‹%H y ý£ ? ýä‘f É\addboxcontentsŽŽŽ‘R²Givš¸ãen–°a“vbGo˜x“Æ#1²,‘kadd“to“the“curren˜t“v˜ertical“list“suc˜h“that“the“end“result“is“equiv-ޤ ‘Ralenš¸ãt–èâto“the“list“that“T‘þU>Ÿ'EŽ‘ãxX“w˜ould“ha˜v˜e“built“had“the“con˜ten˜ts“of“Æ#1“²(apart“from“an˜yŽ¡‘Rinitial–UUglue)“bGeen“added“individually“to“the“curren¸ãt“list.Ž¡‘aSo–µRessenš¸ãtially‘ÿ*ª,‘ÕSthe“problem“is“that“of“un˜bGo˜xing“Æ#1²,‘ÕSbut“replacing“the“glue“at“theŽ¡‘Rtop–½nof“Æ#1“²with“(something“equiv‘ÿqÇalen¸ãt“to)“the“Æ\baselineskip“²or“Æ\lineskip“²glueŽ¡‘Rthat–äèT‘þU>Ÿ'EŽ‘ãxX“wš¸ãould“normally“ha˜v˜e“placed“bšGefore“the“ rst“b˜o¸ãx“in“Æ#1².‘LNAlso“Æ\prevdepthŽ¡‘R²m¸ãust–UUbGe“set“at“the“end.Ž© }‘R±75Ž‘\ª®É\def\addboxcontents#1{{%ŽŸ}‘R²P•¸ãerhaps›FæI‘Fâshouldn“t˜use˜grouping˜here,‘IÉas˜I‘Fâprobably˜don't˜really˜w“an“t˜to˜sa“v“e˜Æ#1².Ž¡‘RIf–n£it“is“remo•¸ãv“ed,‘t÷Æ\splittopskip–n£²and“Æ\splitmaxdepth“²w¸ãould“need“to“bGe“restoredŽ¡‘Rb¸ãy‘UUhand.Ž¡‘aFirst–UUreplace“anš¸ãy“glue“at“the“top“b˜y“Æ\vskip‘?ý0pt².ަ‘R±76Ž‘fÚÉ\splittopskip\z@ޤ ‘R±77Ž‘fÚÉ\splitmaxdepth\maxdimenŽ¡‘R±78Ž‘fÚÉ\setbox#1\vbox{\break\unvbox#1}%Ž¡‘R±79Ž‘fÚÉ\setbox\z@\vsplit#1to\z@ޤ}‘R²Put–UUthe“breakpGoinš¸ãt“bac˜k.ަ‘R±80Ž‘fÚÉ\setbox#1\vbox{\break\unvbox#1}%Ž¡‘R²Set–UUÆ\skip@“²to“bGe“heigh¸ãt“of“Æ#1“²(without“top“glue)ަ‘R±81Ž‘fÚÉ\skip@\ht#1%Ž¡‘R²No•¸ãw›’Ùmak“e˜the˜ rst˜baseline˜of˜the˜ rst˜ro“w˜bGe˜Æ\vsize˜²from˜the˜top.‘0ó(This˜assumesŽŸ ‘Rthat–UUthe“ rst“roš¸ãw“has“heigh˜t“less“than“Æ\vsize².)ަ‘R±82Ž‘fÚÉ\splittopskip\vsizeŽŸ ‘R±83Ž‘fÚÉ\setbox\z@\vsplit#1to\z@Ž¡‘R²Subtract–T/the“new“heighš¸ãt“of“Æ#1“²from“Æ\skip@²,‘“åand“add“bac˜k“on“Æ\splittopskip²,ޤ ‘Rso–;Æ\skip@“²is“noš¸ãw“the“heigh˜t“of“the“ rst“ro˜w“of“Æ#1“²This“ma˜y“still“bGe“0pt“if“(eg)Ž¡‘Ra–•Smark“or“whatsit“is“bšGet•¸ãw“een–•Sthe“top“glue“and“the“ rst“b˜o•¸ãx.‘1ÁSa“v“e–•S(this“heigh¸ãt‘c‰ó !",š cmsy10¸Ž¡‘RÆ\splittopskip²)–UUin“Æ\skip\tw@².ަ‘R±84Ž‘fÚÉ\advance\skip@-\ht#1%ޤ ‘R±85Ž‘fÚÉ\skip\tw@\skip@Ž¡‘R±86Ž‘fÚÉ\advance\skip@\splittopskipŽŸ}‘R²No•¸ãw›UUfak“e˜T‘þU>Ÿ'EŽ‘ãxX's˜Æ\baselineskip˜²calculation.ަ‘R±87Ž‘fÚÉ\advance\skip@\prevdepthŽ¡‘R±88Ž‘fÚÉ\advance\skip@-\baselineskipŽ¡‘R±89Ž‘fÚÉ\advance\skip\tw@\ifdim-\skip@<\lineskiplimit\lineskip\else-\skip@\fiޤ}‘R²Finally–UUadd“the“glue.ަ‘R±90Ž‘fÚÉ\vskip\skip\tw@Ž¡‘R²No•¸ãw›L&un“bGo“x˜the˜bGo“x,‘Müsetting˜Æ\prevdepth˜²b“y˜hand,‘Müas˜Æ\unvbox˜²(unlik“e˜Æ\box²)˜doGesŽŸ ‘Rnot–UUautomatically“set“it.ަ‘R±91Ž‘fÚÉ\global\dimen@i\dp#1%ޤ ‘R±92Ž‘fÚÉ\unvbox#1}%Ž¡‘R±93Ž‘fÚÉ\prevdepth\dimen@i}ŽŸwF‘R±94Ž‘\ª®Ìhó 5ùž" cmmi9Ë=Ípack¾9ageŽ‘#g ÌiŽŽŸ’²5ŽŽŒø/–ƒ’À;èyµó'ý': cmti10ó"ÒoÇw cmss9ó!©±Ê cmsy9ó 5ùž" cmmi9óߤN cmtt9óò"V cmbx10ó#Ñfcmti8óßê