Eigene Labels

Die Markierung (oder Bezeichnung) am Kopf jedes Listeneintrags können Sie ändern. Verwandeln Sie die Kugel von itemize in eine Raute oder die „1“. von enumerate in das römische „I“. oder „(a)“ – der Schlüssel sind eine Handvoll Makros, die pro Ebene bereitgestellt werden. Diese Seite behandelt sowohl den klassischen Weg über \renewcommand (itemizes \labelitemi und enumerates \theenumi und \labelenumi) als auch den modernen, einfacheren label= Schlüssel von enumitem und zeigt, wie sie sich unterscheiden und wann man sie erreichen sollte.

Artikelmarkierungen werden geändert

itemizes Markierungen leben in den Makros \labelitemi, \labelitemii, \labelitemiii und \labelitemiv, eine pro Verschachtelungsebene (die i / ii / iii / iv sind römische Ziffern für die Ebenen 1–4). In den Standardklassen sind die Standardwerte: Ebene 1 ein durchgezogenes Aufzählungszeichen \textbullet (•), Ebene 2 ein fetter Endstrich (–), Ebene 3 ein Sternchen \textasteriskcentered (*) und Ebene 4 ein zentrierter Punkt \textperiodcentered (·).

Um die Markierung für eine ganze Ebene zu ändern, definieren Sie das entsprechende Makro mit \renewcommand neu und platzieren Sie es in der Präambel oder direkt vor dem Bereich, wo Sie es haben möchten. Um zum Beispiel das erste Level zu einem Diamanten zu machen:

latex
\renewcommand{\labelitemi}{$\diamond$}
\begin{itemize}
  \item この階層の記号は菱形になる
  \item 二つめの項目
\end{itemize}

Um die Markierung für nur einen Eintrag zu ändern, geben Sie direkt nach \item eine Bezeichnung in eckigen Klammern ein. \item[$\star$] macht die Markierung dieses Eintrags zu einem Stern und \item[--] zu einem Bindestrich. Eine Klammerbezeichnung wie diese ist standardmäßig fett und rechtsbündig eingestellt.

Zahlen aufzählen – der Zähler und \theenumi

enumerate ist eine Stufe komplizierter. Seine Nummerierung wird durch einen Zähler pro Ebene gesteuert: enumi, enumii, enumiii, enumiv. Wie der Wert jedes Zählers (1, 2, 3 …) dargestellt wird, wird durch \theenumi, \theenumii usw. entschieden, deren Standardwerte in den Standardklassen sind:

EbeneZählerStandard `\the…`Druckt
\theenumi1enumi\arabic{enumi}1, 2, 3 …
\theenumii2enumii\alph{enumii}a, b, c …
\theenumiii3enumiii\roman{enumiii}i, ii, iii …
\theenumiv4enumiv\Alph{enumiv}A, B, C …

Um die erste Ebene in römischen Ziffern festzulegen, definieren Sie \theenumi mit \Roman neu. Da \theenumi auch die Zeichenfolge ist, die beim \ref eines solchen Elements erzeugt wird, werden durch eine Änderung die gedruckte Nummer und der Querverweis zusammen aktualisiert (mehr zu Referenzen weiter unten).

latex
\renewcommand{\theenumi}{\Roman{enumi}}
\begin{enumerate}
  \item 第一段階(既定では I. と表示)
  \item 第二段階
\end{enumerate}

\labelenumi versus \theenumi

Das ist der Knackpunkt. Während \theenumi die Darstellung der Zahl festlegt (1 vs. I vs. a), legen die Makros \labelenumi, \labelenumii, … ​​fest, wie das Etikett am Zeilenkopf gedruckt wird. \labelenumi ruft intern \theenumi auf und umschließt es mit Satzzeichen (einem Punkt oder Klammern). Die folgenden Standardklassenstandards fügen überall einen Punkt hinzu, mit Ausnahme von Ebene 2, die in Klammern steht:

BeschriftungsmakroStandarddefinitionDruckt
\labelenumi\theenumi.1. 2. 3. …
\labelenumii(\theenumii)(a) (b) (c) …
\labelenumiii\theenumiii.i. ii. iii. …
\labelenumiv\theenumiv.A. B. C. …

Wenn Sie also nur das Aussehen der Beschriftung ändern möchten (und die Darstellung der Zahl in Ruhe lassen), definieren Sie \labelenumi neu. Um „1“ zu drehen. in „(1)“ schreiben Sie beispielsweise Folgendes. Da \theenumi unberührt bleibt, ergibt ein \ref für das Element immer noch einen bloßen 1 ohne Klammern.

latex
\renewcommand{\labelenumi}{(\theenumi)}
\begin{enumerate}
  \item 行頭は (1) と表示される
  \item (2)、(3) と続く
\end{enumerate}

Kurz gesagt: Das Aussehen der Zahl (I, a, 1) ist \theenumi; Der Gesamtstil des Etiketts (umgebende Klammern oder Punkte) ist \labelenumi. Der Querverweiswert verwendet die bloße Darstellung in \theenumi ohne die Interpunktion des Etiketts – genauer gesagt, LaTeX erstellt die Referenz, indem \theenumi \p@enumi vorangestellt wird (standardmäßig leer). Definieren Sie \p@enumii und Freunde, und Sie können Referenzen erstellen, die die übergeordnete Nummer enthalten, z. B. „1(a)“.

Gegendarstellungsbefehle

Um auszuwählen, wie eine Zahl in \theenumi oder \labelenumi aussieht, verwenden Sie die standardmäßigen Gegendarstellungsbefehle von LaTeX. Jeder verwendet einen Zählernamen als Argument (z. B. \Roman{enumi}) und gibt den Wert dieses Zählers in der gewählten Form aus.

BefehlDrucktBereich / Notizen
\arabic1, 2, 3 … (Arabisch)Negative Werte zulässig
\alpha, b, c … (Kleinbuchstaben)1–26
\AlphA, B, C … (Großbuchstaben)1–26
\romani, ii, iii … (Kleinbuchstaben römisch)
\RomanI, II, III … (Großbuchstaben Roman)
\fnsymbolFußnotensymbole * † ‡ § ¶ ‖ ** †† ‡‡nur 1–9

\alph und \Alph Fehler über 26 hinaus und \fnsymbol Fehler außerhalb von 1–9. Beispielsweise setzt \renewcommand{\theenumi}{\Alph{enumi}} die erste Ebene auf A, B, C …, während \renewcommand{\labelenumi}{\arabic{enumi})} eine Bezeichnung wie „1)“ ergibt.

Der moderne, einfache Weg – enumitem’s label=

Das Neudefinieren von Makros ist leistungsstark, wird jedoch unhandlich, wenn Sie für jede Liste einen anderen Stil wünschen. In den meisten Fällen ist das Paket enumitem sauberer, also greifen Sie zuerst danach. Laden Sie enumitem und Sie können die Beschriftung einer Liste direkt in ihrem optionalen Argument mit label= festlegen.

Innerhalb von label= verwenden Sie markierte Darstellungsbefehle – \alph*, \Alph*, \arabic*, \roman*, \Roman* – die kein Argument annehmen und für den Zähler der aktuellen Ebene stehen. Sie schreiben die Interpunktion daneben, sodass label=(\alph*) „(a)“ und label=\Roman*. „I“ ergibt.

document.tex
\usepackage{enumitem}
% ...
\begin{enumerate}[label=(\alph*)]
  \item ラベルは (a) になる
  \item (b)、(c) と続く
\end{enumerate}

Es funktioniert auch für itemize\begin{itemize}[label=$\star$] gibt den Marker direkt an. Standardmäßig legt label= auch die Form des Querverweises (\ref) fest. Wenn Sie jedoch eine andere Form des Verweises wünschen, verwenden Sie die Taste ref=. Beispielsweise gibt [label=(\alph*), ref=\alph*] am Kopf „(a)“ aus, während \ref ein bloßes „a“ zurückgibt. Es gibt auch label*=, das an die übergeordnete Bezeichnung angehängt wird, um akkumulierte Zahlen wie 1., 1.1., 1.1.1 zu erstellen. … Beachten Sie, dass sich label*= nur für das gedruckte Etikett ansammelt: Die übergeordnete Nummer wird nicht automatisch zu Querverweisen hinzugefügt. Um also eine Referenz wie „1.a“ zu erhalten, müssen Sie sie mit ref= buchstabieren, z. B. ref=\theenumi.\alph*.

Um den gleichen Stil auf jede Liste im Dokument anzuwenden, legen Sie ihn einmal mit \setlist fest und benennen Sie dabei die Art (itemize / enumerate) und die Ebene in eckigen Klammern.

latex
\usepackage{enumitem}
\setlist[enumerate,1]{label=\Roman*.}   % 第1階層を I. II. III.
\setlist[enumerate,2]{label=(\alph*)}    % 第2階層を (a) (b)
\setlist[itemize,1]{label=$\diamond$}    % itemize 第1階層を菱形に

Mit der Option shortlabels von enumitem können Sie auch die knappe Syntax im enumerate-Paketstil verwenden, z. B. \begin{enumerate}[(1)]. Feinere Counter-Arbeiten pro Ebene und Inline-Listen werden auf der enumitem-Seite weiter behandelt.

Ein ausgearbeitetes Beispiel

Endlich ist hier alles in einem Dokument. Die erste Hälfte nutzt die klassische Route, um der obersten Ebene ein römisches „I“ zu verleihen. Stil; Die zweite kommt knapp mit enumitems label= zum gleichen Ergebnis. Beide erzeugen eine identische Ausgabe.

document.tex
% --- 古典的な方法 / the classic way ---
\renewcommand{\theenumi}{\Roman{enumi}}
\renewcommand{\labelenumi}{\theenumi.}
\begin{enumerate}
  \item 下ごしらえ        % I. と表示
  \item 加熱する          % II.
\end{enumerate}

% --- enumitem を使う / with enumitem ---
\usepackage{enumitem}
\begin{enumerate}[label=\Roman*.]
  \item 下ごしらえ        % I.
  \item 加熱する          % II.
\end{enumerate}

In der ersten Hälfte wird \theenumi auf \Roman gesetzt, um die Darstellung in I, II, … zu ändern, und dann wird \labelenumi als \theenumi. definiert, um den Punkt hinzuzufügen (der Standardwert für \labelenumi ist bereits \theenumi., sodass diese Zeile nur den Stil explizit macht). In der zweiten Hälfte erledigt das einzelne label=\Roman*. beide Aufgaben gleichzeitig. Für die alltägliche Arbeit reicht dieses enumitem-Formular; Nur wenn Sie das Etikett und die Referenz getrennt steuern müssen, greifen Sie auf \theenumi, \labelenumi und ref= zurück.