Comment aligner des nombres sur le séparateur décimal ?#
1. Avec un tableau#
Vous pouvez tout d’abord tricher en utilisant un tableau où une virgule sert
de séparateur de colonnes. Voici un exemple de cette méthode
en mode mathématique avec l’environnement array
:
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\begin{document}
\[
\begin{array}{|r @{,} l|}
1 & 2 \\
233 & 45 \\
x & y \\
\end{array}
\]
\end{document}
2. Avec l’extension dcolumn#
L’extension dcolumn, de David Carlisle, permet d’aligner les nombres
d’un tableau par rapport à leur séparateur décimal. Elle met à cet effet
un type de colonne D
à trois paramètres :
D{⟨séparateur du code⟩}{⟨séparateur affiché⟩}{⟨nombre de décimales⟩}
Ces paramètres sont :
le
⟨séparateur du code⟩
LaTeX comme le⟨séparateur affiché⟩
dans le document final permettent de gérer les variantes linguistiques que sont la virgule, le point ou tout autre symbole vous semblant utile ;le
⟨nombre de décimales⟩
permet de bien définir l’espace qu’occupe le nombre : des nombres avec plus de décimales iront donc déborder dans les autres colonnes.
Voici un exemple avec l’environnement array
(que nous pourrions faire aussi
avec l’environnement tabular
) pour du français avec deux décimales, en créant
au passage notre propre type de colonne basé sur D avec \newcolumntype
:
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{dcolumn}
\newcolumntype{,}{D{,}{,}{2}} % Notre style de colonne "," basé sur "D"
\begin{document}
\[
\begin{array}{|,|}
1,2 \\
233,45 \\
x,y \\
10
\end{array}
\]
\end{document}
3. Avec l’extension siunitx#
Toujours dans un tableau, en dehors du mode mathématique,
l’extension siunitx, de Joseph Wright, met à disposition le style
de colonne S
, aligné sur le marqueur décimal mais aussi les milliers
(espace en français, virgule en anglais), comme le montre l’exemple suivant.
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage[locale=FR]{siunitx} % Pour du français
\begin{document}
\begin{tabular}{lS}
A & 1,23 \\
B & 123456,123456 \\
\end{tabular}
\end{document}
4. Avec l’extension numprint#
L’extension numprint, d’Harald Harders, fournit des types
de colonnes n
et N
qui permettent d’aligner les valeurs
sur le séparateur décimal (le premier pour un tableau mathématique, le second
pour un tableau textuel). Ces types de colonne ont le format suivant :
n{⟨nombre de chiffre avant la virgule⟩}{⟨nombre de chiffre après la virgule⟩}
En voici un exemple :
\documentclass{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{numprint}
\begin{document}
\[
\begin{array}{|n{3}{2}|}
1,2 \\
233,45 \\
%x,y \\ % Restituerait "x 0,0 y" sinon
10
\end{array}
\]
\end{document}