Les mathématiques scientifiques suivent une convention internationale sur ce qui se compose en italique et ce qui se compose droit (romain) ; cette convention est l’ISO 80000-2, adoptée au Japon sous le nom de JIS Z 8000-2. La règle tient en une ligne : ce qui peut varier est en italique, ce qui a un sens fixe est droit. Mais si l’on écrit du LaTeX sans y penser, les règles se répartissent nettement en deux tas. \sin, \partial et les chiffres sont déjà corrects, tandis que la base e, l’unité imaginaire i, le différentiel d et la constante π sortent en italique par défaut — donc non conformes. Cette page fait le tri entre ce que la norme demande et la manière d’y répondre en LaTeX avec \mathrm{d}x, \uppi, isomath et le math-style=ISO d’unicode-math, en vérifiant le résultat par extraction des codes de caractères réellement présents dans le PDF.
ISO 80000-2 et JIS Z 8000-2 (anciennement JIS Z 8201)
ISO 80000-2 (Quantities and units — Part 2: Mathematics) est la norme internationale qui fixe à la fois le sens des symboles mathématiques et leur composition — leur fonte. Le texte en vigueur est la deuxième édition de 2019 (la première datait de 2009), assortie d’une version corrigée publiée en novembre 2021. Le Japon l’a adoptée comme norme identique : JIS Z 8000-2:2022, « Quantities and units — Part 2: Mathematical signs and symbols », publiée en 2022, après quoi JIS Z 8201:1981, en service depuis plus de quarante ans, a été retirée le 22 mars 2022. Les manuels anciens et les chartes internes citent encore JIS Z 8201, ou son ancêtre ISO 31-11, mais la référence actuelle est ISO 80000-2 / JIS Z 8000-2.
Pourquoi une norme descend-elle jusqu’à la fonte ? Parce qu’en mathématiques la fonte elle-même porte du sens. Selon le contexte, e peut être une variable ou la base du logarithme naturel, 2,718… ; en composant la variable en italique et la constante en droit, le lecteur les distingue sans annotation. La norme érige cette distinction en règle mondiale afin que la notation ne dérive pas entre articles, manuels et documents techniques — et cette dérive fait de vrais dégâts : si le symbole d’une grandeur et celui d’une unité partagent la même fonte, nul ne sait si m est une masse ou un mètre. Composer les mathématiques en LaTeX est un bon point de départ, car en mode mathématique les lettres s’inclinent automatiquement tandis que les noms de fonctions comme \sin et les chiffres ordinaires sont droits d’emblée.
La règle centrale : variable donc italique, fixe donc droit
Une seule idée est au cœur de la norme : une grandeur dont la valeur peut changer selon le contexte est en italique ; tout ce qui a un sens ou une valeur fixe est droit. Les variables x et y, les paramètres a et b tenus pour constants sur le moment, et les symboles de fonctions génériques f et g n’ont pas de valeur fixée : ils sont donc en italique — ce qui est exactement le comportement par défaut du mode mathématique de LaTeX, la conformité est offerte. De l’autre côté, sont droits : les constantes mathématiques à valeur déterminée (e, i, π), l’opérateur différentiel d et ses proches (le ∂ partiel, etc.), les noms de fonctions définies systématiquement (sin, exp, ln, Γ), ainsi que les chiffres et les symboles d’unités. La position de la norme est simple : aucun de ces éléments n’est une variable, donc aucun ne doit porter la fonte des variables.
Dans les cas douteux, le test rapide est : pourrait-on renommer ce symbole avec une autre lettre ? Remplacez x par t : la formule garde son sens — c’est donc une variable, en italique. On ne peut pas renommer le d du dx d’une intégrale : c’est un opérateur au sens fixe, donc droit. Le même test explique pourquoi le s de \sin et le k de \mathrm{kg} sont irremplaçables.
Droit ou italique en un coup d’œil : jusqu’où vont les réglages de LaTeX
Réponse courte : LaTeX satisfait déjà les noms de fonctions, le signe partiel ∂, les chiffres et le grec majuscule, et vous laisse gérer e, i, π, l’opérateur différentiel d, les unités, ainsi que vecteurs et tenseurs. Dans le tableau ci-dessous, « par défaut : OK » signifie que le mode mathématique nu compose déjà selon la norme, et « action requise » qu’il faut rendre le symbole droit — ou gras italique — explicitement.
| Élément | Selon la norme | Écriture en LaTeX |
|---|---|---|
variables | Variables et grandeurs x, y, t en italique | x (défaut du mode mathématique — OK) |
parameters | Paramètres et fonctions génériques a, b, f, g en italique | a, f(x) (défaut — OK) |
\mathrm{e} | La base du logarithme naturel e est droite | \mathrm{e}. Un e seul est italique, donc non conforme. Action requise |
\mathrm{i} | L’unité imaginaire i (j en électrotechnique) est droite | \mathrm{i} / \mathrm{j}. Action requise |
\uppi | La constante π est droite | \uppi (via upgreek ou unicode-math). Un \pi seul est italique. Action requise |
\mathrm{d} | L’opérateur différentiel d est droit | \mathrm{d}x. Un d seul est italique, donc non conforme. Action requise |
\partial | Le signe de dérivée partielle ∂ est droit | \partial (déjà droit — OK) |
\sin | Les fonctions définies sin, exp, ln sont droites | \sin, \exp, \ln (déjà droits — OK) |
\Gamma | Le grec majuscule employé comme fonction, Γ, est droit | \Gamma (droit par défaut en LaTeX standard — OK ; voir toutefois la section ci-dessous) |
digits | Les chiffres 0–9 sont droits | 123 (déjà droits — OK) |
\unit | Les symboles d’unités m, kg, s sont droits | \unit{} / \qty{}{} de siunitx. Action requise |
\vectorsym | Vecteurs et matrices a, A en gras italique | \bm{a}, ou \vectorsym{a} d’isomath. Action requise |
\tensorsym | Les tenseurs T sont en sans empattement gras italique | \tensorsym{T} d’isomath. Action requise |
\mathrm{d}x : rendre droits le différentiel d et les constantes e et i
La réponse à la question la plus fréquente est brève : entourez-le de \mathrm{…}. En mode mathématique LaTeX, e, i et d sont de simples lettres et sortent en variables italiques ; \mathrm{e}, \mathrm{i} et \mathrm{d} sont droits et se distinguent nettement d’une variable e ou d. Dans une intégrale, l’usage veut qu’on ajoute une espace fine, comme dans \int_0^1 x^2 \,\mathrm{d}x (la norme ne légifère pas sur la quantité d’espace, mais la pratique est quasi universelle pour la lisibilité). Une rectification au passage : on croise parfois la commande \mathup, mais elle n’est pas définie par isomath. unicode-math définit \mathup comme alias de \mathrm, et kpfonts ou mismath, entre autres, ont la leur. À la mesure, sous unicode-math, \mathrm{d}, \mathup{d} et \symup{d} ont tous trois produit U+0064, un simple d droit, tandis qu’un d nu donnait U+1D451, le d italique mathématique. \mathup est donc un synonyme de \mathrm, pas autre chose.
Taper \mathrm{d} à chaque fois est fastidieux, et l’oubli finira par se produire. L’usage est donc de définir une commande courte, une fois, dans le préambule. Avec \newcommand{\dd}{\mathrm{d}}, on écrit \dd x dans le corps du texte ; et si la règle change plus tard, une seule ligne suffit pour que tout le document suive. Semez au contraire des \mathrm{d} littéraux partout et vous serez démuni le jour où l’on redemandera le d italique. Se conformer à la norme, c’est en pratique nommer ses conventions et les tenir en un seul endroit.
% define once in the preamble
\newcommand{\dd}{\mathrm{d}} % upright differential operator
\newcommand{\eu}{\mathrm{e}} % base of the natural logarithm
\newcommand{\iu}{\mathrm{i}} % imaginary unit
% ...
\[
\eu^{\iu\uppi} + 1 = 0, \qquad
\frac{\dd}{\dd x}\,\eu^{x} = \eu^{x}, \qquad
\int_0^{\infty} \eu^{-x}\,\dd x = 1.
\]Le piège de \uppi : un π droit entraîne une autre fonte
La façon habituelle d’obtenir un π droit est \uppi du paquet upgreek, mais elle a un coût qu’on remarque rarement : upgreek utilise Euler Roman par défaut. La ligne \ExecuteOptions{Euler} du paquet le dit, et de fait, composer $\uppi$ après \usepackage{upgreek} incorpore EURM10 — une fonte de la famille Euler dessinée par Hermann Zapf. Votre document en Computer Modern porte alors un glyphe d’un autre dessinateur. Si cela gêne, \usepackage[Symbol]{upgreek} va chercher les lettres dans URW Symbol (StandardSymL). Laquelle convient le mieux dépend de la fonte du texte : regardez la sortie avant de trancher.
Autre chose à savoir : upgreek ne fournit que le grec minuscule. De \upalpha à \upomega, tout y est, mais \upGamma n’est pas défini et provoque ! Undefined control sequence. C’est un choix, non un oubli : en LaTeX standard, le grec majuscule est déjà droit. Et si vous utilisez unicode-math, upgreek est inutile : ce paquet engendre automatiquement \uppi comme \upGamma, en abrégés de \symup{…}.
Le grec majuscule droit est un usage TeX, pas une règle ISO
LaTeX standard compose \Gamma, \Omega et les autres majuscules grecques en droit. C’est la tradition TeX de Knuth, non une exigence de l’ISO 80000-2. Pour la norme, une majuscule grecque employée comme variable — un angle Θ, par exemple — devrait s’incliner comme toute variable, et seule une fonction au nom établi, telle la fonction gamma Γ, peut rester droite. Le mécanisme est d’une simplicité déconcertante : en LaTeX standard, \Gamma vaut \mathchar"7000, soit la famille 0, la famille droite operators. fixmath (de Walter Schmidt), chargé en interne par isomath, la change en \mathchar"7100. Un seul chiffre hexadécimal fait passer le grec majuscule dans la famille 1, la famille letters en italique mathématique — et permet au passage à \mathbf et aux autres alphabets d’agir dessus.
Si vous préférez ne pas charger tout isomath, un document pdfLaTeX obtient souvent le même résultat par une option de son paquet de fontes mathématiques. newtxmath propose slantedGreek et uprightGreek ; à la mesure, \usepackage[slantedGreek]{newtxmath} a fait passer \Gamma à \mathchar"7100, contre \mathchar"7400 par défaut. Il existe aussi une option frenchmath pour les documents suivant l’usage français. Quelle que soit la voie retenue, l’essentiel est de fixer l’inclinaison du grec majuscule une fois pour tout le document et de s’y tenir. Si Θ est italique à une page et droit à la suivante, le lecteur se demandera s’il s’agit de deux grandeurs distinctes.
Ce que math-style=ISO change vraiment : les points de code, mesurés
Sous XeLaTeX ou LuaLaTeX avec unicode-math, toute la politique de fonte bascule sur une seule clé : math-style=, dont les valeurs sont TeX (défaut), ISO, french, upright et literal. L’effet se mesure au lieu de se supposer. Le tableau ci-dessous provient de la composition de $\Gamma\ \alpha\ A\ a\ \partial\ \pi$ sous LuaLaTeX, suivie de l’extraction des caractères du PDF et du relevé de leurs points de code Unicode. Avec math-style=ISO, le gamma majuscule passe visiblement de U+0393 (droit) à U+1D6E4 (italique mathématique). C’est exactement là que la norme et la tradition TeX s’opposent.
| Réglage | Grec majuscule Γ | Grec minuscule α | Partiel ∂ | Latin minuscule a |
|---|---|---|---|---|
math-style=TeX | U+0393 droit | U+1D6FC italique | U+1D715 italique | U+1D44E italique |
math-style=ISO | U+1D6E4 italique | U+1D6FC italique | U+1D715 italique | U+1D44E italique |
math-style=french | U+0393 droit | U+03B1 droit | U+2202 droit | U+1D44E italique |
math-style=upright | U+0393 droit | U+03B1 droit | U+2202 droit | U+0061 droit |
Deux enseignements ressortent de ce tableau. D’abord, math-style=ISO laisse π en italique (U+1D70B). La norme veut la constante π droite, mais unicode-math n’a aucun moyen de distinguer un π constant d’un π variable : le \uppi (ou \symup{\pi}) de la section précédente reste donc nécessaire même en style ISO. Ensuite, l’existence même de la valeur math-style=french est parlante : l’usage typographique français compose le grec droit dans les deux casses, et les capitales latines aussi. Il n’existe pas une seule politique « correcte » : il y a des traditions régionales, et le paquet le reconnaît en en faisant une option. Le gras a sa propre clé, bold-style= ; avec la valeur par défaut TeX, \symbf{v} est gras droit (U+1D42F). Pour les vecteurs gras italiques exigés par la norme, fixez bold-style=ISO ou employez \symbfit (U+1D497).
% compile with xelatex or lualatex
\usepackage{amsmath}
\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmathfont{STIX Two Math}
% ...
\[
\symup{e}^{\symup{i}\uppi} + 1 = 0, \qquad
\int_0^1 x^2 \,\symup{d}x = \frac{1}{3}, \qquad
\symbfit{v} = \symbfit{A}\,\symbfit{x}.
\]Vecteurs en gras italique, tenseurs en sans empattement gras italique
La norme prescrit aussi une fonte selon le type de grandeur : vecteurs et matrices en gras italique, tenseurs en sans empattement gras italique. Le principal piège est ici que le familier \mathbf{v} produit un gras droit, et non le gras italique exigé. La solution rapide est \bm{v} du paquet bm, qui ajoute du poids en conservant l’inclinaison. Pour une mise en œuvre plus fidèle, il y a isomath, qui propose \vectorsym{v}, \matrixsym{A} et \tensorsym{T} — des commandes nommées d’après le sens. Cette nomenclature paie en pratique : en relisant sa source six mois plus tard, \bm{A} ne dit rien de ce qu’est A — matrice, vecteur ou simple mise en valeur — là où \matrixsym{A} le dit d’un coup d’œil.
Attention toutefois : isomath fait discrètement deux choses. D’abord, il redéfinit \mathbf en gras italique (codage OML, bx/it). C’est conforme à la norme, mais cela change l’aspect d’un manuscrit existant qui employait \mathbf comme gras droit : relisez tout le texte si vous l’adoptez en cours de route. Ensuite, comme il charge fixmath en interne, le grec majuscule devient italique. Un détail encore : Computer Modern n’a pas de sans empattement gras italique pour les maths, si bien que \tensorsym inscrit dans le journal une note de substitution de fonte — Font shape OML/cmbr/bx/it in size <10> not available — qui est une information, pas une erreur. Lors de la mesure, c’est la famille cmbright qui a pris le relais. Dans un document riche en tenseurs, il vaut la peine de regarder une fois le substitut et de décider s’il convient.
\usepackage{isomath} % loads fixmath: capital Greek becomes italic
% NOTE: isomath also redefines \mathbf as bold ITALIC (OML bx/it)
% ...
\[
\vectorsym{v} = \matrixsym{A}\,\vectorsym{x},
\qquad
\tensorsym{T}_{ij}.
\]Une politique pratique : jusqu’où se conformer, où transiger
Suivre strictement la norme ou s’en tenir à l’usage local dépend du document. La question décisive est simple : la revue ou la charte maison exige-t-elle la conformité ISO/JIS ? Si oui, la politique ci-dessous suffit. Sinon, une adoption partielle est tout à fait raisonnable — n’introduire que \mathrm{d}, par exemple, ce qui améliore la lisibilité dans toutes les disciplines. Quel que soit le choix, gardez la politique uniforme à l’intérieur d’un document. Rien ne déroute plus vite un lecteur qu’un même symbole italique à une page et droit à la suivante.
- Rendre e, i et d droits. Définir
\dd,\euet\iucomme\mathrm{…}dans le préambule et n’écrire que les commandes courtes dans le corps. - Pour un π strict, utiliser
\uppid’upgreek— mais son réglage par défaut introduit des formes Euler Roman : comparez avec l’option[Symbol]avant de trancher. - Laisser les unités à siunitx. Éviter les
\mathrm{…}à la main et employer\unit{}et\qty{}{}, qui règlent d’office espacement et unités composées. - Vecteurs et matrices en gras italique. Non pas
\mathbf(gras droit) mais\bm, ou les\vectorsym/\matrixsym/\tensorsymconformes d’isomath. - Noms de fonctions, signe partiel et chiffres ne demandent rien.
\sin,\cos,\log,\lim,\partialet123satisfont déjà la norme. Pour un nom de fonction personnel,\DeclareMathOperator{\rank}{rank}d’amsmathdonne la même forme droite et le même espacement. - Trancher une fois pour le grec majuscule et ne plus y toucher. Pour l’incliner :
isomath(viafixmath), leslantedGreekdenewtxmath, oumath-style=ISO.
Un dernier mot sur le paquet physics. Il séduit parce qu’il fournit un \dd droit pour les différentielles et un \dv pour les dérivées, mais ses noms de commandes entrent notoirement en conflit avec d’autres paquets. Lors d’un essai, charger physics et siunitx ensemble les a fait se disputer la définition de \qty, avec pour résultat ! Missing $ inserted. et ! Extra }, or forgotten $. (un physics-patch existe pour y remédier, et des solutions de rechange comme le paquet derivative sont aussi employées depuis peu). Cette histoire est racontée en entier sur la page consacrée à physics. Les unités elles-mêmes relèvent de la page siunitx : allez-y pour les unités composées ou les chiffres significatifs. Être conscient de ce que la fonte signifie et l’appliquer de manière cohérente : au fond, la conformité ne tient qu’à cela.