Tout comme subfig
est venu remplacer le fameux package subfigure
, SIunitx
se revendique comme étant le successeur de SIunit.
Tour d’horizon.
Table des matières [Cacher]
Quelques options avant de commencer
Bien entendu, il vous faudra charger le package siunitx
dans le préambule. Je vous recommande de plus l’option « abbreviations », qui va permettre de charger par défaut tout un tas d’abréviations d’unités :
\usepackage[load-configurations = abbreviations]{siunitx} |
De plus, pour respecter la typographie française (virgule comme séparateur des décimales et espace fine pour les milliers), vous pouvez précharger la configuration française :
\sisetup{locale = FR, detect-all, } |
L’option « detect-all » permettra de garder la même fonte que dans le texte.
Écriture des unités
Bien évidemment, siunitx
reprend les fonctionnalités de siunit, mais la syntaxe change un peu.
Nombre + unité (cas simple)
\SI{25000}{\milli\meter} |
Nota : rien ne nous oblige ici à utiliser les macros \milli
et \meter
simplement pour affichers la lettre « m », donc la commande suivante est strictement équivalente :
\SI{25000}{mm} |
Vous remarquerez que le package a le bon goût de mettre en forme le nombre automatiquement : il ajoute une espace fine entre les milliers.
Nombre + unité (cas plus complexe)
Vous l’aurez compris, les plupart des multiplicatifs et des unités élémentaires existent déjà. Reste à combiner toutes ces unités élémentaires.
Exposants
Exemple avec les « m² ». Les deux commandes suivantes sont équivalentes :
\SI{215}{\square\meter} \SI{215}{\meter\squared} |
Unités inverse
Il suffit de placer la commande \per
pour passer l’exposant en négatif.
\SI{210}{\km\per\hour} |
\SI{300}{\watt\per\square\meter} |
Nota : dans le premier exemple, si on avait voulu empêcher l’utilisation d’exposants, c’est-à-dire utiliser « / » pour l’unité réciproque :
\SI[per-mode=symbol]{210}{\km\per\hour} |
Exposants persos
Par défaut, siunitx fournit des exposants jusque 3 (« cubic »). Vous pouvez bien entendu passer une unité à n’importe-quel exposant avec la commande suivante :
\tothe{mon-exposant-perso} |
Puissance de 10
Outre les multiples habituels (\kilo, \mega, \pico etc.), vous pouvez utiliser les puissances de 10 directement dans la valeur donnée :
\SI{6.022e23}{\per\mol} |
Unités seules
Grosse nouveauté par rapport à l’ancien package, il est possible de n’afficher que l’unité, avec la même syntaxe que précédemment, mais en minuscule :
\si{\newton\meter} |
Nota : pour définir le point centré comme séparateur des unités :
\sisetup{inter-units-product=\ensuremath{\cdot}} |
Angles
\ang{15} |
Écriture des nombres
Il est possible de donner des valeurs adimensionnelles, tout en profitant de la mise en forme automatique :
\num{24415.15625} |
On peut même passer plusieurs valeurs en même temps, par exemple pour indiquer des dimensions :
\num{10240x7680} |
Listes et gammes
SIunitx
offre la possibilité de donner des gammes de valeur :
\SIrange{10}{25}{\liter} |
Par défaut, le package
va placer l’unité pour les deux bornes, et utiliser « to » comme séparateur. Pour obtenir le résultat ci-dessus, il nous faut donc :
\sisetup{ range-phrase=--, % Utilise le tiret court pour dire "de... à" range-units=single, % Cache l'unité sur la première borne } |
De même, on peut définir une liste exhaustive :
\SIlist{0;8;16;32;64}{\mega b} |
Là encore, il nous faut personnaliser un peu les options pour traduire le « and » par défaut :
\sisetup{ list-final-separator= { et }, % Place "et" à la fin de la liste list-units=single % L'unité ne s'affiche qu'au dernier élément } |
Définir ses propres unités
Si vous avez des unités à rallonge, vous serez peut-être tentés de créer des raccourcis. Exemple pour la conductance :
\DeclareSIUnit{\cond}{\watt\per\kelvin\per\meter\squared} |
Il vous suffira ensuite d’utiliser l’unité \cond
pour afficher vos watt-par-kelvin-et-par-mètre-carré
…
Pour aller plus loin
Une seule référence : la documentation du package bien sûr !
Bonne compilation !