行末有一个字符

行末有一个字符

我正在寻找一种方法来阻止以单个字符结尾的行。例如,每次我写一个字符时,我都可以手动输入:a\penalty\hyphenpenalty\ catI\nolinebreak[1]\ am,但我正在寻找一种自动化解决方案。我知道存在正则表达式解决方法。

我读过该论坛上的另一篇讨论,其中绝对禁止用单个字符结束一行,而不仅仅是不鼓励。(I~amI\nolinebreak[1]\ am. 相比)
行末的一个字母的单词
我已经通过 在我的其他文档中测试了这一点\usepackage[nosingleletter]{impnattypo}。我发现,这很可能在印刷上不如不鼓励在单个字符处换行的方法。

答案1

使用您链接到的接受答案,但要更改

p.penalty = 10000

p.penalty = 100

或者任何你想要的惩罚,这样破坏行为就会受到阻止而不是被阻止。你可以建议作者impnattypo通过包选项或命令提供该值,默认为 10000。

相关内容