我希望数学模式中的美元符号表达式始终保持在同一行,而这正是非数学模式中没有空格的字符序列的情况。有没有办法避免每次都手动添加换行符(这种风格很糟糕,如果必须返回并更改内容,更改后面的所有内容,就会变得非常混乱)?
答案1
文档序言中的以下两行应该会有所帮助:
\binoppenalty=10000
\relpenalty=10000
最好\begin{sloppy}...\end{sloppy}
在出现数学的段落中添加一些内容,这样可以让行距更加灵活。您可以通过将其放入\sloppy
序言中来全局允许这种灵活。
但是,这将完全禁止内联数学中的隐式换行。我认为这不是一个好主意。更好的想法是将 pelanties 设置为某个值,以阻止换行,但如果确实有必要,则允许换行:
\binoppenalty=3000
\relpenalty=3000
答案2
排版函数的常用方法是
$f\colon A \to B$
(\to
是相同的\rightarrow
,但输入起来更短)。您将看到不同的间距:冒号前没有空格,冒号后有空格。这也会阻止冒号后的换行。如果您真的不想在箭头后换行,那么
$f\colon A \to\nolinebreak B$
就可以了。当然,你可以为此定义一个宏:
\newcommand{\function}[3]{#1\colon #2 \to\nolinebreak #3}
被称为
$\function{f}{A}{B}$
但我认为这是不必要的。只需在最后修改时检查该行,并\nolinebreak
在真正需要的地方添加即可。