Sie sind hier

Griechische Buchstaben als Gliederungsnummern

Bei einem meiner Projekte benötige ich in der Gliederungsebene subsubsection eine Gliederung anhand (kleiner) griechischer Buchstaben. Die ersten vier (also bis δ) genügen.
Kann ich das evtl. in der Präambel voreinstellen?

Meine bisherige "manuelle" Lösung sieht so aus:

\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{textgreek}
\begin{document}
\subsubsection*{\textalpha. Ahorn}
\addcontentsline{toc}{subsubsection}{\protect\numberline{\textalpha}{Ahorn}}
\subsubsection*{\textbeta. Buche}
\addcontentsline{toc}{subsubsection}{\protect\numberline{\textbeta}{Buche}}
\subsubsection*{\textgamma. Eiche}
\addcontentsline{toc}{subsubsection}{\protect\numberline{\textgamma}{Eiche}}
\subsubsection*{\textdelta. Fichte}
\addcontentsline{toc}{subsubsection}{\protect\numberline{\textdelta}{Fichte}}
\end{document}

Ist halt "hart reincodiert", wie der IT-ler sagen würde...

Gibt es da evtl. eine bessere Möglichkeit?
Danke für Tipps!

Bild von Markus Kohm

Man muss dazu ja nur eine Ausgabe von griechischen Buchstaben (analog zu \alph für lateinische Buchstaben) für Zähler definieren:

\documentclass[numbers=withenddot]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{textgreek}
% Wir definieren die Ausgabe von griechischen Buchstaben für Zähler mit Werten von 1-4:
\newcommand*{\greeknumber}[1]{%
  \ifcase \value{#1}
    \arabic{#1}% 0
  \or
    \textalpha
  \or
    \textbeta
  \or
    \textgamma
  \or
    \textdelta
  \else
    \arabic{#1}% > 4
  \fi
}
\setcounter{secnumdepth}{\subsubsectionnumdepth}% Bis runter zu \subsubsection nummerieren
\renewcommand*{\thesubsubsection}{\greeknumber{subsubsection}}
\begin{document}
\subsubsection{Ahorn}
\subsubsection{Buche}
\subsubsection{Eiche}
\subsubsection{Fichte}
\end{document}

\ifcase\or\or\else\fi ist ein TeX-Primitiv. \value ist eine LaTeX-Kernanweisung (also Grundwissen). \theZähler ist ebenfalls LaTeX-Grundwissen (aber auch im KOMA-Script-Buch erwähnt). Dasselbe gilt für \setcounter und \arabic. Option numbers ist in der KOMA-Script-Anleitung und im KOMA-Script-Buch erklärt. \subsubsectionnumdepth ist ebenfalls KOMA-Script.

BTW: Bis auf die beiden KOMA-Script-Spezialitäten ist das übrigens bei den Standardklassen genauso. Das hat also eher wenig mit KOMA-Script zu tun und ist eher eine allgemeine LaTeX-Frage: Wie kann ich Zähler/Zahlen als griechische Buchstaben statt als arabische Zahlen, lateinische Buchstaben oder römische Zählen ausgeben?

Bild von Markus Kohm

Wenn man einmal in den LaTeX-Kern schaut, findet man dort für \alph:

\def\alph#1{\expandafter\@alph\csname c@#1\endcsname}
\def\@alph#1{%
  \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or
   k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
    y\or z\else\@ctrerr\fi}

Idealer Weise würde man das für \greeknumber unter Verwendung von \newcommand adaptieren, um so sowohl LaTeX-Zähler als auch TeX-Zähler und Zahlen abzudecken. Entsprechendes könnte man natürlich auch für Großbuchstaben definieren.

Man muss das aber gar nicht selbst tun, denn es gibt bereits beispielsweise das Paket moreenum.

Das moreenum-Paket ist für meine Zwecke keine Option, da die Symbole hier extrem dünn sind und zu stark vom umgebenden Font abweichen. Die beschriebene Lösung unter Verwendung von textgreek, welches an die Umgebung anpasst, ist für mich optimal.

Comments for "Griechische Buchstaben als Gliederungsnummern" abonnieren