diff options
Diffstat (limited to 'info/examples/tex-in-practice/ts-outpu.tip')
-rw-r--r-- | info/examples/tex-in-practice/ts-outpu.tip | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/ts-outpu.tip b/info/examples/tex-in-practice/ts-outpu.tip new file mode 100644 index 0000000000..39902664bf --- /dev/null +++ b/info/examples/tex-in-practice/ts-outpu.tip @@ -0,0 +1,188 @@ +% 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.1, p. IV-122. +% Original source in file "o2.TEX", starting line 1834. +\wlog{L: "ts-outpu.tip" ["o2.TEX," l. 1834, p. IV-122]}% +% This file DOES belong to format "texip." +\InputD{namedef.tip} +\InputD{showpll.tip} +\InputD{new-midi.tip} +\InputD{topinfix.tip} +\InputD{nathd.tip} +\InputD{rangetst.tip} +\newif\ifWritePageLog +\WritePageLogfalse +\newwrite\PageLogStream +\def\WritePageLogFile{% + \immediate\openout\PageLogStream = \jobname.plog + \WritePageLogtrue +} +\newcount\BadnessSave +\ShowPlainListsfalse +\catcode`\@ = 11 +\newcount\@PageLayoutCode +\def\SetPageLayout #1{% + \global\@PageLayoutCode = #1 + \CheckRange{\@PageLayoutCode}{0}{5}% + {\string\SetPageLayout: } +} +\SetPageLayout{0}% +\def\@LeftRunningHead{} +\def\@RightRunningHead{} +\newcount\@SavedPageLayoutCode +\def\NewPageRightHandSpecial{% + \vfill + \supereject + \ifodd\count0 + \wlog{\string\NewPageRightHandSpecial: no empty + page to generate (\string\count0 = \the\count0)}% + \else + \hbox{} + \@SavedPageLayoutCode = \@PageLayoutCode + \SetPageLayout{1}% + \wlog{\string\NewPageRightHandSpecial: empty page + generated, + (\string\count0 = \the\count0).}% + \vfill + \eject + \SetPageLayout{\@SavedPageLayoutCode}% + \fi +} +\newdimen\OddPagesHorizontalShift +\newdimen\EvenPagesHorizontalShift +\newdimen\CurrentPageShift +\def\plainoutput{% + \@ShowPlainLists + \edef\@LeftRunningHead{\@LeftRunningHead}% + \edef\@RightRunningHead{\@RightRunningHead}% + \ifnum\@PageLayoutCode = 0 + \else + \headline = {} + \footline = {} + \fi + \ifcase\@PageLayoutCode + \or + \or + \global\@PageLayoutCode = 3 + \or + \@PageLayoutCodeThree + \or + \global\@PageLayoutCode = 5 + \or + \ifodd\count0 + \headline = {% + \small\rm + \hfil + \botmark + \hskip 18pt + \PrintCounter{PageNo}% + }% + \else + \headline = {% + \small\rm + \PrintCounter{PageNo}% + \hskip 18pt + \@LeftRunningHead + \hfil + }% + \fi + \else + \errmessage{\string\plainoutput: \string\@PageLayoutCode + out of range.}% + \fi + \setbox 4 = \vbox{% + \pagebody + }% + \ifWritePageLog + \immediate\write\PageLogStream{% + Part name: \CurrentPartName, Page \the\count0 + }% + \immediate\write\PageLogStream{% + Page \the\count0: + stretch: \the\pagestretch, + shrink: \the\pageshrink, + outputpenalty: \the\outputpenalty + }% + \immediate\write\PageLogStream{% + pagefilstretch: \the\pagefilstretch, + pagefillstretch: \the\pagefillstretch + }% + \immediate\write\PageLogStream{% + ht 255: \the\ht255, + dp 255: \the\dp255 + }% + \NaturalHeight{\dimen0}{255}% + \NaturalDepth{\dimen1}{255}% + \immediate\write\PageLogStream{% + Natural height: \the\dimen0, + Natural depth: \the\dimen1 + }% + \dimen2 = \vsize + \advance\dimen2 by -\dimen0 + \immediate\write\PageLogStream{% + Ideal height: \the\vsize, + Difference: \the\dimen2 + }% + \immediate\write\PageLogStream{% + badness: \the\BadnessSave, + height: \the\ht4, + depth: \the\dp4 + }% + \immediate\write\PageLogStream{}% + \fi + \setbox 5 = \vbox{% + \makeheadline + \box 4 + \makefootline + }% + \@MakeRobustMacros + \ifodd\count0 + \CurrentPageShift = \OddPagesHorizontalShift + \else + \CurrentPageShift = \EvenPagesHorizontalShift + \fi + \wlog{Redefined \string\plainoutput (ts-outpu.tip): + Shifting: shift amount is \the\CurrentPageShift\space\space + (page is \the\pageno).}% + \setbox 6 = \vbox{% + \moveright\CurrentPageShift \box5 + }% + \shipout\box6 + \advancepageno + \ifnum\outputpenalty > -10000 + \else + \dosupereject + \fi +} +\def\@PageLayoutCodeThree{% + \ifodd\count0 + \headline = {% + \small\rm + \hfil + \@RightRunningHead + \hskip 18pt + \PrintCounter{PageNo}% + }% + \else + \headline = {% + \small\rm + \PrintCounter{PageNo}% + \hskip 18pt + \@LeftRunningHead + \hfil + }% + \fi +} +\catcode`\@ = 12 |