我有一个关于数学模式中的间距的问题。假设您有一个包含多次 nabla 符号的文档。我在这个网站上的不同答案中读到,建议写成
\newcommand{\grad}{\mathop{}\!\nabla}
在序言中,以改善诸如 之类的表达式的间距c\nabla_{X}X
。换句话说,现在 的间距规则\nabla_{X}X
与 的间距规则相同。(如果我错了,请纠正我。)当字母 d 在微分中使用时,如或\sin(x)
,同样的规则也适用于字母 d 。dx
dy
我通常会遵循这个建议,但现在我有点困惑。如果我实施这种间距校正,那么为什么不对像这样的表达式执行相同的操作cf(t)
,其中现在f
是变量的函数t
,以及c
一个常数?那么cf
,同样是f
一个函数和c
一个常数的呢?
我应该遵循的最合乎逻辑的方法是什么?
答案1
请注意,这是排版而不是数学,所以逻辑并不总是主要关注点,“什么看起来正确”,或“你所在领域的历史惯例是什么”也起着一定的作用。
如果 f 是函数,则 fx 可能被认为与 \sin x 相同,而 f(x) 则与 \sin(x) 相同(如果函数作用于右侧,则 xf 和 (x)f 也可能如此)
但是 sin 通常采用罗马文本字体,间距紧凑,字母间字距紧凑,使其看起来像一个标识符。这意味着 \sin x 确实需要在 sin 和 x 之间留出一个细小的空格,这样看起来才不会奇怪。如果您有开头分隔符,如 \sin(x),则不需要该空格。这正是\mathop
实现的规则,sin\mathop{\mathrm{sin}}
在 x 之前有一个细小的空格,但在 (x) 之前没有。
然而,虽然 f 在数学上也是一个函数,但它却以数学斜体字体显示,该字体(与所用的文本斜体不同\mathit
)已经具有较宽的侧边距,因此相邻的字母看起来不像一个单词,而像一个隐含的运算(乘法或函数应用或上下文所暗示的任何运算),因此 fx 通常可以设置为两个字符都具有默认的 mathord 类,并且没有额外的空格。
\mathop{}\!\nabla
意味着 nabla 之后永远不会添加空格(大概是因为它足够“像符号”,永远不会“跑进”后面的字母),但它确实允许 \mathop` 向左留出空格,这在某些情况下会导致一些额外的空格(例如在结束分隔符之后)