![在相乘函数之间留出空格的最佳实践](https://linux22.com/image/446181/%E5%9C%A8%E7%9B%B8%E4%B9%98%E5%87%BD%E6%95%B0%E4%B9%8B%E9%97%B4%E7%95%99%E5%87%BA%E7%A9%BA%E6%A0%BC%E7%9A%84%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5.png)
我想知道在相乘的函数之间留出空格的最佳做法是什么。
这是我遇到的一个具体问题。我想要渲染\cos{x} u(x)
,它表示两个函数\cos{x}
和的乘积u(x)
。但是,直接渲染此表达式会产生一个结果,在x
和之间没有足够的空间u(x)
,如下所示\cos{x u(x)}
:
为了避免这个问题,我实际上一直u
用\mathop
来包围函数名称\cos{x} \mathop{u}(x)
。这在 前面留了一个适当的空格u(x)
:
然而,我刚刚了解到,用 围绕单个字母会使\mathop
基线移动,正如讨论的那样这里。(您可以看到u
在上面的渲染中向上移动了。)使用\operatorname
而不是\mathop
可以避免这个问题,但是对于单字母函数名称,它使用直立字体而不是斜体字体。
显然,最简单的解决方案是明确地放置一个空格\cos{x}\,u(x)
,但我不想扰乱 TeX 的自动间距方案,正如令人信服的论证。这里有没有更好的方法告诉 TeX 两个函数相乘之间应该有一个空格?
答案1
如果该参数仅由单个对象组成,则TeX 原始命令会垂直居中该参数。这就是将 置于数学轴中心的\mathop
原因。如果 的参数有多个对象,则该参数位于基线。\mathop{u}
u
\mathop
您可以定义
\def\op#1{\mathop{{}#1}}
并使用
\cos x \op u(x)