我如何更改 \linebreak 的低、中、高惩罚设置?或者也许有更好的换行方式?

我如何更改 \linebreak 的低、中、高惩罚设置?或者也许有更好的换行方式?

这个问题确实属于

\linebreak 命令各种强度的应用

但不幸的是我的声誉太低,因此不允许发表评论。

https://tex.stackexchange.com/users/1090/david-carlisle

非常有帮助地解释了 \linebreak 的各种可选设置不能很好地工作的原因是因为 low、med 和 highpenalty 的值“有点奇怪”。我个人会使用一个不太客气的说法。特别是,linebreak[3] 分配的惩罚是 10000 分中的 301 分,这大概解释了为什么它如此无效。我想将这些设置更改为看起来更合理的值,例如,将它们均匀分布在 0 到 10000 之间。这可能吗?

我为什么要关心?我非常困惑,大家一致认为换行选项的使用应该极其罕见。对我来说,如果它正常工作,我会一直使用它。原因是我想避免中断可能很长的内联数学显示,并且理想情况下,让换行符决定插入换行符,填充前一行,并将整个数学显示(括在 \mbox 中以防止中断)放在下一行的开头,当且仅当数学显示在前一行上时,超出常规右边距。

也许有比换行更好的方法来实现我的需要?

答案1

这些可以随时更改,例如

\csname @highpenalty\endcsname=700

[3]使用 700 而不是 301。

尽管对于大多数文档类型来说,手动换行应该是最后手段(除非您是一位诗人:-)

相关内容