\newcommand 和 \def 导致的间距不同

\newcommand 和 \def 导致的间距不同

从我另一个问题的答案“如何定义一个像 \lim 或 \sum 一样有限制的数学运算符?“, 我试过:

\def\ext{\qopname\relax m{ext}}

和:

\newcommand{\ext}{\qopname\relax m{ext}}

在 ”\def 和 \newcommand 之间有什么区别?“,据说它们基本上是相同的,并且\newcommand更聪明一些,并做了一些额外的检查。但它表明它们应该以同样的方式行事。

但实际上并非如此。例如\def,当我使用它时,它似乎会增加额外的空间\ext(就像\lim会做的那样)。但\newcommand事实并非如此。

为什么?一般来说,这些行为到底有什么不同?

相关内容