我已经定义了命令:
\newcommand{\dif}[1][]{\mathrm{d} {#1}\,}
因为我使用了符号:
\int \dif{x} f(x)
这样每个差分后面都会有一个空格。但是,它并没有按预期工作,因为空格“\,”后输出中的参数,即它的工作原理如下:
\newcommand{\dif}[1][]{\mathrm{d} \,{#1}}
这是为什么?有什么办法可以解决吗?谢谢您的帮助。
答案1
和
\newcommand{\dif}[1][]{\mathrm{d} {#1}\,}
LaTeX 期望如下调用
\dif[x]
而不是\dif{x}
,因为 有第二个可选参数\newcommand
。但是,你想要一个强制的论点,所以你应该这样做
\newcommand{\dif}[1]{\mathrm{d}{#1}\,}
我建议定义一个辅助命令,这样您就可以根据它定义其他命令并获得统一的外观。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\differentiald}{\mathrm{d}} % or just d
\newcommand{\dif}[1]{\differentiald #1\,}
\newcommand{\tder}[2]{\frac{\differentiald #1}{\differentiald #2}}
\begin{document}
\[
\int\dif{x} f(x) \qquad \int \dif{x}\dif{y} g(x,y) \qquad \tder{f}{x}
\]
\end{document}
通过将的定义更改\differentiald
为\newcommand{\differentiald}{d}
,您可以将所有积分和全导数更改为斜体“d”。