如何避免成为孤儿?

如何避免成为孤儿?

我想删除仅以标题结尾的页面。我希望标题后面至少有 2 行文本,以便看起来更美观。

\Needspace*{}为了避免这个标题成为孤儿,需要传递的确切值是什么?

答案1

控制孤儿的正常方法是调整\clubpenalty变量。尝试将其设置为较高的值。请参阅https://texfaq.org/FAQ-widows了解更多信息。

如果您想使用,\Needspace*{}我会假设这4\baselineskip对于标题标题加上两行文本是合理的。我只是将较大的标题标题行计算两次,因此因子为 4。您可以尝试使用 3 到 4 之间的因子。确切的数量当然取决于后面的标题类型。

答案2

我不知道这是否是您想要的,但您可以始终使用\begin{samepage}并将\end{samepage}您不想分开的东西放在一起。

不过应该有一个惩罚计数器来忽略这种可怕的使用 samepage 环境的情况。阅读这个问题有关如何阻止乳胶在标题后分页的更多信息。

将以下内容添加到你的序言中就可以了:

\usepackage{etex}
\usepackage{etoolbox}

\makeatletter
\patchcmd{\@afterheading}%
    {\clubpenalty \@M}{\clubpenalties 3 \@M \@M 0}{}{}
\patchcmd{\@afterheading}%
    {\clubpenalty \@clubpenalty}{\clubpenalties 2 \@clubpenalty 0}{}{}
\makeatother

相关内容