答案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 的换行算法更不愿意在段落中添加行:这个惩罚定义了每行的“基本成本”)。