我可以告诉 Latex 先连字,然后再尝试拉伸吗?

我可以告诉 Latex 先连字,然后再尝试拉伸吗?

今天早些时候为什么我的文档中以大写字母开头的单词没有连字符?(我没有使用 \uchyph=0)我发现,\emergencystretch过多地增加该值会导致乳胶首先开始拉伸并停止连字。

我希望保持较高的值,\emergencystretch因为有时 Latex 无法连字,因为babel/latex它不知道如何连字。在这些情况下,Latex 可以随意拉伸。但是,当它可以先连字时,拉伸是不可接受的。

我可以告诉 Latex 先进行连字符连接,然后才尝试拉伸而忽略的值吗\emergencystretch

答案1

如果可能的话,它会先连字符。在您引用的示例中,没有可能(不使用 emergencystretch)在没有溢出框的情况下断开段落(这被认为比拉伸更糟糕)

没有理由使用较大的\emergencystretch:这样做会告诉 tex,拉伸单词间空间几乎没有惩罚,因此它会支持这一点。如果您设置一个较小的值(大约 1em,或 使用的 3em \sloppy),那么如果您遇到您所说的情况,tex 需要进一步拉伸空间,它仍会这样做,但这样做会有很高的惩罚,因此它会支持连字(并警告您空间过度拉伸(框未满),因此您将有机会查看这些段落并在必要时进行手动调整。

\pretolerance根据和的值,\tolerance最多可使用三种不同的换行方式。\emergencystretch仅当非零且使用前两次传递无法断开段落同时保持不良度低于时才使用\tolerance,然后使用第三次紧急传递同时有效地增加\emergencystretch每行的粘合拉伸。

相关内容