我一直在使用
\newcommand*{\dif}{\mathop{}\!\mathrm{d}}
输入微分算子。对于大多数情况来说这就足够了。
然而我刚刚看到一个非常复杂的定义这里:
\makeatletter
\providecommand*{\diff}%
{\@ifnextchar^{\DIfF}{\DIfF^{}}}
\def\DIfF^#1{%
\mathop{\mathrm{\mathstrut d}}%
\nolimits^{#1}\gobblespace}
\def\gobblespace{%
\futurelet\diffarg\opspace}
\def\opspace{%
\let\DiffSpace\!%
\ifx\diffarg(%
\let\DiffSpace\relax
\else
\ifx\diffarg[%
\let\DiffSpace\relax
\else
\ifx\diffarg\{%
\let\DiffSpace\relax
\fi\fi\fi\DiffSpace}
我看不懂这段代码,但看起来\diff
创建的空白比创建的还多\dif
。
哪一个更好?或者有更好的吗?
答案1
免责声明:我习惯\mathrm{d}
遵从 OP 的愿望,但这并不意味着我以任何方式认可这种做法,我认为这在数学上是错误的做法。
其余的微分符号不存在运算符。是我在GuIT论坛上的签名。