我正在寻找一种方法来阻止以单个字符结尾的行。例如,每次我写一个字符时,我都可以手动输入:a\penalty\hyphenpenalty\ cat
或I\nolinebreak[1]\ am
,但我正在寻找一种自动化解决方案。我知道存在正则表达式解决方法。
我读过该论坛上的另一篇讨论,其中绝对禁止用单个字符结束一行,而不仅仅是不鼓励。(I~am
与I\nolinebreak[1]\ am
. 相比)
行末的一个字母的单词
我已经通过 在我的其他文档中测试了这一点\usepackage[nosingleletter]{impnattypo}
。我发现,这很可能在印刷上不如不鼓励在单个字符处换行的方法。
答案1
使用您链接到的接受答案,但要更改
p.penalty = 10000
到
p.penalty = 100
或者任何你想要的惩罚,这样破坏行为就会受到阻止而不是被阻止。你可以建议作者impnattypo
通过包选项或命令提供该值,默认为 10000。