为了使文本左右对齐,LaTeX 会调整单词之间的距离,在较小程度上,还会调整单词内字符之间的距离。这很好,但是它还会调整数学公式内的间距。我不喜欢这个功能 - 我可以减少它的效果,或者完全关闭它吗?
答案1
您必须修改允许拉伸/收缩数学运算符/关系的长度寄存器,即\medmuskip
和\thickmuskip
。它们的默认值是4.0mu plus 2.0mu minus 4.0mu
和5.0mu plus 5.0mu
。因此添加
\setlength{\medmuskip}{1\medmuskip}% Formerly 4.0mu plus 2.0mu minus 4.0mu -> 4.0mu
\setlength{\thickmuskip}{1\thickmuskip}% Formerly 5.0mu plus 5.0mu -> 5.0mu
应该可以通过剥离胶水来工作。有关运算符周围数学间距的更多信息,请参阅如何改变二元关系间距的默认值?
以下是一个小例子:
\documentclass{article}
\begin{document}
Here is some text with an equation in it: $f(x)=x^2+3x_0\cdot\sin x$
and the textual content continues into the second line. No other math
content is contained within this paragraph.
%\thinmuskip=3.0mu (without glue)
\setlength{\medmuskip}{1\medmuskip}% Formerly 4.0mu plus 2.0mu minus 4.0mu -> 4.0mu
\setlength{\thickmuskip}{1\thickmuskip}% Formerly 5.0mu plus 5.0mu -> 5.0mu
Here is some text with an equation in it: $f(x)=x^2+3x_0\cdot\sin x$
and the textual content continues into the second line. No other math
content is contained within this paragraph.
\end{document}
由于\thinmuskip
已经没有胶水,因此无需进一步修改。有关这些长度的用途,请参阅mathmode
文档(部分11 空间、小节11.1 数学排版,第 28 页)。
mu
不支持跳过calc
,需要替代计算技术(使用纯 TeX)来操纵这些长度。
答案2
作为重置参数的替代方法,有时更方便的是将表达式装箱以便将其设置为自然宽度,可以使用明确的框,或者在数学中,只需使用{}
。
请注意,在此纯文本示例中,数学运算仅在第二行延伸。
X\hbox{words here $a + b$ and here}X
X\hbox spread 1cm{words here $a + b$ and here}X
X\hbox spread 1cm{words here \hbox{$a + b$} and here}X
X\hbox spread 1cm{words here ${a + b}$ and here}X
\bye