[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