不要用稀少的字数、行数开始新的一页

不要用稀少的字数、行数开始新的一页

此脚本

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]
\lipsum[6][1-2]
\end{document}

产生输出

在此处输入图片描述

我怎样才能避免第二页开始出现如此稀少的字数和行数?

答案1

您可以使用 TeX 的\looseness参数。如果您\looseness=<number>为一个段落设置,TeX 将尝试使其<number>行数比其他方式更长,但不超过当前的\tolerance<number>可能为负数,因此在您的情况下,\looseness=-1为其中一个段落设置即可解决问题:

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\looseness=-1 % make the next paragraph one line shorter than usual
\lipsum[1-5]

\lipsum[6][1-2]
\end{document}

根据 TeXbook,与、和重置为正常值的\looseness同时, 被重置为零,即\hangindent\hangafter\parshape

在每个段落的末尾,以及(根据本地定义)每当它进入内部垂直模式时。

(TeXbook 第 103 页)

因此,\looseness=-1上例中的 仅影响 产生的五个段落中的第一个\lipsum[1-5]不需要以小组形式完成这项作业。

如果我没记错的话,TeXbook 还提到了一个技巧,可以在几个段落之间分散一些松散性。如果你感兴趣的话,我可能可以找到它。

正如建议的那样Skillmon 的评论,另一种方法是使用惩罚措施,特别是\widowpenalty(避免在段落最后一行之前分页)和\linepenalty(使 TeX 的换行算法更不愿意在段落中添加行:这个惩罚定义了每行的“基本成本”)。

相关内容