Skip to content

Commit

Permalink
fix for SX624940
Browse files Browse the repository at this point in the history
  • Loading branch information
FrankMittelbach committed Dec 5, 2021
1 parent 8b2d6b7 commit 87a3023
Show file tree
Hide file tree
Showing 7 changed files with 315 additions and 4 deletions.
2 changes: 1 addition & 1 deletion base/doc/ltnews34.tex
Expand Up @@ -831,7 +831,7 @@ \subsection{\pkg{varioref}: Improved handling of missing labels}
arguments; this could cause low-level errors in some cases.
The code has therefore now been changed to avoid these errors.
%
\sxissue{603948}
\sxissue{q/603948}


\medskip
Expand Down
9 changes: 9 additions & 0 deletions base/doc/ltnews35.tex
Expand Up @@ -191,6 +191,15 @@ \subsection{???}

\section{Changes to packages in the \pkg{tools} category}

\subsection{\pkg{multicol}: Fix \cs{newcolumn}}

The recently added \cs{newcolumn} didn't work properly if used in
vertical mode, where it behaved like \cs{columnbreak}, i.e., spreading
the column material out instead running the column short.
%
\sxissue{q/624940}


\subsection{???}
%
\githubissue{???}
Expand Down
5 changes: 5 additions & 0 deletions required/tools/changes.txt
Expand Up @@ -5,6 +5,11 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================

2021-12-05 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* multicol.dtx (subsection{Manual column breaking} \label{sec:colbreak}):
Added a missing guard in \newcolumn -- it only worked in hmode (sx/624940)

2021-11-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* multicol.dtx: Added rollback to v1.8 (2019-10-01 release)
Expand Down
8 changes: 6 additions & 2 deletions required/tools/multicol.dtx
Expand Up @@ -99,7 +99,7 @@
%<driver> \ProvidesFile{multicol.drv}
% \fi
% \ProvidesFile{multicol.dtx}
[2021/11/30 v1.9c multicolumn formatting (FMi)]
[2021/11/30 v1.9d multicolumn formatting (FMi)]
%
%
%%
Expand Down Expand Up @@ -4151,7 +4151,11 @@
a multicols or multicols* environment.}%
\else
\ifvmode
\nobreak\vfill\penalty -\@Mv\relax
% \end{macrocode}
% We need to guard the \cs{vfill} from disappearing}.
% \changes{v1.9d}{2021/12/05}{Guard the \cs{vfill} (sx/624940)}
% \begin{macrocode}
\nobreak\vfill\kern\z@\penalty -\@Mv\relax
\else
\@bsphack
\vadjust{\nobreak\vfill\kern\z@\penalty -\@Mv\relax}%
Expand Down
28 changes: 28 additions & 0 deletions required/tools/testfiles/sx624940.lvt
@@ -0,0 +1,28 @@

\input{test2e}

\documentclass{article}

\usepackage[balancingshow]{multicol}

\begin{document}

\START

\begin{multicols}{2}
\begin{center}
\Huge A\\B\\C % big picture
\end{center}
\newcolumn
\par a \par\bigskip b \par % little explanation
\end{multicols}

\begin{multicols}{2}
\par a \par\bigskip b \par % little explanation
\newcolumn
\begin{center}
\Huge A\\B\\C % big picture
\end{center}
\end{multicols}

\end{document}
265 changes: 265 additions & 0 deletions required/tools/testfiles/sx624940.tlg
@@ -0,0 +1,265 @@
This is a generated file for the LaTeX2e validation system.
Don't change this file in any respect.
Package multicol: Starting environment with 2 columns on input line ....
Package multicol: Current page:
(multicol) height=16383.99998pt: used 0.0pt -> free=16383.99998pt
(multicol) needed 50.0pt (for \premulticols ) on input line ....
Package multicol: Forced column break seen on input line ....
Package multicol: End penalty of multicols seen on input line ....
Package multicol: Re-adding forced break(s) in balancing on input line ....
Package multicol: Balance columns on input line ...:
Column 1 badness: 10000
First column = 58.0pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Retry: using natural height of first column!
Column 1 badness: 0
First column = 46.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 12
First column = 47.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 100
First column = 48.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 336
First column = 49.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 800
First column = 50.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 1558
First column = 51.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 2698
First column = 52.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 4279
First column = 53.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 6396
First column = 54.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 10000
First column = 55.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 10000
First column = 56.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 10000
First column = 57.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 10000
First column = 58.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 10000
First column = 59.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: last column too large!
Column 1 badness: 10000
First column = 60.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 61.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 62.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 63.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 64.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 65.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 66.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 67.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 68.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 69.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 70.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 71.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 72.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 73.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 74.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 10000
First column = 75.99782pt (46.99782pt) <> last column = 60.99782pt
Rejected: unprocessed forced break(s) in last column!
Column 1 badness: 0
First column = 76.99782pt (76.99782pt) <> last column = 34.0pt
Final badness: 10000 setting natural (> 9999)
Package multicol: Column spec: 345.0pt = indent + columns + sep =
(multicol) 0.0pt + 2 x 167.5pt + 1 x 10.0pt on input line ....
Package multicol: Current page:
(multicol) height=550.0pt: used 76.99782pt -> free=473.00218pt
(multicol) needed 20.0pt (for \postmulticols ) on input line ....
Package multicol: Ending environment on input line ....
Package multicol: Starting environment with 2 columns on input line ....
Package multicol: Current page:
(multicol) height=550.0pt: used 76.99782pt -> free=473.00218pt
(multicol) needed 50.0pt (for \premulticols ) on input line ....
Package multicol: Forced column break seen on input line ....
Package multicol: End penalty of multicols seen on input line ....
Package multicol: Re-adding forced break(s) in balancing on input line ....
Package multicol: Balance columns on input line ...:
Column 1 badness: 0
First column = 46.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Retry: using natural height of first column!
Column 1 badness: 0
First column = 34.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 35.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 36.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 37.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 38.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 39.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 40.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 41.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 42.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 43.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 44.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 45.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 46.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 47.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 48.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 49.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 50.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 51.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 52.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 53.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 54.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 55.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 56.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 57.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 58.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 59.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 60.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 61.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 62.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 63.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 64.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 65.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 66.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 67.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 68.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 69.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 70.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 71.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 72.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 73.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 74.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 75.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 76.0pt (34.0pt) <> last column = 76.99782pt
Rejected: last column too large!
Column 1 badness: 0
First column = 77.0pt (34.0pt) <> last column = 76.99782pt
Final badness: 0
Package multicol: Column spec: 345.0pt = indent + columns + sep =
(multicol) 0.0pt + 2 x 167.5pt + 1 x 10.0pt on input line ....
Package multicol: Current page:
(multicol) height=550.0pt: used 167.99782pt -> free=382.00218pt
(multicol) needed 20.0pt (for \postmulticols ) on input line ....
Package multicol: Ending environment on input line ....
[1
] (sx624940.aux)
2 changes: 1 addition & 1 deletion required/tools/testfiles/tlb-multicol-006.lvt
@@ -1,4 +1,4 @@
% testing rolback a bit
% testing rollback a bit

\input{test2e}

Expand Down

0 comments on commit 87a3023

Please sign in to comment.