ISO 80000-2 in LaTeX

When typesetting physics, there are a couple things that LaTeX does not according to the ISO 80000-2 norm, see 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:

\usepackage{commath}

% ...

$\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:

\renewcommand{\vec}[1]{\boldsymbol{#1}}


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 egreg2012:

\usepackage{bm}
\DeclareMathAlphabet{\mathsfit}{\encodingdefault}{\sfdefault}{m}{sl}
\SetMathAlphabet{\mathsfit}{bold}{\encodingdefault}{\sfdefault}{bx}{sl}
\newcommand{\tens}[1]{\bm{\mathsfit{#1}}}


Today I use the isomath packages which provides the following:

\renewcommand{\vec}{\vectorsym}
\newcommand{\tens}{\tensorsym}
\newcommand{\mat}{\matrixsym}
\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$:

\DeclareMathOperator{\dalambert}{\Box}
\DeclareMathOperator{\laplace}{\bigtriangleup}