LaTeX list
Im Standard LaTeX gibt es bereits Umgebungen für verschiedene Auflistungen, die drei bekanntesten dürften wohl die description
, die itemize
und die enumerate
Umgebungen sein. Diese haben jeweils ein eigenes Einsatzgebiet. Darüber hinaus gibt es eine Vielzahl von verschiedenen Paketen, die diese Umgebungen verändern und auch neue Umgebungen bereitstellen.
description Umgebung
description Beispiele
itemize Umgebung
itemize Beispiele
Label bei itemize ändern
enumerate Umgebung
enumerate Beispiele
Label bei enumerate ändern
Listen Parameter
Zusätzliche Pakete
paralist Paket
enumitem Paket
enumerate Paket
outline Paket
Zu Beginn wird für Standard Listen Umgebungen gezeigt, wie Sie diese verwenden können.
description
Die description
Umgebung wird verwendet, um markierte Listen zu erstellen. Die Beschriftung (Label) wird dabei fett geschrieben und linksbündig gesetzt. Eine zu lange Beschriftung kann dabei in die erste Zeile des Textes reinreichen. Im Fall, dass die Umgebung ohne einen \item
Befehl gesetzt wird, erhalten Sie die Fehlermeldung ! LaTeX Error: Something's wrong--perhaps a missing \item.
. Der Fehler lässt sich durch das Einfügen eines \item
Befehls beheben.
Dieser Listentyp kann unter anderem zur Erstellung eines Glossars verwendet werden.
description Beispiele
Nachfolgend einige Beispiele für die Verwendung einer description
Umgebung.
Eingabe:
\begin{description} \item[Ein Stichpunkt] Hier muss etwas stehen um den Effekt sehen zu können \item[Noch ein Stichpunkt] und Text dahinter \end{description}
Ausgabe:
Ein Stichpunkt Hier muss etwas stehen um den Effekt sehen zu können
Noch ein Stichpunkt und Text dahinter
Für den Fall, dass Sie einen Zeilenumbruch hinter der Beschriftung beziehungsweise dem Label haben möchten, ist das auch möglich.
\begin{description} \item[Ein Stichpunkt] \hfill \\ Hier muss etwas stehen um den Effekt sehen zu können \item[Noch ein Stichpunkt] \hfill \\ und Text dahinter \end{description}
Ausgabe:
- Ein Stichpunkt
- Hier muss etwas stehen um den Effekt sehen zu können
- Noch ein Stichpunkt
- und Text dahinter
itemize
Umgebung
Die itemize
Umgebung wird verwendet, um nicht nummerierte Listen zu erstellen. Jeder Eintrag (Item) einer Liste beginnt mit dem Befehl \item
. Die Umgebung muss mindestens ein Item beinhalten. Die itemize
Umgebung kann in sich selbst bis zu vier Ebenen tief geschachtelt werden.
itemize Beispiele
Nachfolgend einige Beispiele für die Verwendung einer itemize
Umgebung.
Eingabe:
\begin{itemize} \item erstes Stichwort \item zweites Stichwort \end{itemize}
Ausgabe:
- erstes Stichwort
- zweites Stichwort
Wie bereits erwähnt, kann die itemize
Umgebung in sich selbst in bis zu vier Ebenen tief geschachtelt werden. Für jede Ebene gibt es dabei ein anderes Label. Im Fall, dass Sie mehr wie vier Ebenen schachteln, erhalten Sie die folgende Fehlermeldung:! LaTeX Error: Too deeply nested.
.
Ebene | Symbol/Label | Beispiel |
1. Ebene | Bullet | • |
2. Ebene | Spiegelstrich | – |
3. Ebene | Asterisk | * |
4. Ebene | Punkt | · |
Eingabe:
\begin{itemize} \item erste Ebene \begin{itemize} \item zweite Ebene \begin{itemize} \item dritte Ebene \begin{itemize} \item vierte Ebene \end{itemize} \end{itemize} \end{itemize} \end{itemize}
Ausgabe:
- erste Ebene
-
– zweite Ebene
-
* dritte Ebene
-
·vierte Ebene
Das ganze Beispiel lässt sich auch komplexer gestalten.
Eingabe:
\begin{itemize} \item erste Ebene \begin{itemize} \item zweite Ebene \begin{itemize} \item dritte Ebene \begin{itemize} \item vierte Ebene \end{itemize} \item wieder auf dritter Ebene \item noch ein Eintrag \end{itemize} \item hier ist die zweite Ebene \end{itemize} \item und hier die erste Ebene \end{itemize}
Ausgabe:
- erste Ebene
-
– zweite Ebene
-
* dritte Ebene
-
· vierte
Ebene
Aussehen der Labels verändern
Die Ausgabe der Labels kann mithilfe der Option des item
Befehls verändert werden. Der Aufbau ist dabei \item[Option]
, das Label kann hier als Option eingestellt werden. Die nachfolgenden Beispiele zeigen verschiedene Verwendungsmöglichkeiten dieser Option.
Beispiel 1 Zeichenmischung
Eingabe:
\begin{itemize} \item[a)] Ein Stichpunkt \item[*)] Noch ein Stichpunkt \item[?)] Stichpunkt drei \end{itemize}
Ausgabe:
a) Ein Stichpunkt
*) Noch ein Stichpunkt
?) Stichpunkt drei
Beispiel 2 einheitliche Zeichen
Eingabe:
\begin{itemize} \item[a] Ein Stichpunkt \item[b] Noch ein Stichpunkt \item[c] Stichpunkt drei \end{itemize}
Ausgabe:
a Ein Stichpunkt
b Noch ein Stichpunkt
c Stichpunkt drei
Beispiel 3 kein Zeichen
Eingabe:
\begin{itemize} \item[] Ein Stichpunkt \item[] Noch ein Stichpunkt \item[] Stichpunkt drei \end{itemize}
Ausgabe:
Ein Stichpunkt
Noch ein Stichpunkt
Stichpunkt drei
Anstelle die Option von jedem einzelnen \item
zu verändern, können die Label-Felder verändert werden.
Ebene | Label-Feld |
1. Ebene | \labelitemi |
2. Ebene | \labelitemii |
3. Ebene | \labelitemiii |
4. Ebene | \labelitemiv |
Angenommen Sie möchten alle Ebenen mit einem · versehen.
\renewcommand{\labelitemi}{$\bullet$} \renewcommand{\labelitemii}{$\bullet$} \renewcommand{\labelitemiii}{$\bullet$} \renewcommand{\labelitemiv}{$\bullet$}
Dann ändert sich das Beispiel wie folgt.
Eingabe:
\begin{itemize} \item erste Ebene wie gewohnt mit $\bullet$ \begin{itemize} \item jetzt hat auch die zweite Ebene ein $\bullet$ \begin{itemize} \item ebenso die dritte Ebene \begin{itemize} \item und auch die vierte Ebene hat ein $\bullet$ \end{itemize} \end{itemize} \end{itemize} \end{itemize}
Ausgabe:
- erste Ebene wie gewohnt mit •
-
• jetzt hat auch die zweite Ebene ein •
-
• ebenso die dritte Ebene
-
• und auch die vierte Ebene hat ein •
enumerate
Umgebung
Die enumerate
Umgebung wird verwendet, um nummerierte Listen zu erstellen. Jeder Eintrag (Item) einer nummerierten Liste beginnt mit dem Befehl \item
. Die Umgebung muss mindestens ein Item beinhalten. Die enumerate
Umgebung kann wie die itemize Umgebung
in sich selbst bis zu vier Ebenen tief geschachtelt werden. Werden fünf oder mehr Ebenen verwendet, kommt es zu dieser Fehlermeldung ! LaTeX Error: Too deeply nested.
.
Standardmäßig erfolgt die Nummerierung auf der ersten Ebene mit arabischen Ziffern/Zahlen., auf der zweiten Ebene mit geklammerten (kleinen lateinischen Buchstaben), auf der dritten Ebene mit kleinen römischen Ziffern/Zahlen. und auf der vierten Ebene mit großen lateinischen Buchstaben.. Bei den Ebenen 1,3 und 4 ist jeweils der Punkt . und bei Ebene 2 die Klammern ( ) Bestandteil der Nummerierung.
Ebene | Symbol/Label | Beispiel |
1. Ebene | arabischen Ziffern/Zahlen. | 1. |
2. Ebene | (kleiner lateinischer Buchstabe) | (b) |
3. Ebene | kleinen römischen Ziffern/Zahlen. | iii. |
4. Ebene | großen lateinischen Buchstaben. | D. |
enumerate Beispiele
Nachfolgend einige Beispiele für die Verwendung einer enumerate
Umgebung.
\begin{enumerate} \item erste Ebene \begin{enumerate} \item zweite Ebene \begin{enumerate} \item dritte Ebene \begin{enumerate} \item vierte Ebene \end{enumerate} \end{enumerate} \end{enumerate} \end{enumerate}
Ausgabe:
- erste Ebene
-
(a) zweite Ebene
-
i. dritte Ebene
-
A. vierte Ebene
Eingabe:
\begin{enumerate} \item erste Ebene \begin{enumerate} \item zweite Ebene \begin{enumerate} \item dritte Ebene \begin{enumerate} \item vierte Ebene \end{enumerate} \item wieder auf dritter Ebene \item noch ein Eintrag \end{enumerate} \item hier ist die zweite Ebene \end{enumerate} \item und hier die erste Ebene \end{enumerate}
Ausgabe:
- erste Ebene
-
(a) zweite Ebene
- dritte Ebene
- vierte Ebene
- wieder auf dritter Ebene
- noch ein Eintrag
(b) hier ist die zweite Ebene
- dritte Ebene
Aussehen der Labels bei enumerate
verändern
Auch bei der enumerate
Umgebung kann die Ausgabe des Labels verändert werden. Soll die Ausgabe der Nummerierung verändert werden, müssen die jeweiligen Labels beziehungsweise das Label-Feld geändert werden.
Ebene | Zähler | Zählerwert | Label-Feld |
1. Ebene | enumi | \theenumi | \labelenumi |
2. Ebene | enumii | \theenumii | \labelenumii |
3. Ebene | enumiii | \theenumiii | \labelenumiii |
4. Ebene | enumiv | \theenumiv | \labelenumiv |
Angenommen Sie möchten die Punkte und die Klammern entfernen, dann müssten die Label-Felder wie folgt umdefiniert werden.
\renewcommand{\labelenumi}{\theenumi} \renewcommand{\labelenumii}{\theenumii} \renewcommand{\labelenumiii}{\theenumiii} \renewcommand{\labelenumiv}{\theenumiv}
Dem entsprechend verändert sich auch die Ausgabe des Beispiels.
Eingabe:
\begin{enumerate} \item erste Ebene \begin{enumerate} \item zweite Ebene \begin{enumerate} \item dritte Ebene \begin{enumerate} \item vierte Ebene \end{enumerate} \end{enumerate} \end{enumerate} \end{enumerate}
Ausgabe:
-
1 erste Ebene
-
a zweite Ebene
-
i dritte Ebene
-
A vierte Ebene
Sollen die Ziffern/Zahlen geändert werden, funktioniert das in ähnlicher Weise. Dazu wird das Darstellungssymbol (Label-Feld) der Aufzählung geändert. Ein typisches Beispiel ist die Erstellung einer sogenannten ABC-Liste, das heißt eine Liste, die mit Buchstaben zählt.
\renewcommand{\labelenumi}{\alph{enumi}} \begin{enumerate} \item Eins \item Zwei \item Drei \end{enumerate}
Ausgabe:
-
a Eins
b Zwei
c Drei
Beispiel 2 abc Aufzählung mit Klammern
Eingabe:
\renewcommand{\labelenumi}{\alph{enumi})} \begin{enumerate} \item Eins \item Zwei \item Drei \end{enumerate}
Ausgabe:
-
a) Eins
b) Zwei
c) Drei
Beispiel 3 römische Aufzählung
Eingabe:
\renewcommand{\labelenumi}{\roman{enumi}} \begin{enumerate} \item Eins \item Zwei \item Drei \end{enumerate}
Ausgabe:
-
i Eins
ii Zwei
iii Drei
Beispiel 4 römische Aufzählung alternativ mit Punkt. Eingabe:
\renewcommand{\labelenumi}{\roman{enumi}.} \begin{enumerate} \item Eins \item Zwei \item Drei \end{enumerate}
Ausgabe:
-
i. Eins
ii. Zwei
iii. Drei
Beispiel 5 römische Aufzählung alternativ mit Klammerung.
Eingabe:
\renewcommand{\labelenumi}{\roman{enumi})} \begin{enumerate} \item Eins \item Zwei \item Drei \end{enumerate}
Ausgabe:
-
i) Eins
ii) Zwei
iii) Drei
Analog lassen sich auch die Ausgaben der anderen Ebenen verändern. Im folgenden Beispiel werden alle Ebenen mit verschieden Varianten römisch gezählt.
Eingabe:%... \renewcommand{\labelenumi}{\Roman{enumi}} \renewcommand{\labelenumii}{\roman{enumii}} \renewcommand{\labelenumiii}{\Roman{enumiii}.} \renewcommand{\labelenumiv}{(\roman{enumiv})} %... \begin{enumerate} \item erste Ebene \begin{enumerate} \item zweite Ebene \begin{enumerate} \item dritte Ebene \begin{enumerate} \item vierte Ebene \end{enumerate} \end{enumerate} \end{enumerate} \end{enumerate} %...
Ausgabe:
-
I erste Ebene
-
i zweite Ebene
-
I. dritte Ebene
-
(i) vierte Ebene
Listen Parameter
Neben den bereits gezeigten Parametern verfügen die Listen Umgebung auch noch über weitere, wie zum Beispiel die Abstände zwischen den einzelnen Elementen etc. in der nachfolgenden Abbildung sind diese dargestellt. Bei den gezeigten Parametern handelt es sich um Längen, die vertikalen Abstände sind normalerweise Gummilängen, mit Plus- und Minuskomponenten, um dem Programm Flexibilität bei der Einstellung der Seite zu geben. Ändern können Sie diese mit dem \setlength{Name der Länge}{Neue Werte}
Befehl.
Die Größen hängen zum einen von der verwendeten Dokumentenklasse (article
,report
oder book
) ab und zum anderen von der gesetzten Standardschriftgröße (10pt
, 11pt
oder 12pt
).
\topsep
Vertikaler Abstand am oberen und unteren Ende der Liste, zusätzlich zu\parskip
.\partosep
Vertikaler Abstand, der über\topsep+\parskip
hinaus am oberen und unteren Rand der gesamten Umgebung hinzugefügt wird, wenn der Listeninstanz eine Leerzeile vorausgeht. Dabei sollte Sie beachten, dass eine Leerzeile im LaTeX-Quelltext vor der Liste den Abstand sowohl am oberen als auch am unteren Rand der Liste ändert (vergrößert).\labelwidth
Horizontale Länge beziehungsweise die Breite, die für das Label vorgesehen ist. Wenn das Label breiter als diese Länge ist, hat das mit unter Einfluss auf die Darstellung.\labelsep
Horizontaler Abstand zwischen dem Label und dem Text. In den Standardklassen beträgt er 0,5 em.\itemindent
Zusätzlicher horizontaler Abstand der ersten Zeile jedes Eintrags über\leftmargin
hinaus. Der Standardwert ist 0pt.\listparindent
Horizontaler Abstand des zusätzlichen Zeileneinzugs über\leftmargin
hinaus für den zweiten und nachfolgende Absätze innerhalb eines Listenelements. Ein negativer Wert bedeutet einen „Ausrückung“. Der Standardwert ist 0pt.\parsep
Vertikaler Abstand zwischen Absätzen innerhalb einesItems
.\leftmargin
Horizontaler Abstand zwischen dem linken Rand der umschließenden Umgebung oder dem linken Rand der Seite, wenn es sich um eine Liste der obersten Ebene handelt und dem linken Rand dieser Liste. Er muss positiv sein. In den Standard Dokumentenklassen wird dieser Wert für eine Liste der obersten Ebene auf den Wert\leftmargini
gesetzt, während er für eine Liste, die innerhalb einer Liste der obersten Ebene verschachtelt ist, auf\leftmarginii
gesetzt wird. Tiefer verschachtelte Listen erhalten die Werte von\leftmarginiii
bis\leftmarginvi
.\rightmargin
Horizontaler Abstand zwischen dem rechten Rand der Liste und dem rechten Rand der umschließenden Umgebung. Der Standardwert ist 0pt. Er muss positiv sein.\itemsep
(Zusätzlicher) Vertikaler Abstand, der über\parsep
hinausgehet.
Zusätzliche Pakete
Die zusätzlichen Pakete dienen vor allem dazu, die gezeigten Parameter bezüglich der Labels und der Abstände leichter ändern zu können. Daneben bieten einige Pakete auch neue Listenumgebungen an beziehungsweise unterstützen das Erstellen von neuen eigenen Umgebungen.
paralist Paket
Das paralist
Paket bietet die Möglichkeit, den Zähler der enumerate
per Option der Umgebung zu verändern.
\begin{enumerate}[Zähler] \item Stichpunkt 1 \item Stichpunkt 2 \end{enumerate}
Wobei als Zähler i und I für kleine beziehungsweise große römische Ziffer und a und A für kleine beziehungsweise große lateinische Buchstaben gesetzt werden können.
Daneben bietet das paralist
Paket auch einige neue Listenumgebungen, unter anderem die compactitem
Umgebung und die compactenum
Umgebung. Dabei handelt es sich, um die kompakter gestalteten Varianten der itemize
und enumerate
Umgebungen. Die vertikalen Abstände sind hier deutlich kleiner als in den ursprünglichen Varianten.
\begin{compactitem} \item Stichpunkt 1 \item Stichpunkt 2 \end{compactitem}
und
\begin{compactenum}[Zähler] \item Stichpunkt 1 \item Stichpunkt 2 \end{compactenum}
enumitem
Das Paket enumitem
bietet die Möglichkeit, die drei Standard Listen Umgebungen description
, itemize
und enumerate
anzupassen. Dabei können sowohl die Labels, die vor den Listeneinträgen stehen, als auch die Abstände zwischen den Einträgen verändert werden. Die Änderungen können lokal und global erfolgen. Darüber hinaus besteht auch die Möglichkeit eigene neue Listentypen zu erstellen.
Beispiel:
\begin{description}[font=\sffamily\Huge] \item[Tolles Label] \hfill \\ Was da alles so steht. \item[Noch eins] \hfill \\ Aber auch mit wenig Text. \end{description}
Ausgabe:
- Tolles Label
- Was da alles so steht.
- Noch eins
- Aber auch mit wenig Text.
Beispiel enumerate
, bei der enumerate
Umgebung kann der Zählerstand auch an eine darunterliegende Ebene übergeben werden, um zum Beispiel eine Durchnummerierung in der Form 1.1.2.1 zu erhalten. Nachfolgendes Beispiel zeigt dabei die Vorgehensweise.
\begin{enumerate}[label=\arabic*.] \item eins \item zwei \begin{enumerate}[label=\theenumi\arabic*] \item eins \item zwei \begin{enumerate}[label=\theenumii.\arabic*] \item eins \item zwei \begin{enumerate}[label=\theenumiii.\arabic*] \item eins \item zwei \end{enumerate} \end{enumerate} \end{enumerate} \end{enumerate}
- 1. eins
- 2. zwei
- 2.1 eins
- 2.2 zwei
- 2.2.1 eins
- 2.2.2 zwei
- 2.2.2.1 eins
- 2.2.2.2 zwei
Die Werte für die vertikalen und horizontalen Abstände können über ein Key = Value System für die jeweilige Liste als Option von dieser gesetzt werden. Dabei stehen die folgenden Werte zur Verfügung.
Vertikale Abstände: topsep
, partopsep
, parsep
und itemsep
.
Horizontale Abstände: leftmargin
, rightmargin
, listparindent
, labelwidth
, labelsep
und itemindent
.
enumerate Paket
Das enumerate
stellt eine verbesserte Variante der enumerate
Umgebung zur Verfügung. Die verschiedenen Zähler große und kleine lateinische Buchstaben, große und kleine römische Ziffern und die arabischen Ziffern können jetzt als Option der Umgebung in Form der folgenden Tokens A, a, I, i oder 1 gesetzt werden.
Eingabe:
\begin{enumerate}[A] \item erste Ebene \begin{enumerate}[a] \item zweite Ebene \begin{enumerate}[I] \item dritte Ebene \begin{enumerate}[i] \item vierte Ebene \end{enumerate} \begin{enumerate}[1] \item vierte Ebene zweiter Stichpunkt \end{enumerate} \end{enumerate} \end{enumerate} \end{enumerate}
Ausgabe:
-
A erste Ebene
-
a zweite Ebene
-
I dritte Ebene
-
i vierte Ebene
1 vierte Ebene zweiter Stichpunkt
outline Paket
Das outline
Paket bietet mit der outline
Umgebung eine nummerierte Auflistung, die bis zu sechs Ebenen umfassen kann.
\documentclass{article} \usepackage{outline} %... \begin{document} %... \begin{outline} \item erste Ebene \begin{outline} \item zweite Ebene \begin{outline} \item dritte Ebene \begin{outline} \item vierte Ebene \begin{outline} \item auf der fünften Ebene \begin{outline} \item und noch auf der sechsten Ebene \end{outline} \end{outline} \end{outline} \item wieder auf dritter Ebene \item noch ein Eintrag \end{outline} \item hier ist die zweite Ebene \end{outline} \item und hier die erste Ebene \end{outline} %... \end{document}