与分隔符修饰符(例如 \left\right、\big\Big 等)一起使用时的数学运算符间距

与分隔符修饰符(例如 \left\right、\big\Big 等)一起使用时的数学运算符间距

我注意到使用任何分隔符修饰符,如\left( \right)\big( \Big( ETC在数学运算符之后\cos插入一个小的水平空格。

这个问题建议不要使用这些命令,而使用\bigl\Bigl ETC替代方案;然而,我想知道当事先不知道参数时推荐的解决方案是什么?

例如,Maxima 是一个开源计算机代数系统,可以选择自动生成计算的 tex 输出(类似于 Mathematica 的功能,只是它是免费的);但是,生成 tex 输出的规则是针对所有输出以编程方式设置的。因此,三角函数的所有幂都将以这样的方式呈现,\cos^{n} \left( <arg> \right)以确保括号适用于任何参数。

有没有办法重新定义\left( \right以删除这个额外的水平空间?或者单独修改每种类型的运算符的输出是否更合适?例如用于\hspace逐个操作符删除空格?

对于这个问题有点题外的性质,我深表歉意:在我看来,在这个特定情况下,TeX 社区是更合适的 SE

答案1

以下是一些解决方案:

\documentclass{article}
\usepackage{mathtools}

\DeclarePairedDelimiter{\parens}{(}{)}

\begin{document}
\begin{align}
&\cos \left( \frac{t}{2} \right) \\
&\cos \mathopen{}\left( \frac{t}{2} \right) \\
&\cos\! \left( \frac{t}{2} \right) \\
&{\cos} \left( \frac{t}{2} \right) \\
&\cos \parens*{\frac{t}{2}}
\end{align}
\end{document}

计算机现代样本

(1)是您想要更改的输出,(2)是 wipet 的优秀答案,(3)插入负空间,(4)将\cosfrom 运算符的间距更改为普通(如f(x),但也会弄乱像 . 这样的表达式的间距2 {\cos}^2)和(5)使用\DeclarePairedDelimiterfrom mathtools

如果您还可以生成序言,我建议使用 (5) 作为自动生成的模板。如果您需要能够将代码片段复制并粘贴到任何文档中,请使用 (2)。

默认行为如此的原因是 DEK在定义间距时\sum可能考虑了诸如“数学运算符”。\int

答案2

您可以使用

\cos^{n} \mathopen{}{\left( argument\right)}

但自动生成的输出有一个问题:它无法生成对人类友好的文本。人类可以写\cos^2 x或,\cos^2 (x+y)但机器必须生成\cos^{2} \mathopen{}{\left(x+y\right)}。不幸的是。数学公式的 TeX 语言是为人类设计的,而不是为机器设计的。

相关内容