我想防止某一行成为页面的最后一行。如有必要,我希望自动在该行前插入空格,以便将其推到下一页的开头。
通常,使用\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}
以容纳额外的一行。