LaTeX Extra > LaTeX Pakete > Siunitx Die Seite als PDF Siunitx Paket


1 siunitx

Das siunitx Paket ist insbesondere innerhalb der Naturwissenschaften eines der Paket die man auf jeden Fall braucht beziehungsweise das auf jeden Fall verwendet werden muss. Das Paket erlaubt es Zahlen und Einheiten innerhalb des Dokumentes mit Hilfe von neuen Befehlen zu setzen. Auf den ersten Blick erscheint es mehr Arbeit zu verursachen als die Zahlen und Einheiten einfach »zu tippen« . Aber der Vorteil von dem Paket beziehungsweise der Verwendung der Befehle zeigt sich spätestens dann, wenn die Darstellungsweisen der Zahlen und Einheiten, aufgrund abweichender Anforderungen, geändert werden müssen. Durch die Nutzung von siunitx lässt sich der Anpassungsaufwand auf ein Minimum reduzieren. Diese kurze Einführung kann die Origaldokumentation in keiner Weise ersetzen.

1.1 Einbinden

Das Paket wird mit \usepackage{siunitx} eingebunden. Die Anpassung der Darstellung erfolgt über den \sisetup{Option, Option, ...} Befehl. Die Optionen können dabei global wie auch bei den einzelnen Befehlen, falls vorhanden, gesetzt werden. Um ein einheitliches Erscheinungsbild zu gewährleisten sollte aber darauf verzichtet werden bei den einzelnen Befehlen per Option die Darstellung zu verändern. Und stattdessen eher der \sisetup{Option, Option, ...} Befehl verwendet werden, um eine einheitliche Darstellung im Dokument zu erreichen.

1.2 deutsche Anpassungen

Im Fall, dass das Dokument in deutsch verfasst wird, sind ein paar Anpassungen notwendig. Das Paket selbst verwendet nur zwei Wörter (and und to), aber um sicher zu stellen, dass diese auf deutsch geschrieben werden, sollte die Sprachoption ngerman von babel als Dokumentenklassenoption geschrieben werden.

\documentclass[ngerman]{article}  
\usepackage{babel}  
...

Mit der Option locale = DE wird das Paket auf die deutsche Konvention umgestellt, dann wird zum Beispiel das Komma als Trenner bei einer Dezimalzahl erkannt.

\documentclass[ngerman]{article}  
\usepackage{babel}  
\usepackage{siunitx}  
\sisetup{locale = DE}  
...

2 Zahlen und Einheiten

Das Paket stellt 9 zusätzliche Befehle für die Darstellung von Zahlen, Einheiten und Winkel bereit. Darüber hinaus gibt es zusätzlich die Möglichkeit Optionen zu setzen. Worauf im Allgemeinen aber verzichtet werden sollte.

\num[Optionen]{Zahl}  
\si[Optionen]{Einheit}  
\SI[Optionen]{Zahl}[per-Einheit]{Einheit}  
\numlist[Optionen]{Zahl;Zahl;Zahl}  
\numrage[Optionen]{Zahl Anfang}{Zahl Ende}  
\SIlist[Optionen]{Zahlen}{Einheit}  
\SIrange[Optionen]]{Zahl Anfang}{Zahl Ende}{Einheit}  
\tablenum[Optionen]{Zahl}  
\ang[Optionen]{Winkel}

2.1 Zahlen

Zahlen werden mit dem \num{Zahl} Befehl gesetzt. Bei Dezimalzahlen können sowohl Komma als auch der Punkt zum trennen verwendet werden. Die Ausgabe hängt von den Gepflogenheiten der verwendeten Sprache ab. Wenn Deutsch als Sprache verwendet wird, wird die Dezimalzahl als Kommazahl ausgegeben, und im Fall das Englisch genutzt wird erfolgt die Ausgabe als Punkt getrennte Zahl. Dies funktioniert im Text- und Mathemodus, auch mit oder ohne einer führenden Null. Und positiven wie auch negativen Exponenten, mit Fehlerterm und als Produktschreibweise.

\num{123,45} oder \num{123.45}  
$\num{123,45} \text{ oder } \num{123.45} $  
\num{0,123} \num{,123} $\num{0,123}\  \num{,123} $  
\num{123e45} \num{543e-12}  
\num{123+-45} \num{123\pm 45}  
\num{1 x 2} \num{1 / 2}

123,45 oder 123,45

123,45 oder 123,45

0,123 0,123 0,123 0,123

123 1045 543 10-12

123 ± 45 123 ± 45

1 × 2 1/2

Wertelisten Mit Befehl \numlist{Zahl 1;Zahl 2;Zahl 3} lassen sich Wertelisten darstellen, die einzelnen Elemente müssen dabei mit Semikola voneinander getrennt werden.
\numlist{12; 34; 5,6; 7.8} 12, 34, 5,6 und 7,8

Wertebereiche Der Befehl \numrage{Zahl Anfang}{Zahl Ende} erstellt einen Wertebereich. \numrange{1}{10} 1 bis 10

2.2 Einheiten

Einheiten werden mit Hilfe des \si{Einheit} Befehl gesetzt. Die Angabe der Einheit sollte dabei als Makro erfolgen, dadurch ist gewährleistet, dass die Optionen auch alle funktionieren. In Tabelle 1 befinden sich die SI Basisgrößen und Tabelle 6 die abgeleiteten Größen; eine Auswahl von gebräuchlichen Nicht SI Einheiten findet sich in den Tabellen 8 und 9. Die SI konformen Präfixe finden sich in Tabelle 7.


Tabelle 1: SI Basisgrößen In Anlehnung an Table 1 – SI base units. [Wright, S.8]
Bezeichnung Einheit Makro Ausgabe
Länge Meter \metre m
Masse Kilogramm \kilogram kg
Zeit Sekunde \second s
Stromstärke Ampere \ampere A
Temperatur Kelvin \kelvin K
Stoffmenge Mol \mole mol
Lichtstärke Candela \candela cd

Auch für die aus den SI Basisgrößen abgeleiteten Größen gibt es die entsprechenden Makros. Im Anhang Tabelle 10 lassen sich die Befehle für das Ausdrücken in SI Basisgrößen finden.

Auch gibt es von den wichtigen Einheit eine Kurzschreibweise. Eine Auswahl davon findet sich in der Tabelle 2. Anhand der Beispiel für Kilometer und Kiloohm zeigen auch wie sich die Einheitenvorsätze Präfixe setzen lassen. Die Einheiten lassen sich auch Potenzieren, mit \square wird hoch 2 und mit \cubic hoch 3 gesetzt. Daneben existieren auch die Befehle \squared und \cubed die zum gleichen Ergebnis führen. Der Unterschied zwischen beiden Varianten ist, das \square und \cubic vor der Einheit und \squared beziehungsweise \cubed nach der Einheit geschrieben werden. Für andere Potenzen kann der Befehl \tothe{Potenz} genutzt werden. Mehrere Einheiten können mit dem \per Befehl kombiniert werden.


Tabelle 2: Kleine Übersicht der Einheiten mit Kurzbefehl Auszug aus Table 21 – Abbreviated units. [Wright, S.32 – 35]
Einheit Makro Ausgabe Kurzmakro Ausgabe
Gramm \si{\gram} g \si{\g} g
Kilogramm \si{\kilogram} kg \si{\kg} kg
Meter \si{\metre} m \si{\m} m
Kilometer \si{\kilo\metre} km \si{\km} km
Sekunde \si{\second} s \si{\s} s
Mol \si{\mole} mol \si{\mol} mol
Ampere \si{\ampere} A \si{\A} A
Liter \si{\litre} l \si{\l} l
Liter \si{\liter} L \si{\l} L
Hertz \si{\hertz} Hz \si{\Hz} Hz
Newton \si{\newton} N \si{\N} N
Pascal \si{\pascal} Pa \si{\Pa} Pa
Kiloohm \si{\kilo\ohm} kΩ \si{\kohm} kΩ
Volt \si{\volt} V \si{\V} V
Watt \si{\watt} W \si{\W} W
Joule \si{\joule} J \si{\J} J
Elektronenvolt \si{\electronvolt} eV \si{\eV} eV
Farad \si{\farad} F \si{\F} F
Kelvin \si{\kelvin} K \si{\K} K
Dezibel \si{\decibel} dB \si{\dB} dB

Beispiel

\si{\newton} = \si{\kilo\gram\metre\per\square\second}\\

N = kg m s2

Weitere Einheiten  
Das Paket besitzt die Möglichkeit zusätzliche Einheiten verfügabr zu machen. Dabei handelt es sich um sehr fachspezifische Einheiten wie Parsec und andere. Damit diese Einheiten genutzt werden können müssen die entsprechenden Befehle vor \begin{document} eingefügt werden.

...  
\DeclareSIUnit\parsec{pc}  
\begin{document}  
...

Eine Übersicht über die bereits verfügbaren Einheiten findest sich auf S.36 [Wright].

Neben der bereits gezeigten Variante die Befehle für die neuen Einheiten in der Präambel zu definieren gibt es auch die Möglichkeit diese in einer Konfigurationsdatei mit dem Namen siunitx.cfg zu definieren. Diese Datei wird, wenn sie sich mit gleichen Ordner wie das tex Dokument liegt, beim kompilieren ausgewertet und die neuen Befehle stehen dann in diesem Dokument zu Verfügung. Die Datei siunitx.cfg wird automatisch ausgewertet, das bedeutet, dass sie nicht extra in das tex Dokument eingebunden werden muss. Neben neuen Einheitenbefehlen kann die siunitx.cfg auch Optionen die mit dem \sisetup{Option 1, Option...} Befehl gesetzt wurden beinhalten. Der Aufbau der Datei ist dabei wie folgt.

\ProvidesFile{siunitx.cfg}  
\sisetup{locale = DE}  
\DeclareSIUnit\franklin{Fr}  
...

Als dritte Variante gibt es die Möglichkeit die neuen Einheiten in einer separaten tex Datei zu speichern und diese mit Hilfe des \input{Dateinname} Befehls in die Präambel einzubinden. Der Name der Datei kann dabei frei gewählt werden. Beim einbinden ist nur darauf zu achten, dass die Datei erst nach dem siunitx Paket eingebunden wird, da es andernfalls eine Fehlermeldung der Art ! Undefined control sequence. l.1 \DeclareSIUnit gibt.

...  
\usepackage{siunitx}  
\sisetup{locale = DE,separate-uncertainty}  
\DeclareSIUnit\parsec{pc}  
\DeclareSIUnit\lightyear{ly}  
\input{MeineEinheiten}  
\begin{document}  
...

Die drei Methoden sind auch dafür geeignet neue eigene selbstdefinierte Einheit zu verwenden.

per  
Der per Befehl hat 6 Optionen. Der default Wert ist reciprocal. Daneben existieren noch fraction für die Bruchschreibweise, reciprocal-positive-first bei der zuerst alle Einheiten mit positiven Exponenten geschrieben werden und dann erst die Einheiten die negative Exponenten haben, symbol gibt einen Schrägstrich / aus, mit repeated-symbol wird der Schrägstrich mehrmals ausgegeben auch wenn es mathematisch keinen Sinn ergibt beziehungsweise falsch ist, und mit symbol-or-fraction wird bei inline Mathematik ($ …$) ein Schrägstrich / und in displaystyle Mathematik wird die Bruchschreibweise verwendet. Eine Übersicht der Unterschiedlichen Ausgabevarianten findet sich in Tabelle 3.


Tabelle 3: Übersicht der Optionen des per Befehls
Option Code Ausgabe
- \si{\ampere\per\mole\second} A mol1 s
fraction \si{\ampere\per\mole\second}
A s
mol
reciprocal-positive-first \si{\ampere\per\mole\second} A smol1
symbol \si{\ampere\per\mole\second} A s/mol
repeated-symbol \si{\ampere\per\mole\second} A/mol s
symbol-or-fraction \si{\ampere\per\mole\second} A s/mol
symbol-or-fraction \si{\ampere\per\mole\second}
A s
mol

Zahlen mit Einheiten zusammen lassen sich mit dem \SI{Zahl}[per-Einheit]{Einheit} Befehl darstellen. Es handelt sich quasi um eine Kombination der Befehle \num{} und \si{}. Zwischen der Zahl und der Einheit kann auch noch der optionale per Befehl stehen. Je nach gewählter Option verändert sich die Darstellung des Ausdrucks entsprechend.

Beispiel

\SI{1}{\newton} = \SI{1}{\kilo\gram\metre\per\square\second}\\

1 N = 1 kg m s2

Werteliste mit Einheit Mit dem Befehl \SIlist{Zahl1;Zahl2;...}{Einheit} lässt sich eine Werteliste mit Einheit generieren. Standardmäßig wird dabei hinter jede Zahl die Einheit geschrieben. Der Befehl verfügt noch über die list-units Option, die die drei verschiedene Werte brackets, repeat und single haben kann. Beim Wert brackets werden die Zahlen der Werteliste geklammert und nur hinter die Klammer die Einheit geschrieben. Beim Wert repeat wird hinter jede Zahl die Einheit geschrieben. Bei single wird nur hinter die letzte Zahl eine Einheit geschrieben. Die letzten zwei Varianten sind beide ohne Klammerung der Werteliste. Eine Übersicht dazu bietet Tabelle 4.


Tabelle 4: Übersicht der Optionen von list-units
Option Code Ausgabe
- \SIlist{1;3;5;7}{\newton} 1 N, 3 N, 5 N und 7 N
brackets \SIlist{1;3;5;7}{\newton} (1, 3, 5 und 7) N
repeat \SIlist{1;3;5;7}{\newton} 1 N, 3 N, 5 N und 7 N
single \SIlist{1;3;5;7}{\newton} 1, 3, 5 und 7 N

Wertebereich mit Einheit Mit dem Befehl \SIrange{Zahl Anfang}{Zahl Ende}{Einheit} lässt sich ein Wertebereich mit einer Einheit kombinieren. Der Befehl verfügt über die range-units Option, die ebenfalls die Werte brackets, repeat und single haben kann. Beim Wert brackets wird der Wertebereich geklammert und dahinter die Einheit geschrieben. Bei repeat wird hinter beide Zahlen die Einheit geschrieben und bei single nur hinter die zweite Zahl. Eine entsprechende Übersicht findet sich in Tabelle 5.


Tabelle 5: Übersicht der Optionen von range-units
Option Code Ausgabe
- \SIrange{1}{7}{\newton} 1 N bis 7 N
brackets \SIrange{1}{7}{\newton} (1 bis 7) N
repeat \SIrange{1}{7}{\newton} 1 N bis 7 N
single \SIrange{1}{7}{\newton} 1 bis 7 N

2.3 Tabellen

Das Paket stellt zwei zusätzliche Spaltentypen S und s zur Verfügung. Wobei S für die Zahlen und s für die Einheit verwendet werden. Die Zahlen werden zentriert am Dezimalkomma beziehungsweise Punkt ausgerichtet. Die Spalte für die Einheiten (s) wird per default zentriert ausgerichtet. Sollen die Spalten für Zahlen (S) beschriftet werden, muss der Text geklammert {Text} werden.

\begin{tabular}{Ss}  
{Zahlen} & Einheiten\\  
1.234 & \km \\  
23e5  & \meter\squared \\  
e1 &  \m \\  
-1234 & \V \\  
\end{tabular}

Zahlen Einheiten
1.234 km
23e5 m2
e1 m
-1234 V

Um die Ausrichtung der Spalten zu verändern stehen die folgenden Optionen center, left und right zur Verfügung.

S[table-number-alignment = center]  
S[table-number-alignment = left]  
S[table-number-alignment = right]  
 
s[table-unit-alignment = right]  
s[table-unit-alignment = left]

Für den Fall, dass zu wenig Platz für die Darstellung der Exponenten zur Verfügung steht erfolgt folgende Warnung:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
!  
! siunitx error: "table-partial-number"  
!  
! No space reserved for an exponent on line ...  
!  
! See the siunitx documentation for further information.  
!  
! For immediate help type H <return>.  
!...............................................

Eine mögliche Lösung scheint die Anpassung der Option table-figures-exponent zu sein.

\begin{table}  
\centering  
\sisetup{  
table-figures-exponent = 2  
}  
\begin{tabular}{  
S[table-number-alignment = center]  
S[table-number-alignment = left]  
S[table-number-alignment = right]  
}  
1.234 & 1.234 & 1.234 \\  
23e5 & 23e5 & 23e5 \\  
e1 & e1 & e1 \\  
-1234 & -1234 & -1234 \\  
\end{tabular}  
\end{table}

Für die Tabellen gibt es noch den Befehl \tablenum{Zahl} der in der S Spalte im Fall das die Befehle multicolumn beziehungsweise multirow verwendet werden, genutzt werden kann um ansprechendere Ergebnisse zu erzielen.

Eine ausführliche Übersicht über die Tabellenoptionen und die Möglichkeiten die es für die Gestaltung der Tabellen (inklusive der passenden Beispiele) findet sich in Abschnitt 5.14 Tabular material [Wright, S.42-56].

2.4 Winkel

Mit dem Befehl \ang{Winkel} kann ein Winkel als Dezimalzahl angegeben werden und mit \ang{Grad;Minuten;Sekunden} kann ein Winkel in der Form Grad, Bogenminute und Bogensekunde angegeben werden. Bei der letzten Variante müssen immer zwei Semikola enthalten sein.

\ang{47;59;43}475943′′ \ang{47,99} 47,99

2.5 Fehlerterm

Mit der Option separate-uncertainty wird zwischen der Zahl und dem Fehlerterm ein Plusminuszeichen gesetzt. Unabhängig davon welche Schreibweise für den Fehlerterm verwendet wurde.

\num{9.99 +- 0.09}\\  
\num{9.99 \pm 0.09}\\  
\num{9.99(9)}\\

9,99 ± 0,09
9,99 ± 0,09
9,99 ± 0,09

2.6 sisetup Beispiel

Ein sehr kurzes Beispiel für eine sisetup. Das Paket beinhaltet mehrere dutzend verschiedene Optionen.

...  
\usepackage{siunitx}  
\sisetup{locale = DE,  
separate-uncertainty,  
range-units = brackets,  
list-units = single,  
per-mode=symbol-or-fraction}  
...

Literatur

[Wright]   siunitx — A comprehensive (SI) units package Joseph Wright Released 2017/02/19
Abgerufen am 23.02.2017 tug.ctan.org/macros/latex/exptl/siunitx/siunitx.pdf

A Tabellen


Tabelle 6: Abgeleitete Größen in Anlehnung an Table 2 – Coherent derived units in the SI with special names and symbols. [Wright, S.8]
Bezeichnung Einheit Makro Ausgabe in SI Basisgrößen
ebener Winkel Radiant \radian rad 1
Raumwinkel Steradiant \steradian sr 1
Frequenz Hertz \hertz Hz s1
Kraft Newton \newton N m kg s2
Druck Pascal \pascal Pa m1 kg s2
Energie Joule \joule J m2 kg s2
Leistung Watt \watt W m2 kg s3
elektrische Ladung Coulomb \coulomb C s A
elektrische Spannung Volt \volt V m2 kg s3 A1
elektrische Kapazität Farad \farad F m2 kg1 s4 A2
elektrischer Widerstand Ohm \ohm Ω m2 kg s3 A2
elektrischer Leitwert Siemens \siemens S m2 kg1 s3 A2
magnetischer Fluss Weber \weber Wb m2 kg s2 A1
Induktion Tesla \tesla T kg s2 A1
Induktivität Henry \henry H m2 kg s2 A2
Celsius-Temperatur Grad Celsius \degreeCelsius C K
Lichtstrom Lumen \lumen lm cd
Beleuchtungsstärke Lux \lux lx cd2
Radioaktivität Becquerel \becquerel Bq s1
Energiedosis Gray \gray Gy m2 s2
Äquivalentdosis Sievert \sievert Sv m2 s2
katalytische Aktivität Katal \katal kat s1 mol


Tabelle 7: SI Präfixe in Anlehnung an Table 6 – SI prefixes. [Wright, S.10]
Präfix Makro Symbol -
Yotta \yotta Y 1024
Zetta \zetta Z 1021
Exa \exa E 1018
Peta \peta P 1015
Tera \tera T 1012
Giga \giga G 109
Mega \mega M 106
Kilo \kilo k 103
Hekto \hecto h 102
Deka \deca da 101
Dezi \deci d 101
Zenti \centi c 102
Milli \milli m 103
Mikro \micro μ 106
Nano \nano n 109
Piko \pico p 1012
Femto \femto f 1015
Atto \atto a 1018
Zepto \zepto z 1021
Yokto \yocto y 1024


Tabelle 8: Nicht-SI-Einheiten In Anlehnung an Table 3 – Non-SI units accepted for use with the International System of Units. [Wright, S.9]
Bezeichnung Einheit Makro Ausgabe
Fläche Hektar \hectare ha
Volumen Liter \litre l
Liter \liter L
Masse Tonne \tonne t
Zeit Tag \day d
Stunde \hour h
Minute \minute min
Winkel Grad \degree
Winkelminute \arcminute
Winkelsekunde \arcsecond ′′


Tabelle 9: weitere Nicht-SI-Einheiten (Auswahl) In Anlehnung an Table 4 – Non-SI units whose values in SI units must be obtained experimentally. und Table 5 – Other non-SI units. [Wright, S.9]
Bezeichnung Einheit Makro Ausgabe
Atomare Masseneinheit u \atomicmassunit u
Druck Bar \bar bar
Millimeter Quecksilbersäule \mmHg mmHg
Energie Elektronenvolt \electronvolt eV
Schalldruckpegel Bel \bel B
Neper \neper Np
Länge Ångström \angstrom Å
Seemeile \nauticalmile M
Astronomische Einheit \astronomicalunit ua


Tabelle 10: Abgeleitete Größen in SI Basis Makros
Bezeichnung Einheit in SI Basis Makros Ausgabe
\radian rad \si{1} 1
\steradian sr \si{1} 1
\hertz Hz \si{\per\second} s1
\newton N \si{\metre\kilo\gram\per\square\second} m kg s2
\pascal Pa \si{\per\metre\kilo\gram\per\square\second} m1 kg s2
\joule J \si{\square\metre\kilo\gram\per\square\second} m2 kg s2
\watt W \si{\square\metre\kilo\gram\per\cubic\second} m2 kg s3
\coulomb C \si{\second\ampere} s A
\volt V \si{\square\metre\kilo\gram\per\cubic\second\per\ampere} m2 kg s3 A1
\farad F \si{\per\square\metre\per\kilo\gram\second\tothe{4}\square\ampere} m2 kg1 s4 A2
\ohm Ω \si{\square\metre\kilo\gram\per\cubic\second\per\square\ampere} m2 kg s3 A2
\siemens S \si{\per\square\metre\per\kilo\gram\cubic\second\square\ampere} m2 kg1 s3 A2
\weber Wb \si{\square\metre\kilo\gram\per\square\second\per\ampere} m2 kg s2 A1
\tesla T \si{\kilo\gram\per\square\second\per\ampere} kg s2 A1
\henry H \si{\square\metre\kilo\gram\per\square\second\per\square\ampere} m2 kg s2 A2
\degreeCelsius C \si{\kelvin} K
\lumen lm \si{\candela} cd
\lux lx \si{\per\square\metre\candela} m2 cd
\becquerel Bq \si{\per\second} s1
\gray Gy \si{\square\metre\per\square\second} m2 s2
\sievert Sv \si{\square\metre\per\square\second} m2 s2
\katal kat \si{\per\second\mole} s1 mol