![如何制作一个像 \dim 一样的 \newcommand?](https://linux22.com/image/240763/%E5%A6%82%E4%BD%95%E5%88%B6%E4%BD%9C%E4%B8%80%E4%B8%AA%E5%83%8F%20%5Cdim%20%E4%B8%80%E6%A0%B7%E7%9A%84%20%5Cnewcommand%EF%BC%9F.png)
该\dim
命令擅长决定如何在其后留出空格:例如,和都$\dim M$
向右$\dim_A M$
看(下标紧跟在 之后dim
,而非下标版本在 之前有一个空格M
)。
我想发出一个类似功能的命令\depth
。我一直在使用:
\newcommand{\depth}{\textnormal{depth }}
但这会强制留出空格,所以$\depth_A M$
看起来不太好。我尝试\xspace
使用这个问题:
\newcommand{\depth}{\textnormal{depth}\xspace}
但它似乎没有做任何事情(在上面的命令中,使用它和不使用它没有区别)。
我怎样才能获得正确的行为?
答案1
\usepackage{amsmath}
\DeclareMathOperator{\depth}{depth}
但是,虽然似乎\depth
没有定义,但它在某些框上下文中使用,因此也许最好更改名称:
\DeclareMathOperator{\Depth}{depth}
您在“dim”和“M”之间看到的空格是因为符合数学运算符的条件而插入的;例如\dim
,空格也会自动插入到 中,但不会在 中插入。 这与 会产生名为“depth”的运算符的情况相同。\dim_M X
\dim_M(A+B)
\Depth
该\DeclareMathOperator*
变体构建了一个运算符,它可以在显示中取上限和下限(如\min
)。