ISO 80000-2 in LaTeX

When typesetting physics, there are a couple things that LaTeX does not according to the ISO 80000-2 norm [TUGboat-18]. Here is what I have gathered to implement these conventions.

Upright “d”

To get upright (roman) “d”s for differentials, you can use a simple \mathrm d. With the commath package, it is a little easier to write derivatives:


% ...

    \od[2] f t

This will render as:

\frac{\mathrm d^2 f}{\mathrm d t^2}

The same applies to the base of the natural logarithms \mathrm e and the imaginary constant \mathrm i. The easiest way is to declare some commands like so:

\newcommand{\dup}{\mathrm d}
\newcommand{\eup}{\mathrm e}
\newcommand{\iup}{\mathrm i}

Bold Vectors

To get bold vectors, I used the \boldsymbol command from the amsmath package:


So instead of \vec a, it shows \boldsymbol a.

Bold And Sans-Serif Tensors

You can obtain bold and sans-serif tensors with the following snippet by by [egreg2012]:


Today I use the isomath packages which provides the following:

\newcommand{\four}[1]{\underline{\vec {#1}}}

Italic Uppercase Greek

By default, uppercase Greek letters are upright (roman). I find it more consistent to make them italic as all Latin and lowercase Greek letters. The mathdesign family of fonts has an option to do so. With “Bitstream Charter”, I use this:

\usepackage[charter, greekuppercase=italicized]{mathdesign}

Laplace Operator

The Laplace operator does not have a canonical command, at least I could not find any. Usually people use \Delta (\Delta). The problem is that you cannot tell it apart from the regular Delta, since it is the same symbol. I use the \bigtriangleup that goes well with the d’Alambert Operator \Box: