如何处理由于连字问题导致的水平盒子过满的问题?

如何处理由于连字问题导致的水平盒子过满的问题?

我正在使用自定义字体而不是默认的 CMU Sans-serif 来撰写论文。我碰巧发现,使用这种字体时,我的行更容易出现连字符问题(或者可能只是我的想象)。由于我经常使用技术术语(包括首字母缩略词、复合词和内联数学模式),所以我经常会收到溢出错误\hbox

下面是一个例子:

在此处输入图片描述

但是,我觉得我的行确实没有那么难连字。我想知道是否可以调整一些东西来告诉我的编译器“更努力”地正确断行并避免过度错误。在某些情况下,我可以手动建议单词连字(尤其是在复合词中),但在其他情况下,比如例子中的情况,我根本不知道如何在不改变单词选择的情况下解决这个问题(即我不想替换“promised”或更改它前面的单词)。

答案1

如果 TeX 不对某个单词进行连字,那要么是因为它无法对这个单词进行连字(promised如上例所示),要么是在该点处断开会违反其他某些约束,通常需要拉伸该数量的空白才能使段落对齐。

首先,您需要更改模式,方法是更改​​语言(例如使用british)或添加连字符例外,例如\hyphenation{prom-ised}

对于第二种情况,您需要为 TeX 提供更多选项。该microtype软件包启用了几个通常可以改善换行的功能,特别是允许对字符宽度进行非常小的修改,以减少需要拉伸或收缩的空白量。您还可以明确允许更灵活的空白,最简单的方法是使用标准命令\sloppy(在许多情况下允许空白过度拉伸)或类似命令,\setlength\emergencystretch{1em}如果段落可以使用正常设置对齐,则不会影响空格,但如果正常设置会导致水平框过满,因为找不到好的换行符,则可以使用额外的 1em 额外灵活性。

相关内容