diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/preprint/balance.dtx |
Initial commit
Diffstat (limited to 'macros/latex/contrib/preprint/balance.dtx')
-rw-r--r-- | macros/latex/contrib/preprint/balance.dtx | 541 |
1 files changed, 541 insertions, 0 deletions
diff --git a/macros/latex/contrib/preprint/balance.dtx b/macros/latex/contrib/preprint/balance.dtx new file mode 100644 index 0000000000..84efb28f4d --- /dev/null +++ b/macros/latex/contrib/preprint/balance.dtx @@ -0,0 +1,541 @@ +% \iffalse THIS IS A META-COMMENT +%<*dtx> +\ProvidesFile +%======================================================================== + {BALANCE.DTX} +%======================================================================== +%</dtx> +%% Copyright 1993-1999 Patrick W Daly +%% Max-Planck-Institut f\"ur Aeronomie +%% Max-Planck-Str. 2 +%% D-37191 Katlenburg-Lindau +%% Germany +%% E-mail: daly@linmpi.mpg.de +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. +% +% This is a contributed file to the LaTeX2e system. +% ------------------------------------------------- +% This is a LaTeX package to balance the last two columns in twocolumn mode. +% Installation: +% LaTeX this file: creates docstrip installation file balance.ins +% AND the (LaTeX2e) documentation +% (La)TeX balance.ins: creates package files balance.sty, and optionally +% documentation driver balance.drv +% (balance.ins may be edited as needed) +% Docstrip options available: +% package - to produce a (LaTeX2e) package .sty file +% driver - to produce a driver file to print the documentation +% 209 - (with package) for package that runs under LaTeX 2.09 +% subpack - (with package) for coding included in other packages +%-------------------------------------------------------------------------- +%<*!subpack> +%<package&209>\def\ProvidesPackage#1#2] +%<package&209> {\typeout{Style option `#1'#2]}} +% +% *** Identify the package file:- +%<package&!209>\NeedsTeXFormat{LaTeX2e}[1994/06/01] +%<package>\ProvidesPackage{balance} +%</!subpack> +% +% *** Provide command to dislay module version +%<package&subpack>\def\ModuleVersion#1[#2]{} +%<package&subpack> \ModuleVersion{balance} +% +% *** Identify the driver file:- +%<driver>\NeedsTeXFormat{LaTeX2e} +%<driver>\ProvidesFile{balance.drv} +% +% *** The DATE, VERSION, and other INFO +%\fi +%\ProvidesFile{balance} + [1999/02/23 4.3 (PWD)] +% \changes{4.0}{1993 Oct 10}{First release with \texttt{docstrip}} +% \changes{4.0}{1993 Oct 20}{Change so \cs{balance} makes redefinitions +% and does not just set flag} +% \changes{4.1}{1994 May 16}{Convert to \LaTeXe} +% \changes{4.1a}{1994 Jun 22}{Update to first official release of \LaTeXe} +% \changes{4.1b}{1995 Jan 2}{Update documentation to PWD standard} +% \changes{4.2}{1995 Nov 7}{Fix up \cmd{\cleardoublepage}} +% \changes{4.2a}{1997 Mar 16}{Fix copyright for subpackage and other minor +% things} +% \changes{4.2b}{1997 Apr 29}{Conform to new \texttt{docstrip}} +% \changes{4.3}{1999 Feb 23}{Update copyright notice} +% +% \CheckSum{168} +% \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 \~} +% \iffalse +%<*install> +%^^A ============================================= +%^^A Here is the docstrip installation file +%^^A It is written on first LaTeX run if it +%^^A does not already exist +%^^A ============================================= +\begin{filecontents*}{balance.ins} +% File: balance.ins +% Copyright 1999 Patrick W. Daly +% +% This file can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. +% +% It is an installation file for extracting package and driver +% files from the original source file. Simply process it under +% TeX or LaTeX. + +\input docstrip + +\preamble +============================================= +IMPORTANT NOTICE: + +This program can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from CTAN +archives in directory macros/latex/base/lppl.txt; either +version 1 of the License, or any later version. + +This is a generated file. +It may not be distributed without the original source file \inFileName. + +Full documentation can be obtained by LaTeXing that original file. +Only a few abbreviated comments remain here to describe the usage. +============================================= +\endpreamble +\postamble + +<<<<< End of generated file <<<<<< +\endpostamble + +\declarepreamble\driver +============================================ +This is the driver file to produce the LaTeX documentation +from the original source file \inFileName. + +Make changes to it as needed. (Never change the file \inFileName!) +============================================ +\endpreamble + +\declarepostamble\driverq + +End of documentation driver file. +\endpostamble + +\keepsilent +\askforoverwritefalse + +\generate{\file{balance.sty}{\from{balance.dtx}{package}} + \file{balance.drv}{\usepreamble\driver\usepostamble\driverq + \from{balance.dtx}{driver}} + } + +\obeyspaces +\Msg{******************************************}% +\Msg{* For documentation, process balance.dtx *}% +\Msg{* or the driver file balance.drv *}% +\Msg{******************************************} + +\endbatchfile +\end{filecontents*} +%</install> +%<*driver> +\documentclass{ltxdoc} +%<driver>%\documentclass[twoside]{ltxdoc} +%<driver>%\documentclass[a4paper]{ltxdoc} +%<driver>%\documentclass[twoside,a4paper]{ltxdoc} +\raggedbottom + + %** To include the detailed explanation of the coding, comment out + %** the next line +\OnlyDescription + + %** To produce a command index: add the following line for one run, + %** then run makeindex -s gind.ist natbib + %** and reprocess, with or without this line (much faster without) +%<driver>% \EnableCrossrefs\CodelineIndex + + %** To produce a change history: add the following line for one run, + %** then run makeindex -s gglo.ist -o natbib.gls natbib.glo + %** and reprocess, with or without this line (faster without) +%<driver>% \RecordChanges + +\DisableCrossrefs %May stay; zapped by \EnableCrossrefs +\CodelineNumbered %May stay + +\begin{document} + \DocInput{balance.dtx} +\end{document} +%</driver> +% \fi +% +% \DoNotIndex{\begin,\CodelineIndex,\CodelineNumbered,\def,\DisableCrossrefs} +% \DoNotIndex{\DocInput,\documentclass,\EnableCrossrefs,\end,\GetFileInfo} +% \DoNotIndex{\NeedsTeXFormat,\OnlyDescription,\RecordChanges,\usepackage} +% \DoNotIndex{\ProvidesClass,\ProvidesPackage,\ProvidesFile,\RequirePackage} +% \DoNotIndex{\LoadClass,\PassOptionsToClass,\PassOptionsToPackage} +% \DoNotIndex{\DeclareOption,\CurrentOption,\ProcessOptions,\ExecuteOptions} +% \DoNotIndex{\AtEndOfClass,\AtEndOfPackage,\AtBeginDocument,\AtEndDocument} +% \DoNotIndex{\InputIfFileExists,\IfFileExists,\ClassError,\PackageError} +% \DoNotIndex{\ClassWarning,\PackageWarning,\ClassWarningNoLine} +% \DoNotIndex{\PackageWarningNoLine,\ClassInfo,\PackageInfo,\MessageBreak} +% \DoNotIndex{\space,\protect,\DeclareRobustCommand,\CheckCommand} +% \DoNotIndex{\newcommand,\renewcommand,\providecommand\newenvironment} +% \DoNotIndex{\renewenvironment,\newif,\newlength,\newcounter,\setlength} +% \DoNotIndex{\setcounter,\if,\ifx,\ifcase,\ifnum,\ifdim,\else,\fi} +% \DoNotIndex{\texttt,\textbf,\textrm,\textsl,\textsc} +% \DoNotIndex{\textup,\textit,\textmd,\textsf,\emph} +% \DoNotIndex{\ttfamily,\rmfamily,\sffamily,\mdseries,\bfseries,\upshape} +% \DoNotIndex{\slshape,\scshape,\itshape,\em,\LaTeX,\LaTeXe} +% \DoNotIndex{\filename,\fileversion,\filedate,\let} +% \DoNotIndex{\@@warning,\@M,\@colht,\@combinedblfloats,\@dblfloatplacement} +% \DoNotIndex{\@firstcolumnfalse,\@firstcolumntrue,\@leftcolumn,\@outputbox} +% \DoNotIndex{\@outputdblcol,\@outputpage,\@startdblcolumn,\@tempdima} +% \DoNotIndex{\@whilesw,\advance,\baselineskip,\begingroup,\box,\columnseprule} +% \DoNotIndex{\columnwidth,\copy,\dimen,\divide,\dp,\else,\endgroup,\fi} +% \DoNotIndex{\global,\hbox,\hfil,\hss,\ht,\if@fcolmade,\if@firstcolumn} +% \DoNotIndex{\if@twocolumn,\ifdim,\kern,\loop,\multiply,\newdimen} +% \DoNotIndex{\outputpenalty,\penalty,\repeat,\setbox,\splittopskip} +% \DoNotIndex{\string,\textwidth,\topskip,\unvbox,\vbadness,\vbox} +% \DoNotIndex{\vfil,\vrule,\vsplit} +% +% \setcounter{IndexColumns}{2} +% \setlength{\IndexMin}{10cm} +% \setcounter{StandardModuleDepth}{1} +% +% \GetFileInfo{balance} +% +% \title{\bfseries Balancing the Two Columns of Text on the Last Page} +% +% \author{Patrick W. Daly} +% +% \date{This paper describes package \texttt{\filename}\\ +% version \fileversion{} from \filedate\\[1ex] +% \textsl{It is part of the \texttt{preprint} collection of packages} +% } +% +% \maketitle +% +% \pagestyle{myheadings} +% \markboth{P. W. Daly}{BALANCING TWO COLUMN TEXT} +% +%^^A In order to keep all marginal notes on the one (left) side: +%^^A (otherwise they switch sides disasterously with twoside option) +% \makeatletter \@mparswitchfalse \makeatother +% +%\begin{small}\begin{center}\textbf{Summary}\end{center} +% The stripped version of this file contains the following brief description: +%\iffalse +%<*package&!subpack> +%\fi +% \begin{verbatim} + % In order to balance the columns on a page, \balance must be given + % somewhere within the first column. To turn off the feature, give + % \nobalance. One has to look at the unbalanced text first to decide + % where best to place \balance. +% \end{verbatim} +%\iffalse + %----------------------------------------------------------- +%</package&!subpack> +%\fi +%\end{small} +% +% \section{Introduction} +% When a \LaTeX{} document is to be set in two-column mode, one can +% add |twocolumn| as an option to |\documentstyle| (\LaTeX~2.09) +% or to |\documentclass| (\LaTeXe), or one can use the +% |\twocolumn| command in the text. In either case, the columns on the last +% page, or those before a |\cleardoublepage| command, will be of unequal +% height. This is because \LaTeX{} views the columns as pages which are +% just output as pairs, and it no longer knows about the left-hand column +% when a short right-hand one is finished. +% +% The macros in this package solve this problem by modifying the output +% routines in two-column mode. +% +% \section{Invoking the Package} +% The macros in this package are included in the main document +% with the |\usepackage| command of \LaTeXe, +% \begin{quote} +% |\documentclass[..,twocolumn,..]{...}|\\ +% |\usepackage{|\texttt{\filename}|}| +% \end{quote} +% There are no \LaTeXe{} options for this package. +% +% Alternatively, the name of the package is added as an option to the +% |\documentstyle| command in \LaTeX~2.09 compatibility mode, as +% \begin{quote} +% |\documentstyle[..,twocolumn,|\texttt{\filename}|..]{...}| +% \end{quote} +% +% \section{Usage} +% Including the \texttt{\filename} package as shown above does not activate it +% immediately. There are a number of reasons for this. +% \begin{enumerate} +% \item It could be that a newer (or much older) version of \LaTeX{} is +% being used for which the modified |\output| routines are +% incompatible; in this case, the new routines must be left inactive. +% +% \item Sometimes the modified output routine does not work well for normal +% pages, especially with floats (figures and tables) or footnotes. +% +% \end{enumerate} +% For these reasons, it is thought better to have the modified output +% routines left inactive, and to turn them on only when needed. +% \DescribeMacro{\balance} +% This is done with the command |\balance|, which should be issued +% somewhere in the text of what would be the first column of the last page +% without balanced columns. If it is issued too late, i.e., in the second +% column, then a warning message is printed that balancing may not take +% place. +% +% \DescribeMacro{\nobalance} +% To turn off the balancing routines, call |\nobalance|. This might be +% useful where there are many `last' pages, say at the end of book +% chapters. The |\balance| command should be given for each page that +% needs balancing, and then turned off at the end of the second column. +% +% It might well be that |\balance| can be left on all the time, but one +% should check the output carefully, and turn it off if need be. +% +% \section{An Alternative} +% Making multicolumn text with Mittelbach's {\tt multicol} package is +% perhaps a better method. It balances automatically, and allows more than +% just two columns. Never use \texttt{\filename} together with {\tt multicol}! +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \section{Options with \texttt{docstrip}} +% The source \texttt{.dtx} file is meant to be processed with +% \texttt{docstrip}, for which a number of options are available: +% \begin{description} +% \item[\tt package] to produce a \texttt{.sty} package file with most +% comments removed; +% \item[\tt 209] for a package file that will also run under the older +% \LaTeX~2.09 and not just under the newer (mid-1994) \LaTeXe; +% \item[\tt subpack] (together with \texttt{package}) for coding that is to +% be included inside a larger package; even more comments are removed, +% as well as \LaTeXe{} option handling and identification; +% \item[\tt driver] to produce a driver \texttt{.drv} file that will print +% out the documentation under \LaTeXe; with the \texttt{209} option, +% a driver \texttt{.209} file is also produced, for printing the +% documentation under \LaTeX~2.09. +% \end{description} +% The source file \texttt{\filename.dtx} is itself a driver file and can +% be processed directly by \LaTeXe. +% +% \section{The Coding} +% This section presents and explains the actual coding of the macros. +% It is nested between |%<*package>| and |%</package>|, which +% are indicators to \texttt{docstrip} that this coding belongs to the package +% file. +% +% The \texttt{docstrip} option |<subpack>| should only be called if the +% coding is to be included as part of another package, in which case the +% announcement text and \LaTeXe{} options are suppressed. +% +% An inferior version of this coding is provided for running as a +% style file under \LaTeX~2.09. Code lines belonging to this are +% indicated with guard |<209>|; those for LaTeXe{} only with |<!209>|. +% +% \subsection{Altering the Standard {\tt\bslash output} Routines} +% The column balancing procedure here involves making changes to the +% standard output routines in \LaTeX. I normally do not like assuming +% anything from {\tt latex.tex} because it may have been different in +% earlier versions, and may change again. There I try as much as possible +% to save current definitions of internal macros and then simply add +% revisions. +% +% In this case, that is not possible. I have had to take the routine +% |\@outputdblcol| from \LaTeX{} version 2.09, (1992 March~25) as basis. +% However, I notice that they have not changed for many versions, so that +% maybe there is some stability here. +% +% The newer \LaTeXe{} version (1994 Dec.~01) also has the same definition +% of |\@outputdblcol|, so there should be no problems of compatibility +% here. +% +% In earlier versions of \texttt{\filename}, |\@outputdblcol| was changed +% such that +% a flag would activate the new coding if set, otherwise the old coding +% took place. This assumes that the `old' coding is known, because I give +% it explicitly in the new definition. This is where problems could arise +% if |\@outputdblcol| is ever changed. +% +% I now do this differently. The old definition of |\@outputdblcol| is +% stored (without knowing what it is), and the |\balance| command redefines +% it. Without giving |\balance|, one has the default output routines as +% though \texttt{\filename} were never selected. This gives the user the +% chance to turn everything off if any problems should arise. +% +% Since the balancing act does not always work for normal pages (where the +% two columns are full) especially when floats are involved, it is better +% to turn it on with |\balance| only where it is needed. It may then be +% turned off again with |\nobalance|. +% +% \subsection{The Principle Behind Balancing Columns} +% Let me first explain how |\@outputdblcol| normally works. By the time it +% is called, the accumulated text for the `page' (\TeX{} considers each +% column to be a page at this point) is contained in the box |\@outputbox|. +% The routine checks if this is the first column, and if so stuffs +% |\@outputbox| into the box |\@leftcolumn|; it then toggles the +% |\if@firstcolumn| flag. On the next call to |\@outputdblcol|, it combines +% |\@leftcolumn| with |\@outputbox| side by side on a single page, all +% stored in |\@outputbox|. +% +% For column balancing, the procedure is slightly different. If it is the +% first column, then the height of the column (|\@colht| = |\textheight| +% minus double-column floats and footnotes) is doubled and the contents of +% |\@outputbox| are dumped back into the processing. The height must be +% doubled temporarily to allow this, otherwise the |\output| routines will +% be immediately called again. On the second column, the new routine +% |\@BAlancecol| is called to split |\@outputbox| into two equally high +% pieces of text, stored in |\@leftcolumn| and |\@outputbox|, which are +% then placed side by side as usual. +% +% \subsection{Macro Definitions} +% \begin{macro}{\@BAlancecol} +% \changes{4.0}{1993 Nov 1}{Add \cmd{\vfil} after +% \cmd{\unvbox1} to prevent underfull vbox} +% \changes{4.1}{1994 May 16}{New name for \cmd{\@balancecol}, to conform +% more with newer conventions for package programming.} +% \changes{4.1a}{1994 Jun 22}{Use \cmd{\newcommand} instead of \cmd{\def}} +% We begin by defining |\@BAlancecol|, the routine that splits +% |\@outputbox| into two nearly equally high boxes, which are then stored +% in boxes |\@leftcolumn| and |\@outputbox|. This routine is almost +% identical with that of Knuth in the \TeX{}Book (macro |\balancecolumns| +% on page~417). The loop keeps going until the first column is less than +% the second in height, making 1~pt changes in the specification each time. +% \begin{macrocode} +%<*package> +\newcommand{\@BAlancecol}{\if@twocolumn + \setbox0=\vbox{\unvbox\@outputbox} \@tempdima=\ht0 + \advance\@tempdima by \topskip \advance\@tempdima + by -\baselineskip \divide\@tempdima by 2 + \splittopskip=\topskip + {\vbadness=\@M \loop \global\setbox3=\copy0 + \global\setbox1=\vsplit3 to \@tempdima + \ifdim\ht3>\@tempdima \global\advance\@tempdima by 1pt \repeat} + \setbox\@leftcolumn=\vbox to \@tempdima{\unvbox1\vfil} + \setbox\@outputbox=\vbox to \@tempdima + {\dimen2=\dp3\unvbox3\kern-\dimen2 + \vfil} + \fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@BAdblcol} +% \changes{4.1}{1994 May 16}{New name for \cmd{\@baldblcol}, to conform +% more with newer conventions for package programming.} +% \changes{4.1a}{1994 Jun 22}{Use \cmd{\newcommand} instead of \cmd{\def}} +% \changes{4.1a}{1994 Jun 22}{Use \cmd{\PackageWarningNoLine} instead of +% \cmd{\@@warning}} +% Now define the revised routine |\@outputdblcol|, and name it +% |\@BAdblcol|. In the first column, it just puts |\@outputbox| back into +% the processing with a doubled column height (|\@colht|). In the second +% column, it calls |\@BAlancecol| and the places the boxes |\@leftcolumn| +% and |\@outputbox| side by side in almost the same way that the original +% |\@outputdblcol| does. The difference is that the final vbox is made to +% be |\@colht| high and a |\vfil| must be added below to fill up the +% missing space. In the original, the column boxes themselves are |\@colht| +% high, so this is not necessary. If this feature were left off, then the +% final box would not have the correct height, something that is noticeable +% when a footline is added at the bottom. +% \begin{macrocode} +\newif\if@BAlanceone +\global\@BAlanceonefalse +\newdimen\oldvsize +\newcommand{\@BAdblcol}{\if@firstcolumn + \unvbox\@outputbox \penalty\outputpenalty + \global\oldvsize=\@colht \global\multiply \@colht by 2 + \global\@BAlanceonetrue + \global\@firstcolumnfalse + \else \global\@firstcolumntrue + \if@BAlanceone + \global\@BAlanceonefalse\@BAlancecol + \global\@colht=\oldvsize \else +%<!209> \PackageWarningNoLine{balance} +%<209> \@@warning + {You have called \protect\balance\space +%<!209> in second column\MessageBreak +%<209> in second column^^J + Columns might not be balanced}\fi + \setbox\@outputbox\vbox to \@colht{\hbox to\textwidth + {\hbox to\columnwidth {\box\@leftcolumn \hss}\hfil + \vrule width\columnseprule\hfil \hbox to\columnwidth + {\box\@outputbox \hss}}\vfil}\@combinedblfloats + \@outputpage \begingroup \@dblfloatplacement + \@startdblcolumn \@whilesw\if@fcolmade \fi + {\@outputpage\@startdblcolumn}\endgroup + \fi} +% \end{macrocode} +% The flag |\if@BAlanceone| seems redundant, since it is always the +% complement of |\if@firstcolumn|. However, its function is to ensure that +% the |\balance| command, that activates |\@BAdblcol|, actually occurs +% before the first column of text is completed. If this is not the case, if +% |\balance| is issued too late, then the procedure cannot function. In +% this case, |\@BAdblcol| is entered with both |\if@firstcolumn| and +% |\if@BAlanceone| set \meta{false}, so that the call to |\@BAlancecol| is +% suppressed and warning message is printed. +% \end{macro} +% +% \begin{macro}{\cleardoublepage} +% \changes{4.2}{1995 Nov 07}{Add revised definition for balanced mode} +% A new version of |\cleardoublepage| is necessary when |\balance| is +% active. The regular command adds two |\newpage| commands on an even page +% in two column mode, since each |\newpage| only starts a new column. +% However, when |\balance| is active, each |\newpage| makes two balanced +% columns, to it actually starts a new page, and not just a new column. +% \begin{macrocode} +\newcommand{\@BAcleardblpage}{\clearpage\if@twoside \ifodd\c@page\else + \hbox{}\newpage\fi\fi} +\newcommand{\@@cleardblpage}{} +\let\@@cleardblpage=\cleardoublepage +% \end{macrocode} +% \end{macro} +% + +% \begin{macro}{\balance} +% \changes{4.0}{1993 Oct 20}{Change from setting flag to redefining output +% routine.} +% \changes{4.1a}{1994 Jun 22}{Use \cmd{\newcommand} instead of \cmd{\def}} +% \changes{4.2}{1995 Nov 07}{Add revised \cmd{\cleardoublepage}} +% The command that activates the balancing replaces |\@outputdblcol| +% with the new |\@BAdblcol|. +% \begin{macrocode} +\newcommand{\@@utputdblcol}{} +\let\@@utputdblcol=\@outputdblcol +\newcommand{\balance}{\global\let\@outputdblcol=\@BAdblcol + \global\let\cleardoublepage=\@BAcleardblpage} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\nobalance} +% \changes{4.0}{1993 Oct 20}{Change from setting flag to restoring +% original output routine.} +% \changes{4.1a}{1994 Jun 22}{Use \cmd{\newcommand} instead of \cmd{\def}} +% \changes{4.2}{1995 Nov 07}{Add revised \cmd{\cleardoublepage}} +% To turn off the balancing routine, call |\nobalance|. +% \begin{macrocode} +\newcommand{\nobalance}{\global\let\@outputdblcol=\@@utputdblcol + \global\let\cleardoublepage=\@@cleardblpage} +%</package> +% \end{macrocode} +% \end{macro} +% +% \Finale |