在居中环境中使用自由换行符

在居中环境中使用自由换行符

我对自由换行和居中之间的交互感到困惑。

我已为数学模式定义了包含可自由选择的换行符的宏,以帮助 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{.},这将提供不同的间距并允许中断。

相关内容