÷ƒ’À;è TeX output 1996.04.29:0906‹ÿÿÿÿ ¢•^ ý„j¢ ]•^ ýòQ ‘:¼1ó>DÓítG®G®cmr17éLŸüdú‘úKGó0X«Q cmr12ÛAŽŽ‘¹”éT‘ý[™Ÿ¸-EŽ‘;gX-PŒqaragraphs–7tFloating“around“FiguresŽŸlÏ’¦i“ó3›»ˆ@ cmti12ÞThomas‘35KneserŽŽŸ‘7 óo´‹Ç cmr9ÅGesellscš¾9haft–TfAÇ‘û;ur“wissensc˜haftlic˜he“Daten˜v˜erarbAÇeitung“m˜bH“G‘û`ottingen,“FR˜GŽŽŽŽŽŸ&Yž’¥Z­ÛAugust–ê¨20,“1990ŽŸ(lÏ’¸ÿ“ó#ò"V cmbx10ÎAbstractŽŸ@‘`óKñ`y cmr10²F‘ÿ*ªrequenš¸ãtly–^ž gures“do“not“ ll“the“full“pagewidth.‘£If“the“width“of“suc˜h“ gures“isŽ¤ ‘`only–£ half“of“the“pagewidth“or“ev¸ãen“less,‘·3textlines“should“bšGe“set“b˜eside“the“ gures,Ž¡‘`or–X×{“from“another“pGoin¸ãt“of“view“{“ gures“should“` oat'“in“paragraphs.‘|MThis“articleŽ¡‘`presenš¸ãts–¦Ûthe“LŸýó5‘üffóÙ“ Rcmr7±AŽŽ‘͉²T‘þU>Ÿ'EŽ‘ãxX“st˜yle“option“ó$ßêŸ'EŽ‘ãxX's“standard“ gures.Ž©"€Aó<ÂÖN ff cmbx12ç1Ž‘LËThe–ffname“of“the“gameŽŸq‹ó'Kñ`y ó3 cmr10ÒThe–ëzmacros“whicš²!h“mak˜e“up“the“ó-ßêþØ\documentstyle[floatfig]{article}Ž¤ ™š‘>þ\begin{document}Ž¡‘>þ\initfloatingfigsŽ¡‘?þ\begin{floatingfigure}{5.6cm}Ž¡‘>þ\vspace{6.cm}Ž¡‘>þ\caption{Intermolecular–¿ªpotential“K-Xe}%“optional“!Ž¡‘>þ\end{floatingfigure}Ž¡‘?þ\end{document}Ž¡ŸbéÒwhere–{Ø5.6cm“ÒspšMÞeci es“the“width“of“the“ gure“space.‘[ÁA‘zÑFloating“Figure“ma²!y“only“b˜eŽ¡requested–¦fin“v²!ertical“mošMÞde,“that“is“b˜et•²!w“een‘¦fparagraphs.Ž¡‘A‘õ¹Floating–õæFigure“will“bšMÞe“set“as“so˜on“as“p˜ossible“after“its“request“has“b˜e“encoun²!teredŽ¡bš²!y–á¨T‘þ,³Ÿ[wEŽ‘B X.‘¤That“means,‘ðyit“will“bMÞe“tested“if“there“is“enough“v˜ertical“space“on“the“curren˜tŽ¡page;–¦fotherwise“the“ gure“mo•²!v“es–¦fto“the“next“page.Ž¡‘Floating–+Figures“are“set“×alternatingÒ,‘ˆthat“is“on“the“righ²!t“hand“side“on“oMÞdd“and“onŽ¡the–¦fleft“hand“side“on“evš²!en“n˜um˜bMÞered“pages.Ž©ç§ó5ÂÖN  cmbx12à2.1Ž‘ÀRestrictionsŽŸ«ÿ‘ b%Ò1.ŽŽŽ‘`The–ÅÝØFLOATFIG‘ŤÒstš²!yle“option“ma˜y“not“bMÞe“com˜bined“with“the“ØTWOCOLUMN‘ŤÒst˜yle“option,Ž¤¶ì‘ b%2.ŽŽŽ‘`a–&¢Floating“Figure“will“nevš²!er“appMÞear“in“a“paragraph“whic˜h“bMÞegins“on“top“of“a“page.ŽŸ"cç3Ž‘LËAbs3out–ffthe“inŒÌternalsŽŸq‹ÒW‘ÿee›¦fha•²!v“e˜extended˜the˜macros˜designed˜b“y˜Th.˜Reid˜with˜regard˜to:ŽŸbè‘ b%1.ŽŽŽ‘`implan•²!tation›¦fin“to˜the˜LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X˜con“text,Ž¡‘ b%2.ŽŽŽ‘`alternating–¦fsetting“of“Floating“Figures“as“explained“abMÞo•²!v“e,Ž¡‘ b%3.ŽŽŽ‘`generation–¦fof“wš²!arning“messages“for“`collisions'“of“t˜w˜o“Floating“Figures.Ž¦à3.1Ž‘ÀImplan• tation›€in“to˜the˜LŸýAl‘û#×óO2Ç@Écmbx8ëOAŽŽ~/àT‘ý¿áŸªªEŽ‘ìSX˜con“textŽŸ«ÿÒThe–I‹PLAIN-T‘þ,³Ÿ[wEŽ‘B X“implemenš²!tation“b˜y“Th.“Reid“is“based“on“a“rede ned“Ø\output“Òroutine:ŽŸbé‘>þØ\edef\oldoutput{\the\output}%Ž¤ ™š‘>þ\output={\the\outputpretest\ifoutput\oldoutput\fi}Ž¡‘>þ\outputpretest={\outputtrue}Ž¡ŽŸ’ÌBëÒ2ŽŽŒ‹ q ¢•^ ý„j¢ ]•^ ýÆj¢ÒIf–âàa“Floating“Figure“is“requested,‘ñþthe“con•²!ten“t–âàof“the“Ø\outputpretest“Òtok²!en“register“isŽŸ ™šprepared–¦fto“decide:Ž©i‘ b%1.ŽŽŽ‘`if–¦fthere“is“enough“v²!ertical“space“to“set“the“Floating“Figure,Ž¤†2‘ b%2.ŽŽŽ‘`if–¦fsetting“of“a“Floating“Figure“is“in“progress“orŽ¡‘ b%3.ŽŽŽ‘`if–¦findeed“the“currenš²!t“page“has“to“bMÞe“sen˜t“to“the“D˜VI“ le.Ž¦In–“fgeneral,‘—3T‘þ,³Ÿ[wEŽ‘B X“has“to“deal“with“more“than“one“paragraph“un²!til“a“Floating“Figure“willŽ¤ ™šbšMÞe–5¥completely“pro˜cessed.‘¸GDuring“this“pro˜cess“the“rede ned“Ø\output“Òroutine“is“called“atŽ¡the–ý”bMÞegin“of“×ev¦tery“Òparagraph;‘5Ûthis“is“done“indirectly“bš²!y“expanding“the“con˜trol“sequenceŽ¡Ø\tryfigÒ.‘”²Therefore,‘]?the–8­Ø\everypar“Òtokš²!en“list“is“prepared“b˜y“the“follo˜wing“commandŽ¡sequence:Ž¦‘>þØ\edef\oldeverypar{\the\everypar}Ž¡‘>þ\everypar={\tryfig\oldeverypar}Ž¡¦ÒNoš²!w–A`Ø\tryfig“Òtriggers“the“(moMÞdi ed)“Ø\output“Òroutine,‘hwhic˜h“then“doMÞes“the“decisionsŽ¡and–¦factions“menš²!tioned“abMÞo˜v˜e.Ž¡‘Adopting–^this“concept“when“using“the“macros“in“the“LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X“con•²!text,‘Œ„w“e–^are“facedŽ¡with–¦fthe“follo²!wing“problems:Ž¦‘ b%1.ŽŽŽ‘`A²!t–óthe“time“ØFLOATFIG.STYŽ‘MÞÒis“read“in,‘,Öthe“Ø\output“Òroutine“is“still“unde ned;‘G¹itsŽ¡‘`de nition–Çis“retarded“un²!til“Ø\begin{document}“Òwill“bMÞe“expanded;‘X so“the“rede -Ž¡‘`nition–þCof“the“Ø\output“Òroutine“has“to“bMÞe“done“after“Ø\begin{document}“Òb²!y“theŽ¡‘`command–¦fØ\initfloatingfigs“Ò(see“section“`Knoš²!wn“Problems'“bMÞelo˜w).ŽŸ†2‘ b%2.ŽŽŽ‘`There–Í·are“situations“where“LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X“decides“to“rede ne“the“Ø\everypar“Òtok²!en“listŽ¡‘`without–­´saš²!ving“of“the“former“con˜ten˜t;‘1[this“oMÞccurs“for“instance“when“expandingŽ¡‘`a–ôÜØ\section“Òconš²!trol“sequence.‘É>W‘ÿee“o˜v˜ercome“this“b˜y“rede ning“Ø\everypar“Òwhen-Ž¡‘`evš²!er–Cûthe“Ø\floatingfigure“Òen˜vironmen˜t“is“en˜tered.‘¶œHence“to“a˜v˜oid“problems,‘k`aŽ¡‘`Floating–YdFigure“should“bšMÞe“requested“early“enough“b˜efore“anš²!y“sectioning“con˜trolŽ¡‘`sequence–¦f(see“also“subsection“`Misleading“collision“w²!arnings').Ž¡‘`F‘ÿeurthermore,‘ó¶the–Ç concurrenš²!t“de nitions“of“Ø\everypar“Òare“the“reason“wh˜y“FloatingŽ¡‘`Figures–¦fcannot“mo•²!v“e–¦facross“section“bMÞoundaries.ŽŸI^à3.2Ž‘ÀAlternating–€ gure“settingŽŸ«ÿÒThe–uÌproblem“to“bšMÞe“solv²!ed“is“to“decide“if“a“certain“ gure“has“to“b˜e“set“left-“or“righ²!tjusti ed.Ž¡This–…Qdecision“has“to“made“according“to“the“v‘ÿdDalue“of“the“pagecounš²!t“(left“if“ev˜en,‘‹ïrigh˜t“ifŽ¡oMÞdd).‘Æ{That–`@is“wš²!e“are“dealing“with“the“w˜ellkno˜wn“problem“to“assoMÞciate“a“certain“part“ofŽ¡input–¦ftext“with“the“n•²!um“bšMÞer–¦fof“the“page“on“whic²!h“it“will“b˜e“set“ nally‘ÿe.Ž¡‘As–HdpMÞoinš²!ted“out“b˜y“D.E.“Kn˜uth“in“`The“T‘þ,³Ÿ[wEŽ‘B Xb•MÞo“ok'–Hdthis“assošMÞciation“is“done“not“b˜eforeŽ¡Ø\output–©èÒroutine“time.‘èbBut“the“problem“is“not“so“hard“to“solv²!e,‘êÇsince“in“Th.“Reid'sŽŽŸ’ÌBë3ŽŽŒ‹w ¢•^ ý„j¢ ]•^ ýÆj¢Òvš²!ersion–“‡there“is“already“a“moMÞdi ed“Ø\output“Òroutine“whic˜h“decides“if“a“certain“ gureŽ¤ ™šwill–= t“on“the“currenš²!t“page.‘ ¡éAs“a“b˜y-proMÞduct“of“this“decision“one“easily“gains“theŽ¡information–+`oMÞdd'“or“`evš²!en'“for“the“pagecoun˜t“of“the“curren˜t“page.‘ E-So“our“problemŽ¡reduces–¦fto“the“follo²!wing“simple“decision:Ž©˜7‘>þØ\ifodd\count0‘¿ª%Ž¡‘"}ü\hbox–¿ªto“\hsize{\hss\copy\figbox}%Ž¡‘"}ü\global\oddpagestrueŽ¡‘þ¨\else%‘¿ªleftsettingŽ¡‘"}ü\hbox–¿ªto“\hsize{\copy\figbox\hss}%Ž¡‘"}ü\global\oddpagesfalseŽ¡‘þ¨\fi%‘¿ª\ifodd\count0Ž¡ŸRBà3.3Ž‘ÀCollisions–€of“Floating“FiguresŽŸ«ÿÒW‘ÿee–¦fde ne“a“collision“as“a“situation“where:Ž¦‘ b%1.ŽŽŽ‘`a–¦fFloating“Figure“is“requested“bšMÞefore“the“predecessor“has“b˜een“ nished,ŽŸ™ ‘ b%2.ŽŽŽ‘`some–¦fsectioning“is“requested“bšMÞefore“a“Floating“Figure“has“b˜een“ nished.Ž¦‘While–îLthe“ØFLOATFIG‘îÒstš²!yle“option“cannot“a˜v˜oid“suc˜h“collisions,‘it“will“recognize“them.Ž¡F‘ÿeor–Bdiagnostic“purpMÞoses“wš²!e“ha˜v˜e“therefore“de ned“the“switc˜h“Ø\iffigprocessing“ÒandŽ¡another–wQcounš²!t“register“called“Ø\ffigcountÒ.‘ PŸThis“coun˜t“register“is“used“to“attac˜h“aŽ¡sequence›ÇŠn•²!um“bMÞer˜to˜eac“h˜Floating˜Figure,‘Òso˜they˜can˜bMÞe˜iden“ti ed˜uniquely˜withinŽ¡collision–,îwš²!arning“messages.‘qtThese“sequence“n˜um˜bšMÞers“are“not“to“b˜e“confused“with“theŽ¡ gure–¦fcounš²!t“main˜tained“b˜y“standard“LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X.ŽŸ"þç4Ž‘LËKnoŒÌwn‘ffProblemsŽŸ×ñà4.1Ž‘ÀNeed–€of“InitializationŽ©«ÿÒThe–f[presenš²!t“v˜ersion“of“the“st˜yle“option“needs“to“bMÞe“initialized“b˜y“con˜trol“sequenceŽ¡Ø\initfloatingfigs–¦fÒas“menš²!tioned“abMÞo˜v˜e.Ž¡‘W‘ÿee–©ðhopMÞe“a“later“v²!ersion“will“initialize“itself,‘êÒwhen“the“ rst“request“to“a“FloatingŽ¡Figure–y§is“encounš²!tered.‘ÎóOne“problem“with“suc˜h“an“automatic“initialization“seems“to“bMÞe,Ž¡that–´wš²!e“are“groupMÞed“do˜wn“since“w˜e“are“inside“a“LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X“en˜vironmen˜t.‘ýOur“ rst“attemptŽ¡failed–¦fto“makš²!e“the“respMÞectiv˜e“settings“Ø\globalÒ.ŽŸRBà4.2Ž‘ÀMisleading–€collision“w arningsŽ¦ÒAs–Tmenš²!tioned“abMÞo˜v˜e,‘_ŽFloating“Figures“do“not“mo˜v˜e“across“section“bMÞoundaries.‘ ¦If“aŽ¡Floating–ÈFigure“is“requested“near“a“section“end,›Ñthe“ gure“will“bMÞe“truncated,˜if“it“doMÞesŽ¡not–¦f t“in“the“curren²!t“section.ŽŽŸ’ÌBë4ŽŽŒ‹Ë ¢•^ ý„j¢ ]•^ ýÆj¢‘ÒIf–rythis“ošMÞccurs“for“instance“with“ oating“ gure“n•²!um“b˜er–ry4,‘|Ûa“collision“will“b˜e“rep˜ortedŽ¤ ™šwhen–Zthe“request“for“ oating“ gure“n•²!um“bšMÞer–Z5“is“encoun²!tered;‘sˆso“the“resp˜ectivš²!e“w˜arningŽ¡message–œimaš²!y“bMÞe“substan˜tially“retarded.‘Ú‰In“fact,‘žithe“message“will“tell“us“that“there“is“aŽ¡problem–ðÝwith“ gure“4,‘+but“there“will“bMÞe“no“further“hinš²!t.‘¡ZSo“one“has“to“analyze“`b˜y“hand'Ž¡that–.Ýthe“problem“is“×not“Òcaused“b²!y“collision“with“ gure“5“but“with“a“section“heading;Ž¡ev•²!en›¦fw“orse:‘ÝÝif˜there˜is˜no˜ oating˜ gure˜5,˜one˜gets˜no˜w“arning˜message˜at˜all.Ž¡‘F‘ÿeurthermore,‘m^w²!arning–_messages“will“bMÞe“generated“if“a“Floating“Figure“ends“in“para-Ž¡graph–d®ó(  b> ó3 cmmi10Ón“Òand“the“next“one“bMÞegins“with“paragraph“Ón–ë|Ò+“1.‘ÇõThese–d®w²!arning“messages“are“toŽ¡bMÞe–¦fignored;“they“are“due“to“some“retardation“caused“bš²!y“the“Ø\everypar“Òmec˜hanism.ŽŸ"€Aç5Ž‘LËConclusionsŽŸq‹ÒW‘ÿeorking–vwon“ØFLOATFIG.STY‘vBÒwš²!e“had“some“unexpMÞected“problems“whic˜h“w˜ere“caused“b˜yŽ¡LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X's–ê€somewhat“unsafe“assignmenš²!ts“to“the“Ø\everypar“Òtok˜en“list.‘ª*This“is“due“to“theŽ¡fact–×that“the“use“of“this“tokš²!en“list“is“fundamen˜tal“to“the“algorithm“designed“b˜y“Th.“Reid.Ž¡On–Nthe“other“hand“w²!e“did“expMÞect“problems“to“couple“the“Floating“Figures“with“LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X'sŽ¡ gure–Qñcaption“adminstration,‘|Ôthat“is“to“ac•²!hiev“e–Qña“single“ gure“caption“n•²!um“bMÞering‘QñforŽ¡the–g»standard“ gures“and“the“Floating“Figures“and“to“get“bšMÞoth“t²!yp˜es“listed“b²!y“theŽ¡Ø\listoffigures–XÖÒconš²!trol“sequence.‘õ-But“these“problems“could“easily“bMÞe“solv˜ed“b˜y“theŽ¡folloš²!wing–¦floMÞcal“de niton“within“the“ØFLOATFIG“Òen˜vironmen˜t:Ž©™š‘>þØ\def\@captype{figure}Ž¡¦ÒOb²!viously–Ínthis“is“due“to“the“fact“that“LŸýûó‘üÙÀAŽŽ‘ÈGÒT‘þ,³Ÿ[wEŽ‘B X's“caption“apparatus“is“thoroughly“param-Ž¡eterized.Ž¡‘The–¦fØFLOATFIG.STY“Ò le“is“stored“in“the“ØEARN/BITNET“Òlistserv²!er“in“HeidelbMÞerg;Ž¡ØVM/CMS–¦fÒusers“should“en²!ter“the“commands:Ž¦‘>þØTELL–¿ªLISTSERV“AT“DHDURZ1“GET“LATEXSTY“INDEXŽ¡‘>þTELL–¿ªLISTSERV“AT“DHDURZ1“GET“LATEXSTY“READMEŽ¡‘>þTELL–¿ªLISTSERV“AT“DHDURZ1“GET“LATEXSTY“FILELISTŽ¡‘>þTELL–¿ªLISTSERV“AT“DHDURZ1“GET“FLOATFIG“ZOOUUE“LATEXSTYŽ¡¦Òto–¦fobtain“information“abMÞout“hoš²!w“to“obtain“the“st˜yle“option“ le.ŽŽŸ’ÌBë5ŽŽŒø(€ƒ’À;袕^ÿpóO2Ç@Écmbx8ó>DÓítG®G®cmr17ó<ÂÖN ff cmbx12ó5ÂÖN  cmbx12ó3›»ˆ@ cmti12ó0X«Q cmr12ó-ßê ó3 cmmi10ó'Kñ`y ó3 cmr10ó$ßê