% This macro source file is from the four volume series % "TeX in Practice" by Stephan von Bechtolsheim, published % 1993 by Springer-Verlag, New York. % Copyright 1993 Stephan von Bechtolsheim. % No warranty or liability is assumed. % This macro may be copied freely if no fees other than % media cost or shipping charges are charged and as long % as this copyright and the following source code itself % is not changed. Please see the series for further information. % % Version: 1.0 % Date: May 1, 1993 % % % This source code is documented in 36.2.4, p. IV-141. % Original source in file "o3.TEX", starting line 444. \wlog{L: "ola-2p.tip" ["o3.TEX," l. 444, p. IV-141]}% % This file DOES NOT belong to format "texip." \InputD{namedef.tip} \catcode`\@ = 11 \def\FigurePlacementFileName{\jobname.fip } \newcount\Fco \newread\FigurePlacementStreamIn \newwrite\FigurePlacementStreamOut \def\ReadTheFigurePlacementFile{% \Fco = 1 \openin\FigurePlacementStreamIn = \FigurePlacementFileName \ActuallyReadFigurePlacementFile \immediate\openout\FigurePlacementStreamOut = \FigurePlacementFileName } \def\ActuallyReadFigurePlacementFile{% \ifeof\FigurePlacementStreamIn \closein\FigurePlacementStreamIn \let\ReadInFigurePlacementFileNext = \relax \else \read\FigurePlacementStreamIn to \ALineFromTheFile \def\ParMeansDone{\par}% \ifx\ALineFromTheFile\ParMeansDone \else \NameEdef{Fig-\the\Fco}{\ALineFromTheFile} \advance\Fco by 1 \fi \let\ReadInFigurePlacementFileNext = \ActuallyReadFigurePlacementFile \fi \ReadInFigurePlacementFileNext } \newcount\FBTwoCount \FBTwoCount = 1 \newif\ifLeftSideCaption \def\FBTwoPass #1#2#3{% \PrepareFigureBoxes{#1}{#2}{#3} \insert\FigureIns{% \write\FigurePlacementStreamOut{\the\pageno} \if\NameDefinedConditional{Fig-\the\FBTwoCount}% \wlog{Figure \the\FBTwoCount: \NameUse{Fig-\the\FBTwoCount}}% \expandafter\ifodd\NameUse{Fig-\the\FBTwoCount}% \LeftSideCaptionfalse \else \LeftSideCaptiontrue \fi \else \LeftSideCaptiontrue \fi \ifLeftSideCaption \hbox{% \valign{% ##\vfil \cr \copy 1\cr \copy 0\cr }% }% \else \hbox{% \valign{% ##\vfil \cr \copy 0\cr \copy 1\cr }% }% \fi } \advance\FBTwoCount by 1 } \def\OutCaptionGameTwoPass{% \setbox0 = \box\voidb@x \setbox1 = \box\voidb@x \ifodd\pageno \dimen0 = 0pt \let\Header = \RightHeader \let\Footer = \RightFooter \else \dimen0 = \DiffWidth \let\Header = \LeftHeader \let\Footer = \LeftFooter \fi \shipout\vbox{% \hrule height 1pt \vskip 5pt \Header \vskip 12pt \ifvoid\FigureIns \else \box\FigureIns \vskip\skip\FigureIns \fi \moveright\dimen0 \BoxR 255 \vskip 12pt \Footer } \global\advance\pageno by 1 \ifnum\outputpenalty > -20000 \else \dosupereject \fi } \catcode`\@ = 12