防止某行成为页面的最后一行

防止某行成为页面的最后一行

我想防止某一行成为页面的最后一行。如有必要,我希望自动在该行前插入空格,以便将其推到下一页的开头。

通常,使用\nopagebreak可以解决这个问题。但是,我还希望将该行推到下一页的开头,即使第一页上该行后面有一个空白行(来自\或命令)。(不幸的是,这似乎不起作用......)\vspace{\baselineskip}\nopagebreak

\documentclass{article}

\begin{document}
Text.

\vspace{41\baselineskip}
More text.

\vspace{\baselineskip}
\textbf{I don't want this line to be the last line of the page.}

\vspace{\baselineskip}
\nobreak
Even more text.
\end{document}

答案1

MWE 中的标记非常奇怪,但因为盒子永远不会破损,所以有一种可能性是

\noindent
\begin{minipage}{\textwidth}
More text.

\textbf{I don't want this line to be the last line of the page.}

even more text
\end{minipage}

但这会冻结垂直空间,因此可能与同一页面上的灵活空间不匹配。不过,根据您的实际使用情况,这可能没问题。

如果你只想手动调整特定页面,另一种方法是使用以下方法更改页面大小:

\enlargethispage{\baselineskip}

以容纳额外的一行。

相关内容