如何更改数学运算符的间距?

如何更改数学运算符的间距?

我已经定义了自己的数学运算符(用于显示某些函数序列的顺序 - 但这不是“正常”的 Big-O 符号):

\newcommand{\order}[1]{\ensuremath{\operatorname{o}\left({#1}\right)}}

这会导致非常奇怪的间距:

奇怪的间距

我该如何解决这个问题?有没有更好的方法来指定操作员?

答案1

首先,我认为一般来说,使用 可能比和\DeclareMathOperator的组合更好。话虽如此,我认为你的问题是因为你使用了。如果你在 之前插入,这个问题应该会得到解决。另请参阅\newcommand\operatorname\left(\mathopen{}\left(\big[ 和 \bigl[ 之间的区别

答案2

我倾向于使用间距命令,例如 \mathleft 表示左标点,\mathright 表示右标点,\mathop 表示“大”运算符,\mathbin 表示二元运算符,\mathrel 表示关系符号。详细信息请参阅 Voß 的 75ff 页数学模式.pdf

相关内容