diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tools/multicol.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tools/multicol.dtx | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/Master/texmf-dist/source/latex/tools/multicol.dtx b/Master/texmf-dist/source/latex/tools/multicol.dtx index c64c9901e89..28523c3fef5 100644 --- a/Master/texmf-dist/source/latex/tools/multicol.dtx +++ b/Master/texmf-dist/source/latex/tools/multicol.dtx @@ -91,7 +91,7 @@ %<driver> \ProvidesFile{multicol.drv} % \fi % \ProvidesFile{multicol.dtx} - [2016/04/07 v1.8p multicolumn formatting (FMi)] + [2017/04/11 v1.8q multicolumn formatting (FMi)] % % %% @@ -1479,6 +1479,25 @@ % \begin{macrocode} \reinsert@footnotes % \end{macrocode} +% Inside \mc{} a |\clearpage| is fairly useless as we aren't supporting +% floats. In fact, it can cause harm as it doesn't know about the +% |\partial@page| and may therefore result in making columns too long. +% So we change that to bahve like |\newpage| but also check if there +% are any deferred floats. If so, perhaps the user tried to place them through +% that |\clearpage| (but that needs to be done before starting the \mc{} +% environment. +% \changes{v1.8q}{2017/04/11}{Make \cs{clearpage} behave like \cs{newpage} (pr/4511)} +% \begin{macrocode} + \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.}% + \fi + \newpage}% +% \end{macrocode} % All the code above was only necessary for the unrestricted \mc{} % version, i.e.\ the one that allows page breaks. If we are within % a box there is no point in setting up special output routines or |