[latex3-commits] [latex2e-public] r1455 - newpage prevdepth fix

noreply at latex-project.org noreply at latex-project.org
Tue Apr 11 22:36:43 CEST 2017


Author: carlisle
Date: 2017-04-11 22:36:43 +0200 (Tue, 11 Apr 2017)
New Revision: 1455

Added:
   trunk/base/testfiles/tlb-newpage-001.lvt
   trunk/base/testfiles/tlb-newpage-001.tlg
Modified:
   trunk/base/changes.txt
   trunk/base/ltoutput.dtx
   trunk/doc/latexchanges.tex
Log:
newpage prevdepth fix

Modified: trunk/base/changes.txt
===================================================================
--- trunk/base/changes.txt	2017-04-11 18:00:24 UTC (rev 1454)
+++ trunk/base/changes.txt	2017-04-11 20:36:43 UTC (rev 1455)
@@ -9,6 +9,11 @@
 #########################
 
 
+2017-04-11  David Carlisle  <latex-bugs at latex-project.org>
+
+	* ltoutput.dtx: add a test on the value of \prevdepth
+	so that the depth of the last line is preserved in forced page breaks.
+
 2017-04-10  David Carlisle  <latex-bugs at latex-project.org>
 
 	* ltplain.dtx: fix code to skip write18 for luatex.

Modified: trunk/base/ltoutput.dtx
===================================================================
--- trunk/base/ltoutput.dtx	2017-04-11 18:00:24 UTC (rev 1454)
+++ trunk/base/ltoutput.dtx	2017-04-11 20:36:43 UTC (rev 1455)
@@ -30,14 +30,14 @@
 %%% From File: ltoutput.dtx
 %<flafter>\ProvidesPackage{flafter}
 %<fltrace>\ProvidesPackage{fltrace}
-%<flafter,fltrace>       [2017/03/10 v1.3c
+%<flafter,fltrace>       [2017/04/11 v1.4a
 %<flafter>                  Standard LaTeX floats after reference (FMi)]
 %<fltrace>                  Tracing LaTeX floats algorithm (FMi)]
 %
 %<*driver>
 % \fi
 \ProvidesFile{ltoutput.dtx}
-             [2017/03/10 v1.3c LaTeX Kernel (Output Routine)]
+             [2017/04/11 v1.4a LaTeX Kernel (Output Routine)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltoutput.dtx}
@@ -962,6 +962,7 @@
 % \changes{v1.1z}{1996/10/24}{Better checks for noskipsec and
 %                 inlabel added, plus nobreak}
 % \changes{v1.2a}{1996/10/25}{Reset all flags explicitly}
+% \changes{v2.4a}{2017/04/11}{account for the depth of teh last row of the page}
 %    The two checks at the beginning ensure that an item label or
 %    run-in section title immediately before a |\newpage| get printed
 %    on the correct page, the one before the page break.
@@ -970,6 +971,10 @@
 %    that is why they all reset the flags explicitly, even when it
 %    would appear that this would be done by a |\leavevmode|.
 %    \begin{macrocode}
+%</2ekernel|fltrace>
+%<latexrelease>\IncludeInRelease{2017/04/15}%
+%<latexrelease>                 {\newpage}{Check depth of page}%
+%<*2ekernel|latexrelease|fltrace>
 \def \newpage {%
   \if at noskipsec
     \ifx \@nodocument\relax
@@ -983,8 +988,37 @@
   \fi
   \if at nobreak \@nobreakfalse \everypar{}\fi
   \par
+  \ifdim\prevdepth>\z@
+     \vskip -%
+       \ifdim\prevdepth>\maxdepth
+         \maxdepth
+       \else
+         \prevdepth
+       \fi
+  \fi
   \vfil
   \penalty -\@M}
+%</2ekernel|latexrelease|fltrace>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\newpage}{Check depth of page}%
+%<latexrelease>\def \newpage {%
+%<latexrelease>  \if at noskipsec
+%<latexrelease>    \ifx \@nodocument\relax
+%<latexrelease>      \leavevmode
+%<latexrelease>      \global \@noskipsecfalse
+%<latexrelease>    \fi
+%<latexrelease>  \fi
+%<latexrelease>  \if at inlabel
+%<latexrelease>    \leavevmode
+%<latexrelease>    \global \@inlabelfalse
+%<latexrelease>  \fi
+%<latexrelease>  \if at nobreak \@nobreakfalse \everypar{}\fi
+%<latexrelease>  \par
+%<latexrelease>  \vfil
+%<latexrelease>  \penalty -\@M}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel|fltrace>
 %    \end{macrocode}
 %  \end{macro}
 %

Added: trunk/base/testfiles/tlb-newpage-001.lvt
===================================================================
--- trunk/base/testfiles/tlb-newpage-001.lvt	                        (rev 0)
+++ trunk/base/testfiles/tlb-newpage-001.lvt	2017-04-11 20:36:43 UTC (rev 1455)
@@ -0,0 +1,26 @@
+\documentclass[twocolumn]{article}
+\setlength\textwidth{25pt}
+\setlength\parindent{0pt}
+\input{test2e}
+
+\begin{document}
+\showoutput
+\showboxdepth=5
+
+% The glue fill in 2nd col should be 24.0fill not  22.05556fill 
+% (taking acccount of depth)
+% \newpage fix at 2017-04-15
+
+\START
+
+\def\a{p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\\p\par}
+
+\a\a\a
+
+\vfill
+
+\a\a
+
+
+
+\end{document}
\ No newline at end of file

Added: trunk/base/testfiles/tlb-newpage-001.tlg
===================================================================
--- trunk/base/testfiles/tlb-newpage-001.tlg	                        (rev 0)
+++ trunk/base/testfiles/tlb-newpage-001.tlg	2017-04-11 20:36:43 UTC (rev 1455)
@@ -0,0 +1,28 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+Completed box being shipped out [1]
+\vbox(633.0+0.0)x25.0
+.\glue 16.0
+.\vbox(617.0+0.0)x25.0
+..\vbox(12.0+0.0)x25.0, glue set 12.0fil
+...\glue 0.0 plus 1.0fil
+...\hbox(0.0+0.0)x25.0
+..\glue 25.0
+..\glue(\lineskip) 0.0
+..\vbox(550.0+0.0)x25.0
+...\hbox(550.0+0.0)x25.0, glue set 5.0fil
+....\hbox(550.0+0.0)x7.5
+.....\vbox(550.0+0.0)x7.5 []
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+....\glue 0.0 plus 1.0fil
+....\rule(*+*)x0.0
+....\glue 0.0 plus 1.0fil
+....\hbox(550.0+0.0)x7.5
+.....\vbox(550.0+0.0)x7.5, glue set 24.0fill []
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+..\glue(\baselineskip) 23.55556
+..\hbox(6.44444+0.0)x25.0, glue set 10.0fil
+...\glue 0.0 plus 1.0fil
+...\OT1/cmr/m/n/10 1
+...\glue 0.0 plus 1.0fil
+(.aux)

Modified: trunk/doc/latexchanges.tex
===================================================================
--- trunk/doc/latexchanges.tex	2017-04-11 18:00:24 UTC (rev 1454)
+++ trunk/doc/latexchanges.tex	2017-04-11 20:36:43 UTC (rev 1455)
@@ -92,6 +92,9 @@
 reset (to the existing default value, \verb|\normallineskiplimit|).
 See http://tex.stackexchange.com\slash a\slash 359934.
 
+ The code for verb|\newpage| has been adjusted to add a test on the value of
+\verb|\prevdepth| so that the depth of the last line is preserved in
+forced page breaks.
 
 \section{Changes  introduced in 2017/01/01 patch~3}
 Emergency patch to correct a typo in a change introduced in patch~2.



More information about the latex3-commits mailing list