diff options
Diffstat (limited to 'macros/latex-dev/base/ltboxes.dtx')
-rw-r--r-- | macros/latex-dev/base/ltboxes.dtx | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/macros/latex-dev/base/ltboxes.dtx b/macros/latex-dev/base/ltboxes.dtx index a041312cc5..9852bc5940 100644 --- a/macros/latex-dev/base/ltboxes.dtx +++ b/macros/latex-dev/base/ltboxes.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltboxes.dtx} - [2024/02/08 v1.4e LaTeX Kernel (Box Commands)] + [2024/06/10 v1.4g LaTeX Kernel (Box Commands)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltboxes.dtx} @@ -1011,7 +1011,7 @@ % set globally to false when they are definitely true. % % If anyone is unhappy with this argument then both flags should be -% treated as in |\set@nobreak|; otherwise this command will be +% treated as in |\@setnobreak|; otherwise this command will be % redundant. % \changes{v1.1a}{1996/10/24}{Added local settings of flags: dangerous!!} % \begin{macrocode} @@ -1487,9 +1487,46 @@ % % The |\nobreak| was added (1995/10/31) to allow hyphenation of the % final word of the paragraph. +% +% In 2024 we changed the macro to account for vertical mode. In +% that case we use a strut produced with \cs{hrule} to avoid +% starting a new paragraph (resulting in spurious extra line) and +% also account for the \cs{prevdepth} of the previous line. +% \changes{v1.4f}{2024/04/18} +% {Use a \cs{hrule} strut not a \cs{vrule} if already in +% vertical mode (bug seen first with footmisc/14)} +% \changes{v1.4g}{2024/06/10} +% {Always use a \cs{vrule} strut after all, but back up by a baseline +% if already in vertical mode. Otherwise empty table p-cells will +% not get the correct width (bug seen first with colortbl)} % \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2024/06/01}% +%<latexrelease> {\@finalstrut}{final strut correction}% \def\@finalstrut#1{% - \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1} + \unskip + \ifhmode \nobreak + \else +% \end{macrocode} +% If we are in vmode we now back up by a baseline. +% \begin{macrocode} + \vskip-\baselineskip + \fi +% \end{macrocode} +% Finally we unconditionally use \cs{vrule}. +% \begin{macrocode} + \vrule\@width\z@\@height\z@\@depth\dp#1} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@finalstrut}{final strut correction}% +%<latexrelease>\def\@finalstrut#1{% +%<latexrelease> \unskip\ifhmode\nobreak\fi +%<latexrelease> \vrule\@width\z@\@height\z@\@depth\dp#1} +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % \end{macro} % |