diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tools/multicol.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tools/multicol.sty | 121 |
1 files changed, 77 insertions, 44 deletions
diff --git a/Master/texmf-dist/tex/latex/tools/multicol.sty b/Master/texmf-dist/tex/latex/tools/multicol.sty index c0de0fe6823..4f11a7584fc 100644 --- a/Master/texmf-dist/tex/latex/tools/multicol.sty +++ b/Master/texmf-dist/tex/latex/tools/multicol.sty @@ -107,7 +107,7 @@ \DeclareCurrentRelease{}{2018-04-01} \ProvidesPackage{multicol} - [2019/12/09 v1.8y multicolumn formatting (FMi)] + [2021/10/28 v1.9b multicolumn formatting (FMi)] %% \DeclareOption{twocolumn} {\PackageWarning{multicol}{May not work @@ -124,7 +124,8 @@ \DeclareOption{debugshow} {\c@tracingmulticols5\relax} \let\mc@gridwarn\maxdimen -\DeclareOption{grid}{\def\mc@gridwarn{\@maxdepth}} +\DeclareOption{grid} + {\def\mc@gridwarn{\@maxdepth}} \DeclareOption{colaction}{% \def\mc@col@status@write{% \protected@write\@auxout{}% @@ -153,7 +154,8 @@ \MessageBreak I therefore use 20 columns instead}% \col@number20 \fi - \ifx\@footnotetext\mult@footnotetext\else + \ifx\@footnotetext\mult@footnotetext + \else \let\orig@footnotetext\@footnotetext \let\@footnotetext\mult@footnotetext \fi @@ -267,10 +269,13 @@ \def\clearpage{% \ifx\@deferlist\@empty\else \PackageError{multicol}% - {Deferred floats not cleared}% - {A \string\clearpage\space inside multicols acts like - \string\newpage\space and doesn't clear floats.\MessageBreak - Move it before the multicols environment if you need it.}% + {Deferred floats not cleared}% + {A \string\clearpage\space inside + multicols acts like + \string\newpage\space and doesn't + clear floats.\MessageBreak + Move it before the multicols + environment if you need it.}% \fi \newpage}% \fi @@ -302,10 +307,12 @@ #1\advance\vsize \c@collectmore\baselineskip} \newdimen\multicol@leftmargin -\mathchardef\@Mvi=10006 % 10005 is \columnbreak +\mathchardef\@Mvi=10006 % 10005 is + % \columnbreak \def\endmulticols{\par \if@boxedmulticols - \remove@discardable@items\color@endgroup\egroup + \remove@discardable@items + \color@endgroup\egroup \balance@columns \return@nonemptymark{first}% \kept@firstmark @@ -320,7 +327,7 @@ {Restore kept marks to\MessageBreak first: \meaning\kept@firstmark \MessageBreak bot\space\space: - \meaning\kept@botmark }% + \meaning\kept@botmark }% \else \ifdim\pagegoal=\maxdimen \ifvoid\colbreak@box\else @@ -421,7 +428,7 @@ \def\reinsert@footnotes{\ifvoid\footins\else \insert\footins{}\fi} \def\vfilmaxdepth{\vskip \z@ \@plus .0001fil - \@minus \@maxdepth} + \@minus \@maxdepth} \def\multi@column@out{% \ifnum\outputpenalty <-\@M \speci@ls \else @@ -441,21 +448,21 @@ \ifvoid\footins \else \leave@mult@footins \fi - \ifvbox \@kludgeins \advance \dimen@ -\ht\@kludgeins \ifdim \wd\@kludgeins>\z@ \shr@nkingtrue \fi \fi - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% \setbox\count@ \vsplit\@cclv to\dimen@ \set@keptmarks \setbox\count@ \vbox to\dimen@ {\unvbox\count@ - \ifshr@nking\vfilmaxdepth\fi}% + \ifshr@nking + \vfilmaxdepth\fi}% }% \setbox\mult@rightbox \vsplit\@cclv to\dimen@ @@ -561,8 +568,11 @@ \reinsert@footnotes \else \ifnum\outputpenalty = -\@Mvi - \mult@info\@ne{End penalty of multicols seen}% - \outputpenalty\@M % pretend we had a natural forced break + \mult@info\@ne{End penalty of + multicols seen}% + \outputpenalty\@M % pretend we had + % a natural + % forced break \balance@columns@out \else \PackageWarningNoLine{multicol}% @@ -570,7 +580,8 @@ allowed inside `multicols' environment!}% \unvbox\@cclv\reinsert@footnotes - \xdef\@freelist{\@freelist\@currlist}% + \xdef\@freelist{\@freelist + \@currlist}% \gdef\@currlist{}% \fi \fi @@ -618,10 +629,12 @@ \else \global\vsize\@colroom \global\advance\vsize\ht\partial@page - \ifvbox\@kludgeins\insert\@kludgeins - {\unvbox\@kludgeins}\fi + \ifvbox\@kludgeins + \insert\@kludgeins + {\unvbox\@kludgeins}\fi \unvbox\partial@page - \return@nonemptymark{first}\kept@firstmark + \return@nonemptymark{first}% + \kept@firstmark \return@nonemptymark{bot}\kept@botmark \page@sofar \penalty\z@ @@ -651,12 +664,14 @@ \advance\dimen@-\baselineskip \fi \@tempdima\dimexpr - \topskip +\c@minrows\baselineskip-\baselineskip\relax + \topskip +\c@minrows\baselineskip + -\baselineskip\relax \ifnum\dimen@<\@tempdima \mult@info\@ne {Start value \the\dimen@ \space -> - \the\@tempdima \space (corrected for minrows)}% + \the\@tempdima \space + (corrected for minrows)}% \dimen@\@tempdima \fi \advance\dimen@\c@unbalance\baselineskip @@ -683,7 +698,7 @@ \copy\mult@box \too@badfalse \forcedbreak@leftoverfalse - {\process@cols\mult@firstbox{% + {\process@cols\mult@gfirstbox{% \global\setbox\count@ \vsplit\mult@grightbox to\dimen@ \global\setbox\count@ @@ -708,7 +723,7 @@ \global\setbox\mult@grightbox \vbox{\unvbox\mult@grightbox}% \setbox\mult@nat@firstbox - \vbox{\unvcopy\mult@firstbox}% + \vbox{\unvcopy\mult@gfirstbox}% \ifnum\c@tracingmulticols>\@ne \message{^^JFirst column = \the\dimen@\space @@ -821,13 +836,15 @@ \newdimen\maxbalancingoverflow \maxbalancingoverflow=12pt -\ifnum\numexpr \count20-\count14-1<41 % = 2 * 20 + 1 +\ifnum\numexpr + \count20-\count14-1<40 + % this is = 2 * 20 \count14=\@cclv \fi \newbox\mult@rightbox \newbox\mult@grightbox -\newbox\mult@gfirstbox \newbox\mult@firstbox +\newbox\mult@gfirstbox \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa @@ -846,7 +863,6 @@ \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa -\newbox\@tempa \let\@tempa\relax \@ifundefined{emergencystretch} {\newdimen\emergencystretch}{} @@ -982,24 +998,41 @@ \fi \end{multicols}} \mathchardef\@Mv=10005 -\def\columnbreak{% - \ifnum\col@number<\tw@ - \PackageError{multicol}% - {\noexpand\columnbreak outside multicols}% - {This command can only be used within - a multicols or multicols* environment.}% - \else - \ifvmode - \penalty -\@Mv\relax +\newcommand\columnbreak[1][4]{% + \ifnum\col@number<\tw@ + \PackageError{multicol}% + {\noexpand\columnbreak outside multicols}% + {This command can only be used within + a multicols or multicols* environment.}% + \else + \edef\mc@break@pen +{-\ifcase#1\@m\or 3333\or 6666\or 9999\else\@Mv\fi\relax}% + \ifvmode + \penalty \mc@break@pen + \else + \@bsphack + \vadjust{\penalty \mc@break@pen}% + \@esphack + \fi + \fi} +\newcommand\newcolumn{% + \ifnum\col@number<\tw@ + \PackageError{multicol}% + {\noexpand\newcolumn outside multicols}% + {This command can only be used within + a multicols or multicols* environment.}% \else - \@bsphack - \vadjust{\penalty -\@Mv\relax}% - \@esphack - \fi - \fi} + \ifvmode + \nobreak\vfill\penalty -\@Mv\relax + \else + \@bsphack + \vadjust{\nobreak\vfill\kern\z@\penalty -\@Mv\relax}% + \@esphack + \fi + \fi} \newbox\colbreak@box \def\LR@column@boxes{% - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% \ifdim\dp\count@>\dimen\tw@ \global\dimen\tw@\dp\count@ \fi \mc@col@status@write @@ -1013,13 +1046,13 @@ } \def\RL@column@boxes{% - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% \hskip\hsize \hss{\columnseprulecolor\vrule \@width\columnseprule}\hss }% \hskip\hsize - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% \ifdim\dp\count@>\dimen\tw@ \global\dimen\tw@\dp\count@ \fi \hskip-\hsize |