从我另一个问题的答案“如何定义一个像 \lim 或 \sum 一样有限制的数学运算符?“, 我试过:
\def\ext{\qopname\relax m{ext}}
和:
\newcommand{\ext}{\qopname\relax m{ext}}
在 ”\def 和 \newcommand 之间有什么区别?“,据说它们基本上是相同的,并且\newcommand
更聪明一些,并做了一些额外的检查。但它表明它们应该以同样的方式行事。
但实际上并非如此。例如\def
,当我使用它时,它似乎会增加额外的空间\ext
(就像\lim
会做的那样)。但\newcommand
事实并非如此。
为什么?一般来说,这些行为到底有什么不同?