enumitem ist das Standardpaket zum Umformen von itemize, enumerate und description über Schlüssel=Wert-Optionen. Anstatt interne Befehle manuell mit \renewcommand zu überschreiben, schreiben Sie die Einstellungen in die eckigen Klammern der Umgebung – \begin{enumerate}[label=(\alph*), leftmargin=*]. Beschriftungsformat, Abstand zwischen Elementen, Ränder, wo die Nummerierung beginnt oder endet, sogar Inline-Listen (Einlauflisten) und neu definierte Listentypen: Fast alles über Listen lebt hier.
Die Schlüssel=Wert-Idee
Laden Sie es in der Präambel mit \usepackage{enumitem}, und die drei grundlegenden Listenumgebungen erhalten ein optionales Argument. Schreiben Sie durch Kommas getrennte key=value-Paare in die Klammern – \begin{itemize}[...] – und schon ist diese eine Liste konfiguriert. Wenn ein Wert vollständig in geschweifte Klammern eingeschlossen ist, wird das äußere Paar entfernt (das Standardverhalten von keyval). Um die geschweiften Klammern selbst beizubehalten, verdoppeln Sie sie also. Das Paket wird von Javier Bezos gepflegt; Die aktuelle CTAN-Version ist v3.11 (06.02.2025).
\usepackage{enumitem}
% ...
\begin{itemize}[itemsep=1ex, leftmargin=1cm]
\item 余白と項目間を調整した箇条書き
\item 二つめの項目
\end{itemize}Dieselben Schlüssel können in einer Hierarchie überschrieben werden – für das gesamte Dokument, pro Listentyp oder für eine Liste (über \setlist unten). Der spezifischste Wert gewinnt, sodass Sie eine globale Richtlinie festlegen und diese nur bei Bedarf überschreiben können.
Label- und Referenzformat (label, ref)
In enumerate wird die Bezeichnung mit label= gesetzt. Innerhalb des Werts stehen die markierten Formen von \arabic, \alph, \Alph, \roman und \Roman (\arabic* und Freunde) für den aktuellen Zähler auf dieser Ebene. Also ergibt label=(\arabic*) (1) (2) (3), label=\alph*) ergibt a) b) c) und label=\Roman*. ergibt I. II. III. Diese Sternformen brauchen kein Argument; Dabei handelt es sich um die Sonderschreibweisen, die sich innerhalb eines Etiketts auf den Zählerwert erweitern.
\begin{enumerate}[label=(\alph*)]
\item りんご
\item みかん
\item ぶどう
\end{enumerate}Standardmäßig bestimmt die Einstellung label= auch, wie Querverweise (\ref) aussehen. Um Referenzen ein anderes Format zu geben, fügen Sie ref= hinzu. Beispielsweise können Sie die Beschriftung in der Liste als (1) mit Klammern drucken, während \ref eine bloße 1 ergibt.
\begin{enumerate}[label=(\arabic*), ref=\arabic*]
\item \label{step:one} 下ごしらえ
\item 加熱する
\end{enumerate}
手順~\ref{step:one} に戻る。Beachten Sie, dass die Werte label und ref bewegliche Argumente sind, sodass fragile Befehle möglicherweise \protect benötigen (die markierten Zähler selbst sind in Ordnung). Es ist auch hilfreich, sich daran zu erinnern, dass durch die Änderung von label= auch die Gegendarstellung auf dieser Ebene (\theenumi usw.) aktualisiert wird.
Abstände und Ränder (itemsep, leftmargin, …)
Die Längen, die LaTeX intern verwendet, werden direkt in enumitem zu Schlüsselnamen. Vertikal: topsep (über und unter der Liste), partopsep (ein zusätzliches Bit, wenn die Liste auf einen Absatz folgt), parsep (zwischen Absätzen innerhalb eines Eintrags) und itemsep (zwischen Einträgen). Horizontal: leftmargin / rightmargin (die Seitenränder), labelsep (Lücke zwischen Etikett und Körper), labelwidth (die Breite des Etikettenfelds), itemindent und enumitems eigener labelindent (die Lücke von der Außenseite zum linken Rand des Etikettenfelds).
| Schlüssel | Bedeutung | Achse |
|---|---|---|
topsep | Leerzeichen oberhalb und unterhalb der Liste | Vertikal |
partopsep | Zusätzlicher Platz, wenn die Liste einem Absatz folgt | Vertikal |
parsep | Abstand zwischen Absätzen innerhalb eines Eintrags | Vertikal |
itemsep | Leerzeichen zwischen den Einträgen | Vertikal |
leftmargin | Linker Rand des Listenhauptteils | Horizontal |
labelsep | Lücke zwischen der Beschriftung und dem Eintragstext | Horizontal |
labelwidth | Breite der Box, die das Etikett enthält | Horizontal |
labelindent | Lücke von außen zum Etikettenfeld (hinzugefügt durch enumitem) | Horizontal |
align | Etikettenausrichtung (left / right (Standard) / parleft) | — |
Diese sind nicht unabhängig; Sie sind durch \leftmargin + \itemindent = \labelindent + \labelwidth + \labelsep verbunden. Wenn Sie also einigen Schlüsseln * oder ! geben, kann enumitem den Rest berechnen. Insbesondere ist leftmargin=* das alltägliche Muster, das die Größe des linken Rands an das Etikett anpasst, und labelsep=* ist praktisch, wenn der Textkörper an einer festen Stelle beginnen soll. align= steuert, ob die Beschriftung linksbündig, rechtsbündig (Standardeinstellung) oder in einer linksbündigen Parbox platziert wird – und sorgt so für Ordnung bei der Anordnung von Zahlen und Markierungen.
Kompakte Listen und Verknüpfungen (nosep, noitemsep, wide)
Ein paar Tastenkombinationen passen den Abstand schnell an. nosep setzt den gesamten vertikalen Abstand um und zwischen den Einträgen (topsep, partopsep, parsep und itemsep zusammen bei 0pt) auf Null, um eine dicht gepackte Liste zu erhalten. noitemsep entfernt nur den Leerraum zwischen Elementen und Absätzen (itemsep=0pt, parsep=0pt), während der Leerraum über und unter der Liste erhalten bleibt.
\begin{itemize}[nosep]
\item 詰まった項目その一
\item 詰まった項目その二
\item 詰まった項目その三
\end{itemize}Ein weiterer praktischer Schlüssel ist wide. Dadurch wird der linke Rand auf Null gesetzt, sodass die Beschriftung als Teil des Textes und der gesetzten Einträge wie gewöhnliche Absätze gelesen wird (intern wird sie zu align=left, leftmargin=0pt, labelindent=\parindent, labelwidth=0pt, itemindent=! und dergleichen erweitert). Um die Einrückung zu ändern, übergeben Sie einen Wert, wie in wide=\parindent.
Und um enumerate-Beschriftungen im Kurzstil des enumerate-Pakets zu schreiben, laden Sie es mit \usepackage[shortlabels]{enumitem}. Wenn Sie dann A, a, I, i oder 1 als erstes Element in die Klammern schreiben, bedeutet dies jeweils \Alph*, \alph*, \Roman*, \roman* oder \arabic* (z. B. \begin{enumerate}[(1)]).
Start- und Fortsetzungsnummern (Start, Resume)
Es gibt auch Tasten zur Nummerierung. start= legt die Nummer des ersten Elements fest (start=5 beginnt bei 5). Um einen Absatz zu unterbrechen und dann mit der Nummerierung ab dem vorherigen enumerate fortzufahren, verwenden Sie resume. Um auch die Optionseinstellungen der vorherigen Liste zu übernehmen, verwenden Sie resume* (diese Sternchenform macht nur in den Klammern der Umgebung Sinn).
\begin{enumerate}
\item 最初の項目
\item 二つめの項目
\end{enumerate}
途中に説明の段落が入る。
\begin{enumerate}[resume]
\item 三つめの項目(番号が続く)
\end{enumerate}resume wird lokal fortgesetzt. Um die Nummerierung über mehrere getrennte Listen hinweg als eine globale Einheit zu verketten, verwenden Sie die Funktion „Serien“: Kennzeichnen Sie die Startliste mit series=name und geben Sie bei späteren Listen resume=name oder resume*=name ein.
Globale Einstellungen und neue Listentypen (\setlist, \newlist)
Es ist mühsam, jedes Mal die gleichen Einstellungen zu schreiben. \setlist wendet Einstellungen in großen Mengen auf einen ausgewählten Listentyp und eine ausgewählte Listenebene an. \setlist[enumerate,1]{...} zielt auf Ebene 1 von enumerate ab, \setlist[itemize]{...} zielt auf alle Ebenen von itemize ab und \setlist{...} (ohne Klammern) erreicht jede Ebene jeder Liste. Das markierte \setlist* ergänzt die vorherigen Einstellungen, anstatt sie zu überschreiben.
% プリアンブルで一括設定
\setlist{nosep} % すべてのリストの空きを詰める
\setlist[itemize]{leftmargin=*} % itemize の左余白を自動調整
\setlist[enumerate,1]{label=(\arabic*), ref=\arabic*}Darüber hinaus können Sie Ihre eigenen Listentypen definieren. \newlist{name}{type}{max-depth} klont eine der drei Grundlisten (enumerate, itemize oder description) in eine neue Umgebung, und Sie sehen sie dann mit \setlist[name]{...} an (Sie müssen mindestens die Bezeichnung festlegen). Da Sie ihm einen logischen Namen geben können, ist die Absicht des Manuskripts klarer erkennbar.
\newlist{steps}{enumerate}{1}
\setlist[steps]{label=\textbf{Step \arabic*.}, leftmargin=*}
% 本文では独自の環境として使える
\begin{steps}
\item お湯を沸かす
\item 麺を入れる
\end{steps}Inline-Listen (Einlauflisten).
Sie können Listen auch horizontal innerhalb eines Absatzes festlegen – „Inline-Listen“. Laden Sie das Paket als \usepackage[inline]{enumitem} und Sie erhalten die markierten Umgebungen enumerate*, itemize* und description*. Sie teilen sich die Beschriftung ihrer angezeigten Gegenstücke und Tasten wie label= funktionieren wie gewohnt.
\usepackage[inline]{enumitem}
% ...
必要なものは
\begin{enumerate*}[label=(\arabic*)]
\item 小麦粉
\item 砂糖
\item 塩
\end{enumerate*}
の三つです。Die Zeichensetzung in einer Inline-Liste wird mit Schlüsseln wie itemjoin (zwischen Elementen; standardmäßig ein Leerzeichen), itemjoin* (für ein anderes Trennzeichen direkt vor dem letzten Element) und afterlabel (direkt nach der Bezeichnung; standardmäßig ~) optimiert. Beachten Sie, dass Inline-Listenelemente standardmäßig eingerahmt sind, sodass Floats, verschachtelte Listen und angezeigte Mathematik nicht hineinpassen können (verwenden Sie mode=unboxed, wenn Sie sie benötigen). Sie eignen sich für kurze Einlaufphrasen.