\looseness
and \enlargethispage
which helped me a lot in avoiding unwanted page breaks.However, in one place where I use
\enlargethispage
LaTeX keeps showing the following message:
It does not matter how much I enlarge the page, the message stays the same unless I make the page large enough to contain text from the following paragraph/page. I chose the valueOverfull \vbox (0.94386pt too high) has occurred while \output is active
.7\baselineskip
because that is the smallest possible value that results in the page break at my preferred location.Here's a MWE where I replaced almost all the text with equivalent
\vspace
:Code: Select all
\documentclass[a4paper,BCOR=1.5cm,headsepline,DIV=12,final,english]{scrbook}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{cfr-lm}
\begin{document}
\chapter{Chap}
\section{Sec}
\subsection{Subsec}
Some text here until a new paragraph begins on the next page.
\clearpage
\vspace*{10\baselineskip}
\enlargethispage*{.7\baselineskip}
\subsubsection{Subsec}
\vspace*{17\baselineskip}
\paragraph{Para}
Paragraph begins.
\vspace*{12\baselineskip}
Just some filler text that represents the final lines that should go on this page. Please note, that these are not supposed to become a widow.
\paragraph{Para}
Some more text on the following page. This also should stay here and not become an orphan.
\end{document}
Addendum: In the meantime I did some further experiments and it seems that the warning is directly related to the
\enlargethispage
command. Even when I omit some lines (in my example simply by shrinking the inserted vspace
) the warning still remains - unless part of the following paragraph fits on the page. It doesn't matter whether the unmodified (i.e. not enlarged) page can fit the content. Take this new example where I just the right amount of vspace
so all the intended content fits on the page but LaTeX does not put the following paragraph at the bottom as well:Code: Select all
\documentclass[a4paper,BCOR=1.5cm,headsepline,DIV=12,final,english]{scrbook}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{cfr-lm}
\begin{document}
\chapter{Chap}
\section{Sec}
\subsection{Subsec}
Some text here until a new paragraph begins on the next page.
\clearpage
\vspace*{10\baselineskip}
\enlargethispage*{.7\baselineskip}
\subsubsection{Subsec}
\vspace*{15\baselineskip}
\paragraph{Para}
Paragraph begins.
\vspace*{12\baselineskip}
Just some filler text that represents the final lines that should go on this page. Please note, that these are not supposed to become a widow.
\paragraph{Para}
Some more text on the following page. This also should stay here and not become an orphan.
\end{document}
\enlargethispage*{.7\baselineskip}
line the warning occurs, without the line the warning is gone. Even more strangely, the wording of the warning changes to the following when I use the non-starred version of enlargethispage
:
According to the documentation the only difference should be that the starred version tries to "squeeze" the page contents - which is almost impossible in my example due to theUnderfull \vbox (badness 3333) has occurred while \output is active
vspace
commands. Why is the vbox underfull without squeezing but overfull with squeezing. That makes no sense!?