我对自由换行和居中之间的交互感到困惑。
我已为数学模式定义了包含可自由选择的换行符的宏,以帮助 TeX 布局内联公式而不会超出段落边距。然而,在居中环境中,行总是会中断,即使有足够的空间来制作更长的行。以下是一个完整的示例,显示了非常短的行中不必要的换行符。
\documentclass{article}
\newcommand{\qlambda}[1]{\lambda#1.\linebreak[1]\:}
\begin{document}
\centering
$\qlambda{x} x$ % This would fit in one line but is broken into two
\end{document}
我的大部分文档未居中。当我尝试使用以下方法将表格单元格垂直和水平居中时,我注意到了这个问题。
\begin{tabular}{|m{20em}|}
\centering\arraybackslash
$\qlambda{x} x$ % This would fit in one line but is broken into two
\end{tabular}
如何才能创建自由换行符,当一个段落适合一行时,它不会中断?
答案1
\linebreak[1]
做出消极的惩罚,因此 TeX 认为中断总比什么都不做要好。在对齐文本中,这可以通过拉伸短线中的粘连来抵消,但当居中(或左右不平)时,可拉伸粘连会填充短线而不会增加惩罚。
因此使用\nolinebreak[1]
,这样可以允许但不鼓励使用中断。或者也许更好的方法是使用,而不是使用,\linebreak
告诉 TeX.
正在使用二元运算符\mathbin{.}
,这将提供不同的间距并允许中断。