%% %% This is file `multicol.sty' generated %% on <1992/1/18> with the docstrip utility (v1.1l test). %% %% The original source file was `multicol.doc'. %% %% %% Copyright (C) 1989,1990,1991 by Frank Mittelbach. All rights reserved. %% %% IMPORTANT NOTICE: %% %% You are not allowed to change this file. You may however copy this file %% to a file with a different name and then change the copy. %% %% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED %% to take money for the distribution or use of this file (or a changed %% version) except for a nominal charge for copying etc. %% %% You are allowed to distribute this file under the condition that it is %% distributed together with all files mentioned in readme.mz1. %% %% If you receive only some of these files from someone, complain! %% %% However, if these files are distributed by established suppliers as part %% of a complete TeX distribution, and the structure of the distribution %% would make it difficult to distribute the whole set of files, *those %% parties* are allowed to distribute only some of the files provided that %% it is made clear that the user will get a complete distribution-set upon %% request to that supplier (not me). %% Notice that this permission is not granted to the end user. %% %% Error Reports in case of UNCHANGED versions to %% %% F. Mittelbach %% Eichenweg 29 %% D-6500 Mainz 1 %% Federal Republic of Germany %% Bitnet: %% %% Please do not request updates from me. Distribution is done only %% through Mail-Servers and TeX organisations. %% \def\fileversion{v1.3c} \def\filedate{91/04/08} \def\docdate {91/03/14} %% \CheckSum{570} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \@ifundefined{mult@cols}{}{\endinput} \typeout{Style option: `multicol' \fileversion\space <\filedate> (FMi)} \typeout{English documentation \@spaces\@spaces\space<\docdate> (FMi)} \def\multicols#1{\col@number#1\relax \ifnum\col@number<\tw@ \@warning{Using `\number\col@number' columns doesn't seem a good idea.^^J I therefore use two columns instead}% \col@number\tw@ \fi \@ifnextchar[\mult@cols{\mult@cols[]}} \def\mult@cols[#1]{\@ifnextchar[% {\mult@@cols{#1}}% {\mult@@cols{#1}[\premulticols]}} \def\mult@@cols#1[#2]{% \ifnum\c@tracingmulticols>\z@ \typeout{^^J^^JStarting multicolumn output with \the\col@number \space columns:^^J}\fi \enough@room#2% #1\par\addvspace\multicolsep \begingroup \prepare@multicols\ignorespaces} \def\enough@room#1{\par \addpenalty\z@ \page@free \pagegoal \advance \page@free -\pagetotal \ifnum \c@tracingmulticols>\z@ \typeout{Current page:}% \message{\@spaces goal height=% \the\pagegoal: used \the\pagetotal \space -> free=\the\page@free}% \typeout{\@spaces needed \the#1 (for \string#1)}\fi \ifdim \page@free <#1\newpage \fi} \def\prepare@multicols{% \nointerlineskip \null \output{\global\setbox\partial@page \vbox{\unvbox\@cclv \setbox\z@\lastbox }}\eject \vbadness10001 \hbadness5000 \tolerance\multicoltolerance \pretolerance\m@ne \setemergencystretch\col@number\hsize \set@floatcmds \doublecol@number\col@number \multiply\doublecol@number\tw@ \advance\baselineskip\multicolbaselineskip \advance\@colroom-\ht\partial@page \vsize\col@number\@colroom \advance\vsize\c@collectmore\baselineskip \hsize\columnwidth \advance\hsize\columnsep \advance\hsize-\col@number\columnsep \divide\hsize\col@number \linewidth\hsize \output{\multi@columnout}% \multiply\count\footins\col@number \multiply\skip \footins\col@number \reinsert@footnotes} \def\endmulticols{\par\addpenalty\z@ \output{\balance@columns}\eject \@checkend{multicols}% \endgroup \reinsert@footnotes \global\c@unbalance\z@ \enough@room\postmulticols \addvspace\multicolsep \ifnum\c@tracingmulticols>\z@ \typeout{^^JEnding multicolumn output.^^J^^J}\fi} \newcount\c@unbalance \c@unbalance = 0 \newcount\c@collectmore \c@collectmore = 0 \newcount\c@tracingmulticols \c@tracingmulticols = 0 \newcount\col@number \newcount\doublecol@number \newcount\multicoltolerance \multicoltolerance = 9999 \newdimen\page@free \newdimen\premulticols \premulticols = 50pt \newdimen\postmulticols \postmulticols= 20pt \newskip\multicolsep \multicolsep = 12pt plus 4pt minus 3pt \newskip\multicolbaselineskip \multicolbaselineskip=0pt \newbox\partial@page \def\process@cols#1#2{\count@#1\relax \loop #2% \advance\count@\tw@ \ifnum\count@<\doublecol@number \repeat} \def\page@sofar{\unvbox\partial@page \process@cols\z@{\wd\count@\hsize}% \hbox to\textwidth{% \process@cols\tw@{\box\count@ \hss\vrule\@width\columnseprule\hss}% \box\z@}} \def\reinsert@footnotes{\ifvoid\footins\else \insert\footins{}\fi} \def\multi@columnout{% \ifnum\outputpenalty <-\@Mi \speci@ls \else \splittopskip\topskip \splitmaxdepth\maxdepth \dimen@\@colroom \divide\skip\footins\col@number \ifvoid\footins \else \advance\dimen@-\skip\footins \advance\dimen@-\ht\footins \fi \process@cols\tw@{\setbox\count@ \vsplit\@cclv to\dimen@ \ifshr@nking \setbox\count@\vbox to\dimen@ {\unvbox\count@\vfill}% \fi }% \setbox\z@\vsplit\@cclv to\dimen@ \ifshr@nking \setbox\z@\vbox to\dimen@ {\unvbox\z@\vfill}% \fi \ifvoid\@cclv \else \unvbox\@cclv \penalty\outputpenalty \ifvoid\footins\else \@warning{I moved some lines to the next page.^^J \@spaces Footnotes on page \thepage\space might be wrong}% \fi \ifnum \c@tracingmulticols>\tw@ \hrule\allowbreak \fi \fi \setbox\@cclv\vbox{\page@sofar}% \@makecol\@outputpage \global\@colroom\@colht \process@deferreds \ifnum\c@tracingmulticols>\@ne \typeout{Colroom: \the\@colht\space after float space removed = \the\@colroom }\fi \global\vsize\col@number\@colroom \global\advance\vsize \c@collectmore\baselineskip \fi} \def\speci@ls{% \typeout{Floats and marginpars not allowed inside `multicols' environment!}% \unvbox\@cclv\reinsert@footnotes \xdef\@freelist{\@freelist\@currlist}% \gdef\@currlist{}} \def\process@deferreds{% \@floatplacement \begingroup \let\@tempb\@deferlist \gdef\@deferlist{}% \let\@elt\@scolelt \@tempb \endgroup} \newif\ifshr@nking \def\raggedcolumns{% \@bsphack\shr@nkingtrue\@esphack} \def\flushcolumns{% \@bsphack\shr@nkingfalse\@esphack} \def\balance@columns{% \splittopskip\topskip \splitmaxdepth\maxdepth \setbox\z@\vbox{\unvbox\@cclv}\dimen@\ht\z@ \advance\dimen@\col@number\topskip \advance\dimen@-\col@number\baselineskip \divide\dimen@\col@number \advance\dimen@\c@unbalance\baselineskip \ifnum\c@tracingmulticols>\@ne \typeout{Balance columns: \ifnum\c@unbalance=\z@\else (off balance=\number\c@unbalance)\fi}% \fi \vbadness\@M \loop {\process@cols\@ne{\global\setbox\count@ \box\voidb@x}}% \global\setbox\@ne\copy\z@ {\process@cols\thr@@{\global\setbox\count@ \vsplit\@ne to\dimen@}}% \ifnum\c@tracingmulticols>\@ne \message{\@spaces First column = \the\ht\thr@@}\fi \ifshr@nking \global\setbox\thr@@ \vbox{\unvbox\thr@@}% \ifnum\c@tracingmulticols>\@ne \message{ after shrinking \the\ht\thr@@}\fi\fi \ifnum\c@tracingmulticols>\@ne \message{<> last column = \the\ht\@ne}% \typeout{}\fi \ifdim\ht\@ne >\ht\thr@@ \advance\dimen@\p@ \repeat \dimen@\ht\thr@@ \ifdim\dimen@>\@colroom \dimen@\@colroom \fi \process@cols\z@{\@tempcnta\count@ \advance\@tempcnta\@ne \setbox\count@\vbox to\dimen@ {\unvbox\@tempcnta \ifshr@nking\vfill\fi}}% \global\vsize\@colroom \global\advance\vsize\ht\partial@page \page@sofar} \@ifundefined{emergencystretch} {\newdimen\emergencystretch}{} \emergencystretch 1pt \def\setemergencystretch#1#2{% \emergencystretch 4pt \multiply\emergencystretch#1} \def\set@floatcmds{% \let\@dblfloat\@dbflt \def\end@dblfloat{\par \vskip\z@\egroup \ifnum\@floatpenalty<\z@ \@cons\@deferlist\@currbox \fi \ifnum\@floatpenalty=-\@Mii \@esphack \fi}} \endinput %% %% End of file `multicol.sty'.