÷ƒ’À;è TeX output 1996.10.01:1503‹ÿÿÿÿ «‹' ýutÙ l‹' ýã[C‘:¼1óDÓítG®G®cmr17ºLŸüdú‘úKGóX«Q cmr12»AŽŽ‘¹”ºT‘ý[™Ÿ¸-EŽ‘;gX-PŒqaragraphs–7tFloating“around“FiguresŽŸlÏ’¦i“󛻈@ 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}Ž¡©™š¹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.Ž¤R…ó%ÂÖ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.ŽŸ"€AË3Ž‘LËAbs3out–ffthe“inŒÌternalsŽŸq‹¹W‘ÿee›¦fha•²!v“e˜extended˜the˜macros˜designed˜b“y˜Th.˜Reid˜with˜regard˜to:Ž¦‘ 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‘û#×ó&2Ç@Écmbx8ÑAŽŽ~/Ð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:Ž¦‘>þÌ\edef\oldoutput{\the\output}%Ž¤ ™š‘>þ\output={\the\outputpretest\ifoutput\oldoutput\fi}Ž¡‘>þ\outputpretest={\outputtrue}Ž¡ŽŸ’ÌBë¹2ŽŽŒ‹ q «‹' ýutÙ l‹' ý·tÙ¹If–âàa“Floating“Figure“is“requested,‘ñþthe“con•²!ten“t–âàof“the“Ì\outputpretest“¹tok²!en“register“isŽ© ™šprepared–¦fto“decide:Ž¤™š‘ b%1.ŽŽŽ‘`if–¦fthere“is“enough“v²!ertical“space“to“set“the“Floating“Figure,Ž¡‘ 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).Ž¡‘ 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.ŽŸR…Ð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Ž¦vš²!ersion–“‡there“is“already“a“moMÞdi ed“Ì\output“¹routine“whic˜h“decides“if“a“certain“ gureŽŽŸ’ÌBë3ŽŽŒ‹m «‹' ýutÙ l‹' ý·tÙ¹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:Ž©™š‘>þÌ\ifodd\count0‘¿ª%Ž¡‘"}ü\hbox–¿ªto“\hsize{\hss\copy\figbox}%Ž¡‘"}ü\global\oddpagestrueŽ¡‘þ¨\else%‘¿ªleftsettingŽ¡‘"}ü\hbox–¿ªto“\hsize{\copy\figbox\hss}%Ž¡‘"}ü\global\oddpagesfalseŽ¡‘þ¨\fi%‘¿ª\ifodd\count0Ž¡ŸR…Ð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.ŽŸ"€AË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.Ÿü¾À1ŽŽŽ¡‘¹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¹.ŽŸR…Ð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.ŽŸff‰ff¥˜ºŸ LÍ‘ {ºŸü-=ó¹Aa¨cmr6Á1ŽŽŽ‘¦aÇThis–Tis“not“needed“with“LŸýó5‘ü«‡ÁAŽŽ‘© ÇT‘þuAŸïÿEŽ‘˜ŸX‘c.2Ÿÿÿó'5ùž" cmmi9Ò"ŽŽ‘%‹Ç.‘p/MDŽŽŸ’ÌBë¹4ŽŽŒ‹ «‹' ýutÙ l‹' ý·tÙ‘¹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.ŽŸR…Ð5.1Ž‘ÀNote–€b y“Mats“DahlgrenŽŸ«ÿ¹Sev²!eral–‹¶features“describšMÞed“in“this“do˜cumenš²!t“still“apply“to“the“LŸýûó‘üÙÀAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X‘¤v2Ÿ¤zÎ"ŽŽ‘/ÑëÌfloatflt“¹pac˜k-Ž¡age,‘ðwhereas–®{others“do“not.‘öPlease“run“LŸýûó‘üÙÀAŽŽ‘ÈG¹T‘þ,³Ÿ[wEŽ‘B X“on“Ìfloatflt.dtx“¹t²!wice“and“read“theŽ¡resulting–a›došMÞcumen²!tation“b˜efore“yš²!ou“use“the“pac˜k‘ÿdDage.‘Æï(This“note“w˜as“added“on“OctobMÞerŽ¡20,–¦f1994;“cš²!hanged“on“Decem˜bMÞer“27,“1994.)ŽŽŸ’ÌBë5ŽŽŒø)#ƒ’À;è«‹'ÿpó'5ùž" cmmi9ó&2Ç@Écmbx8ó%ÂÖN  cmbx12ó#  b> ó3 cmmi10ó"ò"V ó3 cmbx10ó!ßê