\dif
对于这样的定义似乎存在一些共识:
\newcommand{\dif}{\mathop{}\!\mathrm{d}}
我应该在积分中对 d 进行 \mathrm 吗?, \mathop、\operatorname 和 \DeclareMathOperator 有什么区别?, 用于积分的 dx 的新命令。, 我应该在积分中对 d 进行 \mathrm 吗?
这看起来不错
\int f(x) \dif x
但并非如此
\int \dif x f(x)
使用后一种符号时,最好的替代(或扩展)是什么?
以下 MWE 很好地展示了差异——第二行甚至比第一行更短:
\documentclass{article}
\newcommand{\dif}{\mathop{}\!\mathrm{d}}
\begin{document}
$\int f(x) \dif x$
$\int \dif x f(x)$
\end{document}
会
\newcommand{\dif}[1]{\mathop{}\!\mathrm{d}#1\mathop{}}
是一个好的解决方案吗?它看起来确实更好。
答案1
您应该对“放置不当的差速器”使用不同的命令:
\newcommand\ipdif[1]{\mathrm{d}#1\,}
并且仅当后面跟着其他符号时才使用它(如果需要,可以选择其他名称)。
你\mathop{}\!\mathrm{d}
会在积分符号和“d”之间得到一个不必要的细小空间。如果你添加尾随,\mathop{}
你会得到二变量和后面的字母之间留出一个细空格,如果后面有括号,则留一个空格。你可以这样做
\mathrm{d}#1\mathop{}\!
但这和仅仅添加 是一样的\,
。
我认为不可能定义一个既可以在被积函数的开头也可以在被积函数的结尾执行的命令。通过查看下一个标记来做出决定需要大表和几个例外。
如果愿意的话,你可以定义一个 *-variant:
\usepackage{xparse}
\NewDocumentCommand{\dif}{sm}{%
\IfBooleanTF{#1}
{% * variant, we are at the beginning
\mathrm{d}#2\,%
}
{% normal variant
\mathop{}\!\mathrm{d}#2%
}%
}
并使用
\[ \int f(x)\dif{x} = \int \dif*{x} f(x) \]