![防止短单词后换行](https://linux22.com/image/260194/%E9%98%B2%E6%AD%A2%E7%9F%AD%E5%8D%95%E8%AF%8D%E5%90%8E%E6%8D%A2%E8%A1%8C.png)
出版商要求大多数短词(少于 4 个字符,以及所有介词等)不要放在行的最后,而要与后面的单词放在一起。
错误的:
Following the last theorem, we
can see that ...
正确的:
Following the last theorem,
we can see that ...
是的,我可以用来sed
替换这些空格,~
但这不是正确的解决方案,因为它会影响数学。
PS 我们使用的是标准extbook
类。提前致谢。
答案1
我认为纯 TeX 解决方案不可行(luatex 可能是可行的)。
如果你不能准确地使用 sed/perl 等识别你的数学标记,你可以插入\shortwordspace
而不是~
直接定义
\protected\def\shortwordspace{\ifmmode\else~\fi}
所以它在数学模式下不做任何事情。