physics in a nutshell logo

Neue Webseite zum Physikstudium!

Header-Logo: genug-davon

Das siunitx-Package: Zahlen mit Einheiten und/oder Fehlern schön darstellen

Motivation

Als Physiker verwendet man oft physikalische Größen, die aus einer Zahl (evtl. mit Fehler) und einer Einheit bestehen. Daneben sind die auftretenden Zahlen mitunter sehr großer oder sehr klein, sodass es sich anbietet, andere Darstellungen als die gewöhnliche Dezimaldarstellung zu verwenden.

An diesen Stellen kann es passieren, dass es zu einer unschönen Darstellung kommt. Schreibt man Einheiten als normale Buchstaben, z.B. Masse 'm', so wird diese im Mathemodus als Variable interpretiert und daher kursiv geschrieben. Dies sollte jedoch vermieden werden. Außerdem wird der Abstand zwischen Zahl und Einheit dann nicht ideal sein. Viele dieser Probleme löst das siunitx-Package, das zusätzlich auch noch etwas mehr Struktur in den LaTeX-Quellcode bringt.

Das siunitx-Paket

Das Paket ist Teil des texlive-science -Paketes. Falls Du dieses noch nicht heruntergeladen hast, kannst Du das machen, indem Du

sudo apt-get install texlive-science

in die Konsole eingibst. Die Einbindung in LaTeX erfolgt folgendermaßen:

\usepackage[separate-uncertainty, exponent-product = \cdot, ...]{siunitx}

wobei die Angaben in den eckigen Klammern optional sind. Die erste sorgt z.B. dafür, dass Werte mit Fehlern in der Form $(183.32 \pm 0.04) \,\text{m}$ dargestellt werden.

Einfache Anwendungsbeispiele

Einfache Einheiten:

\si{\kilo\gram\metre\per\second\squared} $\text{kg}\,\text{m}\,\text{s}^{-2}$
\si{kg.m\s^2} $\text{kg}\,\text{m}\,\text{s}^{-2}$
\si{\metre\per\ampere\second\squared} $\text{m}\,\text{A}\,\text{s}^{-2}$

Automatische Formatierung von Zahlen:

\num{9e-3} $9 \cdot 10^{-3}$

Zahlen mit Einheiten - \SI{...}{...} als Kombination aus \num{...} und \si{...}:

\SI{125.23e-6}{\metre\tothe{3}\per\second} $125.23\cdot 10^{-6}\,\text{m}^3\,\text{s}^{-1}$

Fehlerangaben

\SI{125.23(4)e-6}{\metre\per\second} $125.23\,(4) \cdot 10^{-6}\,\text{m}\,\text{s}^{-1}$
\SI[separate-uncertainty]{125.23(4)e-6}
{\metre\per\second}
$(125.23 \pm 4) \cdot 10^{-6}\,\text{m}\,\text{s}^{-1}$

Einheiten als Brüche

\SI[per-mode=reciprocal]{12}{\metre\per\second} $12\,\text{m}\,\text{s}^{-1}$
\SI[per-mode=fraction]{12}{\metre\per\second} $12\frac{\text{m}}{\text{s}}$
\SI[per-mode=symbol]{12}{\metre\per\second} $12 \,\text{m}/\text{s}$

Winkel und Kürzen

\ang{90} $90^\circ$
\ang{1;3;4} $1^\circ 2'3''$
\si{\cancel\metre\ampere\per\cancel\metre\per\second} $\frac{\cancel{\text{m}}\,\text{A}}{\cancel{\text{m}}\,\text{s}}$

Globale Einstellungen

Um Darstellungseigenschaften für das ganze Dokument festzulegen, verwendet man \sisetup {...} in der Präambel:

\sisetup{
	seperate-uncertainty,		% Fehler werden mit +- dargestellt
	exponent-product = \cdot,	% \cdot statt x als Multiplikationzeichen
	output-product = \cdot
}

Weitere Möglichkeiten

Daneben bietet das Paket auch noch einige andere Möglichkeiten. So können Zahlen automatisch gerundet (s. round-mode, round-precision) und Tabellen mit vielen Zahlen besonders schön formatiert werden. Eine Übersicht mit allen Funktionen und vielen Beispielen findet ihr in der offiziellen Dokumentation.