[latex3-commits] [git/LaTeX3-latex3-latex2e] sx624940: fix for SX624940 (87a30237)

Frank Mittelbach frank.mittelbach at latex-project.org
Sun Dec 5 11:50:10 CET 2021


Repository : https://github.com/latex3/latex2e
On branch  : sx624940
Link       : https://github.com/latex3/latex2e/commit/87a3023785f170b998bd9d977cab2cab3232ad40

>---------------------------------------------------------------

commit 87a3023785f170b998bd9d977cab2cab3232ad40
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Sun Dec 5 11:50:10 2021 +0100

    fix for SX624940


>---------------------------------------------------------------

87a3023785f170b998bd9d977cab2cab3232ad40
 base/doc/ltnews34.tex                         |   2 +-
 base/doc/ltnews35.tex                         |   9 +
 required/tools/changes.txt                    |   5 +
 required/tools/multicol.dtx                   |   8 +-
 required/tools/testfiles/sx624940.lvt         |  28 +++
 required/tools/testfiles/sx624940.tlg         | 265 ++++++++++++++++++++++++++
 required/tools/testfiles/tlb-multicol-006.lvt |   2 +-
 7 files changed, 315 insertions(+), 4 deletions(-)

diff --git a/base/doc/ltnews34.tex b/base/doc/ltnews34.tex
index fe3f7b21..e50c0393 100644
--- a/base/doc/ltnews34.tex
+++ b/base/doc/ltnews34.tex
@@ -831,7 +831,7 @@ brace groups inside \cs{r@}\meta{label}) However, if \pkg{nameref} or
 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
diff --git a/base/doc/ltnews35.tex b/base/doc/ltnews35.tex
index 6b5d4816..038456f8 100644
--- a/base/doc/ltnews35.tex
+++ b/base/doc/ltnews35.tex
@@ -191,6 +191,15 @@ interfaces for user defined \texttt{list} callbacks.
 
 \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{???}
diff --git a/required/tools/changes.txt b/required/tools/changes.txt
index 80fb8d76..d209f424 100644
--- a/required/tools/changes.txt
+++ b/required/tools/changes.txt
@@ -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 at 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 at latex-project.org>
 
 	* multicol.dtx: Added rollback to v1.8 (2019-10-01 release)
diff --git a/required/tools/multicol.dtx b/required/tools/multicol.dtx
index c83b6c8e..0140c630 100644
--- a/required/tools/multicol.dtx
+++ b/required/tools/multicol.dtx
@@ -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)]
 %
 %
 %%
@@ -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}%
diff --git a/required/tools/testfiles/sx624940.lvt b/required/tools/testfiles/sx624940.lvt
new file mode 100644
index 00000000..844d8b1c
--- /dev/null
+++ b/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}
diff --git a/required/tools/testfiles/sx624940.tlg b/required/tools/testfiles/sx624940.tlg
new file mode 100644
index 00000000..a6cf4f1f
--- /dev/null
+++ b/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)
diff --git a/required/tools/testfiles/tlb-multicol-006.lvt b/required/tools/testfiles/tlb-multicol-006.lvt
index 9f60eb23..6d997852 100644
--- a/required/tools/testfiles/tlb-multicol-006.lvt
+++ b/required/tools/testfiles/tlb-multicol-006.lvt
@@ -1,4 +1,4 @@
-% testing rolback a bit
+% testing rollback a bit
 
 \input{test2e}
 





More information about the latex3-commits mailing list.