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
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 !