128

When writing an integral, it seems like something should be done to separate the "d", as in \int f(x) dx, so as not to confuse it with a variable. I've seen it left as-is, bolded, and straightened. Even among those options there are several ways to accomplish each task; e.g., I could do a \mathrm or a \operatorname. What is the preferred method of dealing with the "d"?

5
77
\documentclass{article}
\usepackage{amsmath}
\newcommand*\diff{\mathop{}\!\mathrm{d}}
\newcommand*\Diff[1]{\mathop{}\!\mathrm{d^#1}}
\begin{document}

\begin{align*}
\biggl(\int_{-\infty}^\infty e^{-x^2}\diff x\biggr)^2 
  &= \int_{-\infty}^\infty\int_{-\infty}^\infty e^{-(x^2+y^2)}\diff x\diff y \\
  &= \int_0^{2\pi}\int_0^\infty e^{-r^2}r\diff r\diff\theta                  \\
  &= \int_0^{2\pi}\biggl(-{e^{-r^2}\over2}\bigg\vert_{r=0}^{r=\infty}\,\biggr)\diff\theta\\
  &= \pi                                          \tag*{q.e.d.}\\
\end{align*}
%
\[ V(\mathbf{x}) = -\int_{\mathbf{R}^3} 
   \frac{G}{|\mathbf{x}-\mathbf{y}|}\,\rho(\mathbf{y})\,\Diff3\mathbf{y} \]

\end{document}

enter image description here

12
  • 2
    Herbert, are you recommending what's on the rhs? It looks odd to me, especially when I have an inline $dy/dx$. Jun 20 '12 at 13:07
  • 95
    IMO it makes sense to add a small explanation of why this solution was chosen, rather than just providing uncommented source code.
    – Marco
    Jun 20 '12 at 13:09
  • 10
    if i'm not mistaken, the upright "d" is an iso standard. but it's not common practice in the u.s. (and perhaps elsewhere). certainly knuth uses -- intentionally -- an italic "d" as can be inferred from the italic correction "d" is given in the cmmi fonts, namely none. what i find peculiar in @Herbert's example is the italic "d" on the left side while upright is used on the right. in my opinion, whichever is chosen should be used consistently. Jun 20 '12 at 13:19
  • 1
    @JimHefferon: in inline mode I use only \mathrm{d}
    – user2478
    Jun 21 '12 at 6:39
  • 1
    Thank you, but (1) I think it should be \newcommand*\Diff[1]{\mathop{}\!\mathrm{d}^#1}, because the n in my example should not be in roman. (2) I still find the distance between the d^n and the x too large. The x looks like a regular variable. I think I would rather write \newcommand*\Diff[2]{\mathop{}\!\mathrm{d}^{#1}\!{#2}}, although it is a tad too close.
    – Jost
    Nov 5 '13 at 13:16
15

I found a TUGboat article some years ago which seems to deal with the spacing around the differential operator in the correct way (at least to me).

Example

\documentclass{article}

\makeatletter
\providecommand*{\dif}%
   {\@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}
\makeatother

\begin{document}

\[
   \int x \dif x
\]

\end{document}

Update

As pointed out by Enrico Gregorio and implemented by Herbert Voß, the following will do:

\documentclass{article}

\newcommand*\dif{\mathop{}\!\mathrm{d}}

\begin{document}

\[
   \int x \dif x
\]

\end{document}
7
  • 11
    Claudio Beccari later discovered that \newcommand\dif{\mathop{}\!\mathrm{d}} does the same with much less effort.
    – egreg
    Jan 28 '13 at 16:37
  • According to tug.org/pipermail/texhax/2009-August/013018.html, the following by Morten Høgholm is an improved version of the large code chunk I posted: \newcommand*\dif{ \mathop{}\nobreak \mskip-\thinmuskip\nobreak \mathrm{d} } what is best of Morten's code and the code posted by @egreg ? Jan 28 '13 at 17:03
  • 4
    It's just the same, with two redundant \nobreak that do exactly nothing, because a line break is not possible in a math formula after a mathop atom or after \mskip glue.
    – egreg
    Jan 28 '13 at 17:07
  • Besides the fact that there is apparently a much shorter equivalent for the code: I believe \ifx\diffarg\[% should be \ifx\diffarg[%,
    – cgnieder
    Jan 28 '13 at 23:28
  • 6
    @SvendTveskæg \mathop{} provides the thin space at the left when preceded by an ordinary symbol or a closing delimiter; the “d” after it inserts another thin space that's removed with \!.
    – egreg
    Sep 8 '14 at 9:19
8

Have a look at


http://ctan.sharelatex.com/tex-archive/macros/latex/contrib/physics/physics.pdf

2.5 Derivatives


I use it and i am very happy with this package.

EDIT:

\documentclass{article}
\usepackage{amsmath}
\usepackage{physics}
\usepackage{amssymb}

\begin{document} 

\begin{align}
\left(\int\limits_{-\infty}^\infty e^{-x^2} \dd{x} \right)^2  
&=\int\limits_{-\infty}^\infty \int\limits_{-\infty}^\infty {e^{-(x^2+y^2)}}\dd{x}\dd{y} \\
&=\int\limits_{0}^{2\pi} \int\limits_{0}^\infty e^{-r^2}r \dd{r}\dd{\theta} \\
&=\int\limits_{0}^{2\pi} {\left(\left.-\frac{e^{-r^2}}2\right|_{r=0}^{r=\infty}\right)}\dd{\theta}  \\
&=\pi
\end{align}

\begin{equation}
V(x)=-\int\limits_{\mathbb R^3} \frac G{|x-y|}\rho(y) \dd[3]{y}
\end{equation}

\end{document}

enter image description here

2
  • 1
    Can you extend the answer a bit? Maybe give a minimal example and a screenshot?
    – Johannes_B
    Apr 15 '15 at 21:24
  • 1
    Note that we can italicise the d's using \usepackage[italicdiff]{physics} Apr 9 '17 at 5:22
7

I usually do this (which I've shamefully stolen from Niel de Beaudrap and modified):

\makeatletter \renewcommand\d[1]{\ensuremath{%
  \;\mathrm{d}#1\@ifnextchar\d{\!}{}}}
\makeatother

It renders nicely, especially with multiple integrals:

Integral showcasing the <code>\d</code> command

8
  • 4
    I find this wrong under many respects. The \; space is too much. The definition proposed by Herbert is certainly better.
    – egreg
    Jun 20 '12 at 13:08
  • @egreg: I'm curious if there are other reasons aside from \; (perhaps you can replace it with \:, or with \mathop{}\! as in Herbet's solution) why you find the definition "wrong". As someone who is regularly doing all sorts of ad-hoc fooling around with spacing to try and better suggest logical groupings of symbols in my math typesetting, I'm interested in other people's notions of best practises. Jun 20 '12 at 13:35
  • 1
    I like this definition of \d (taking care of subsequent differentials). Just IMO: (1) \ensuremath is completely wrong here, (2) the space is indeed to large and \mathop{}\! gives some nice-looking result.
    – yo'
    Jun 20 '12 at 13:42
  • 1
    @tohecz If \mathop{}\!d is used, then the spacing for subsequent differentials will be automatically added.
    – egreg
    Jun 20 '12 at 13:44
  • 1
    Why is the d on the left italic?
    – nyuszika7h
    Nov 25 '14 at 15:55
4

Presumable you are trying to both save on typing, and to exert some consistent notation throughout you article (good idea).

If you are making a macro for infinitesimals, you might as well make a marco for a derivative and an integral with limits. Avoid single letter macros e.g. \d because they are often already defined.

\documentclass{article}
 \usepackage{amsmath}
 \usepackage{amsfonts}

\newcommand \dd[1]  { \,\textrm d{#1}                       }   % infintesimal
\newcommand \de[2]  { \frac{\mathrm d{#1}}{\mathrm d{#2}}   }   % first order derivative
\newcommand \intl[4]{ \int\limits_{#1}^{#2}{#3}\dd{#4}      }   % integral with limits

\begin{document} 

$$  \dd x=-\dd u        $$
$$  y'=\de yx           $$
$$  \intl0\infty{f(t)}t $$

\begin{align*}
    \left(\intl{-\infty}\infty{e^{-x^2}}x\right)^2  
        &=\intl{-\infty}\infty{\intl{-\infty}\infty{e^{-(x^2+y^2)}}x}y                      \\
        &=\intl0{2\pi}{\left(\left.-\frac{e^{-r^2}}2\right|_{r=0}^{r=\infty}\right)}\theta  \\
        &=\pi
\end{align*}

$$  V(x)=-\intl{\mathbb R^3}{}{\frac G{|x-y|}\rho(y)}{^3}y  $$

\end{document}

m2

0

As user69453 already said, I'd recommend you to use the Physics package.

Instead of using macros and dealing with spaces, you can just use \dd for the non-italic d. But, as barbara beeton stated, it's more important to write consistently than following a standard, which may not be used universally. Most of my college teachers (UPM, Spain) write the italic d for differentials.

Usage

Differential of x will be written as \dd{x}, while the nth differential of x would be \dd[n]{x}.

Example

\documentclass{article}
\usepackage{amsmath}

\usepackage{physics}

\begin{document}

\begin{align*}
\biggl(\int_{-\infty}^\infty e^{-x^2}\dd{x}\biggr)^2 
  &= \int_{-\infty}^\infty\int_{-\infty}^\infty e^{-(x^2+y^2)}\dd{x}\dd{y} \\
  &= \int_0^{2\pi}\int_0^\infty e^{-r^2}r\dd{r}\dd{\theta}                  \\
  &= \int_0^{2\pi}\biggl(-{e^{-r^2}\over2}\bigg\vert_{r=0}^{r=\infty}\,\biggr)\dd{\theta}\\
  &= \pi                                          \tag*{q.e.d.}\\
\end{align*}
%
\[ V(\mathbf{x}) = -\int_{\mathbf{R}^3} 
   \frac{G}{|\mathbf{x}-\mathbf{y}|}\,\rho(\mathbf{y})\,\dd[3]{\mathbf{y}} \]

\end{document}

Output

Output

Advantages

The main advantages of using this solution:

  • When using brackets, it chooses the ideal separation depending on neighbours. If you write it without brackets, for example \dd x, there will be no separation.
  • By default, it follows the ISO 80000-2:2019 standard. However, you can add a package option to set italic as default style: \usepackage[italicdiff]{physics}

Further Reading

Physics Package Documentation

3
  • This seems to be covered already in another answer; your additions are probably better-suited as a comment.
    – Werner
    Feb 2 at 20:26
  • Sorry, but I disagree. The definition of \dd is uselessly complicated and doesn't work as it should.
    – egreg
    Feb 2 at 20:37
  • Thanks both, Werner and egreg. I agree with Werner, this should be a comment. However, I have little reputation for now and decided to make an answer as I can't comment. I thought it would be useful. Anyway, I apologise if it wasn't supposed to be like this. Should I delete the answer? Or maybe fix it? And, well... I didn't know that the definition of \dd was so complicated :( I don't want to start a chat here, so is there anyway you could explain me that out of here, egreg? Again, thank you!
    – Jaxdrem
    Feb 2 at 21:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.