操作符左边有额外空格吗?

操作符左边有额外空格吗?

当我有一个用括起来的运算符( \sin\det,或用\operatorname,定义)时,似乎左边有一个多余的空格。\DeclareMathOperator|...|

查看 的输出(和$|\sin x|$ $\lvert \sin x|$之间没有区别): |\rvert在此处输入图片描述

我现在不喜欢这种间距,因为我已经注意到了。有没有办法让|\sin x|输出与不手动编辑每个出现的情况相同\lvert \sin x|?其他运算符也类似(当然,不会弄乱其他东西)

这似乎与以下问题相关但尚未得到解答:操作符名称宏前的空格

完成 MWE:

\documentclass{standalone}
\usepackage{amsmath}
\begin{document}
$|\sin x|$ $\lvert \sin x|$
\end{document}

答案1

输入

|\sin x|

是一个非常常见的错误,每次看到它我的眼睛都会流血。

问题在于|被视为普通符号,这使得输入 很方便|x|,但当一个人有

|-x|

(试试看)因为规则是,如果二进制操作符被普通符号包围\medmuskip,那么它周围会有空格。同样,如果数学运算符跟在普通符号后面,则会插入一个细空格,这有利于

2\sin x

我们不希望“2”附加到“s”上。但该规则|\sin x|也适用于。x和之间没有插入空格|,因为它们是两个普通符号。

一个解决方法是输入

|{\sin x}|

或更好,

\mathopen|\sin x|

因为打开原子和一个操作原子。

鉴于这一缺陷,amsmath定义了两种新的分隔符,即\lvert\rvert,其方式分别相当于执行\mathopen|\mathclose|(但实际上并非如此,例如,为了允许具有)\bigl\lvert

实际上,这样做\bigl\lvert与 相同\bigl|,因为\bigl将赋予其后续符号打开原子。对于\bigr\rvert和 也类似\bigr|

所以,不,一旦你的打字稿有 ,你就没有什么可以做的了|\sin x|。你不能重新定义|打开原子,因为这会破坏使用它的实例,其中关闭原子将是(中的第二个|\sin x|)。

\lvert...\rvert我已经训练自己每次都打字。

您还可以使用mathtools并执行

\DeclareMathDelimiter{\abs}{|}{|}

所以

\abs{\sin x}

会做正确的事。

相关内容