summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/eplain/base/test/pcol.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/eplain/base/test/pcol.tex')
-rw-r--r--Master/texmf-dist/source/eplain/base/test/pcol.tex183
1 files changed, 0 insertions, 183 deletions
diff --git a/Master/texmf-dist/source/eplain/base/test/pcol.tex b/Master/texmf-dist/source/eplain/base/test/pcol.tex
deleted file mode 100644
index 52bfc2cc77d..00000000000
--- a/Master/texmf-dist/source/eplain/base/test/pcol.tex
+++ /dev/null
@@ -1,183 +0,0 @@
-% This file is public domain.
-%
-% These are the double-column macros from Paul Abrahams, Dec 1991
-% They add the following features:
-% \ifbalance (by default true, causes last page to be balanced)
-% \everycolumn (a token list, useful for marks)
-% \pageeject
-% \eject does a column eject
-
-\newtoks\mainoutput
-\newbox\partialpage
-\newdimen\fullvsize \newdimen \fullhsize
-\newbox\leftcolumn \newbox \rightcolumn
-\newbox\savefootins \newskip\footskip
-\newbox\savetopins \newskip\topinsskip
-\newif\ifbalance \balancetrue
-\newtoks\everycolumn
-
-
-\def\pageeject{\penalty -10005 }%
-
-\def\doublecolumns{%
- \mainoutput = \output % Save the previous \output.
- %
- % This grabs any single-column material.
- \output = {\global\setbox\partialpage = \vbox{\unvbox255}}%
- \vskip\abovedoublecolumnskip
- \par % \par updates \pagetotal
- \pagegoal = \pagetotal
- \break % Now expand the \output we assigned just above.
- \output = {\doublecolumnoutput}%
- %
- % Set up \hsize and \vsize for double columns.
- \fullvsize = \vsize
- \fullhsize = \hsize
- \advance\hsize by -\gutter
- \divide \hsize by 2
- \advance\vsize by -\ht\partialpage
- %
- % Take account of existing insertions.
- \ifvoid\footins\else
- \advance\vsize by -\ht\footins
- \advance\vsize by -\skip\footins
- \fi
- \setbox\savefootins = \box\footins
- \footskip = \skip\footins
- %
- \ifvoid\topins\else
- \advance\vsize by -\ht\topins
- \advance\vsize by -\skip\topins
- \fi
- \setbox\savetopins = \box\topins
- \topinsskip = \skip\topins
- %
- % Start at the left, clear the existing columns.
- \let\lr = L%
- \setbox0 = \box\leftcolumn \setbox0 = \box\rightcolumn
-}%
-%
-% This routine actually does the outputting.
-\def\doublecolumnoutput{%
- \ifbalance\else \ifnum \outputpenalty < -10000
- \setbox255 = \vbox{\unvbox255 \vfil}%
- \fi\fi
- %
- \the\everycolumn
- \if \lr L%
- \buildcolumn\leftcolumn
- \global\let\lr = R%
- \else
- \buildcolumn\rightcolumn
- \global\let\lr = L%
- \fi
- %
- \ifnum \outputpenalty < -10000
- \ifbalance
- \ifdim \ht\leftcolumn > 8\baselineskip
- \balancecolumns
- \global \let \lr = L%
- \fi\fi\fi
- %
- \if \lr L%
- \setbox255 = \vbox{%
- \unvbox\partialpage
- \dimen0 = \ht\leftcolumn \dimen1 = \dp\leftcolumn
- \joincolumns
- \ifnum \outputpenalty = -10005 \vfil \fi
- }%
- % The restoration of the insertion boxes happens only once, since
- % they are empty thereafter.
- \setbox\footins = \box\savefootins
- \setbox\topins = \box\savetopins
- \vsize = \fullvsize % Because we've taken care of \partialoutput
- \ifnum \outputpenalty = -10006
- \unvbox255
- \else
- \the\mainoutput
- \global\vsize = \fullvsize
- \fi
- \fi
-}%
-%
-%
-% \joincolumns joins \leftcolumn and \rightcolumn into a vbox that aligns
-% the tops of the two columns and has the depth of the deeper column.
-% It adds the resulting box to the main vertical list.
-%
-\def\joincolumns{%
- \dimen0 = \dp\leftcolumn \dimen1 = \dp \rightcolumn
- \setbox0 = \hbox to \fullhsize{%
- \vtop to \ht\leftcolumn{\unvbox\leftcolumn}%
- \hfil
- \vtop to \ht\rightcolumn{\unvbox\rightcolumn}%
- }%
- \dimen2 = \boxmaxdepth % For restoring it later
- \ifdim \dimen0 < \dimen1
- \boxmaxdepth = \dimen1
- \else
- \boxmaxdepth = \dimen0
- \fi
- \setbox0 = \vbox{\box0}%
- \boxmaxdepth = \dimen2
- \box0 % Produce for the calling context
-}%
-
-\def\buildcolumn #1{%
- \ifnum \outputpenalty < -9999
- \global \setbox #1 = \vbox{\pagecontents}%
- \else
- \global \setbox #1 = \vbox to \vsize{\pagecontents}%
- \fi
-}%
-%
-%
-% Go back to single-column typesetting. Unfortunately, we cannot start
-% a group in \doublecolumns and end it here, because some documents
-% might want double-column mode to continue to the end. So we have to
-% restore the things we've changed manually.
-%
-\def\singlecolumn{%
- \penalty -10006
- \output = \mainoutput
- \hsize = \fullhsize
- \vsize = \fullvsize
- %
- % Add \belowdoublecolumnskip if there's enough room, otherwise a \vfil
- % to fill out the page.
- \dimen0 = \pagetotal \advance \dimen0 by \belowdoublecolumnskip
- \ifdim \dimen0 < \pagegoal
- \vskip\belowdoublecolumnskip
- \else
- \vfil
- \fi
- \allowbreak
-}%
-%
-\def \balancecolumns{%
- \setbox\leftcolumn = \vbox{\unvbox\leftcolumn \unskip}%
- \setbox\rightcolumn = \vbox{\unvbox\rightcolumn \unskip}%
- \setbox0 = \vbox{%
- \dimen0 = \dp\leftcolumn
- \unvbox \leftcolumn
- \if \lr L
- \kern -\dimen0
- \vskip -\topskip
- \vskip \baselineskip
- \unvbox \rightcolumn
- \fi
- }%
- \dimen0 = \ht0
- \advance \dimen0 by \topskip \advance \dimen0 by -\baselineskip
- \divide \dimen0 by 2 \splittopskip = \topskip
- \count@ = \vbadness \vbadness = 10000
- \loop
- \setbox2 = \copy0
- \setbox1 = \vsplit2 to \dimen0
- \ifdim \ht2 > \dimen0
- \advance \dimen0 by 1pt
- \repeat
- \vbadness = \count@
- \setbox \leftcolumn = \vbox to \dimen0{\unvbox1}%
- \setbox \rightcolumn = \vbox to \dimen0{\unvbox2}%
-}%