diff options
Diffstat (limited to 'info/examples/tex-in-practice/ts-float.tip')
-rw-r--r-- | info/examples/tex-in-practice/ts-float.tip | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/ts-float.tip b/info/examples/tex-in-practice/ts-float.tip new file mode 100644 index 0000000000..1ecb25db71 --- /dev/null +++ b/info/examples/tex-in-practice/ts-float.tip @@ -0,0 +1,121 @@ +% 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 35.9.3, p. IV-128. +% Original source in file "o2.TEX", starting line 2156. +\wlog{L: "ts-float.tip" ["o2.TEX," l. 2156, p. IV-128]}% +% This file DOES belong to format "texip." +\InputD{dblarg.tip} +\InputD{centpar.tip} +\InputD{futlet.tip} +\InputD{compst.tip} +\InputD{topinfix.tip} +\catcode`\@ = 11 +\NewCounter{FigureNo}{\arabic}% + {\TheCounter{ChapterNo}.\TheCounter{FigureNo}}% + {\TheCounter{ChapterNo}.\TheCounter{FigureNo}}% +\NewCounter{TableNo}{\arabic}% + {\TheCounter{ChapterNo}.\TheCounter{TableNo}}% + {\TheCounter{ChapterNo}.\TheCounter{TableNo}}% +\AddCounterToResetList{FigureNo}{ChapterNo} +\AddCounterToResetList{TableNo}{ChapterNo} +\def\Caption{\DblArg{\@Caption}} +\def\@Caption [#1]#2{% + \errmessage{\string\@Caption: caption out of place, caption + text = #1.}% +} +\def\BeginFigure{% + \DoFutureLet{\ifx}{[}{\@BeginFigure}{\@BeginFigure[t]}% +} +\newif\if@FigureInsertOk +\def\@BeginFigure[#1]{% + \begingroup + \def\@UseThisInsert{}% + \@FigureInsertOkfalse + \if\StringsEqualConditional{#1}{t}% + \def\@UseThisInsert{\topinsert}% + \@FigureInsertOktrue + \fi + \if\StringsEqualConditional{#1}{p}% + \def\@UseThisInsert{\pageinsert}% + \@FigureInsertOktrue + \fi + \if@FigureInsertOk + \else + \errmessage{\string\@BeginFigure: illegal argument + "#1." Use [t] instead.}% + \def\@UseThisInsert{\topinsert}% + \fi + \gdef\FigureCaptionText{}% + \gdef\FigureCaptionTextLof{}% + \StepCounter{FigureNo}% + \def\Label ##1{\@Label{##1}{\RefCounter{FigureNo}}{0}}% + \def\@Caption [##1]##2{% + \gdef\FigureCaptionTextLof{##1}% + \gdef\FigureCaptionText{##2}% + \wlog{\noexpand\@Caption (figures), caption text saved: + ##2.}% + }% + \setbox 0 = \vbox\bgroup +} +\def\EndFigure{% + \egroup + \@UseThisInsert + \box0 + \if\EmptyStringConditional{\FigureCaptionText}% + \else + \bigskip + \CenterOrParagraph{% + \small + Figure~\PrintCounter{FigureNo}. + \FigureCaptionText + }% + \WriteToAuxSpecial{lof}{1}{\PrintCounter{FigureNo}}% + {\FigureCaptionTextLof}{\PrintCounter{PageNo}}% + \fi + \endinsert + \endgroup +} +\def\BeginTable{% + \begingroup + \gdef\TableCaptionText{}% + \gdef\TableCaptionTextLot{}% + \StepCounter{TableNo}% + \def\Label ##1{\@Label{##1}{\RefCounter{TableNo}}{0}}% + \def\@Caption [##1]##2{% + \gdef\TableCaptionText{##2}% + \gdef\TableCaptionTextLot{##1}% + \wlog{\noexpand\@Caption for tables: ##2}% + }% + \setbox 0 = \vbox\bgroup +} +\def\EndTable{% + \egroup + \topinsert + \if\EmptyStringConditional{\TableCaptionText}% + \else + \smallskip + \CenterOrParagraph{% + \small + Table~\PrintCounter{TableNo}. + \TableCaptionText}% + \WriteToAuxSpecial{lot}{1}{\PrintCounter{TableNo}}% + {\TableCaptionTextLot}{\PrintCounter{PageNo}}% + \smallskip + \fi + \box0 + \endinsert + \endgroup +} +\catcode`\@ = 12 |