Bei den Überschriften Befehlen in LaTeX handelt es sich um klassenabhängige Befehle. Zum einen sind nicht alle Überschriften Befehle in allen Klassen vorhanden und zum anderen habe auch gleichlautende Befehle in verschiedenen Klassen eine unterschiedliche Definition, sodass die Ausgabe, das heißt wie die Überschrift aussieht, sich von Klasse zu Klasse unterscheiden kann, obwohl es scheinbar der gleiche Befehl ist.
Im Folgenden wird auf die Überschriften Befehle im Allgemeinen, die Überschriften in den jeweiligen Klassen eingegangen. Anschließend wird gezeigt wie sich Überschriften manuell mit dem titlesec Paket anpassen lassen.
Im Allgemeinen gibt es sieben verschiedene Überschriften Befehle \part, \chapter, \section, \subsection, \subsubsection, \paragraph und \subparagraph. Die Bezeichnungen beziehen sich dabei auf den Dokumententeil beziehungsweise Textteil der mit der Überschrift versehen werden soll. Die Überschriften sind hierarchisch in einem System aus Ebenen organisiert. Das bedeutet der Aufruf eines übergeordneten Überschriften Befehls setzt die Zähler des darunter stehenden Überschriften Befehls wird zurück auf null.
Im Zusammenhang mit den Überschriften gibt es noch zwei Zähler die es zu beachten gilt, zum einen secnumdepth und zum anderen tocdepth.
secnumdepth
Der Zähler secnumdepth legt fest bis zu welcher Ebene der Befehle die Überschriften nummeriert werden. Die Überschriften Befehle die sich auf einer tieferen Ebene befinden werden nicht nummeriert. Der Standardwert des Zählers ist dabei in der Dokumentenklasse definiert und kann durch den Befehl \setcounter{secnumdepth}{Ebene}
neu gesetzt werden. Sowohl der Standardwert des Zählers als auch die Anzahl der Ebenen kann sich zwischen den Klassen unterscheiden.
Der Zähler tocdepth legt fest bis zu welcher Ebene der Befehle die Überschriften in das Inhaltsverzeichnis aufgenommen werden. Auch hier ist der Standardwert des Zählers in der Dokumentenklasse definiert und kann durch den Befehl \setcounter{tocdepth}{Ebene}
neu gesetzt werden.
Alle Überschriften Befehle beziehungsweise Gliederungsbefehle lassen sich in den folgenden drei Varianten verwenden. Die drei Varianten unterscheiden sich dabei durch die Darstellung der jeweiligen Überschrift im Dokument selbst und der Darstellung der jeweiligen Überschrift im Inhaltsverzeichnis voneinander.
\Gliederungsbefehl{Titel}
Die Überschrift wird nummeriert im Dokument, falls eine Nummerierung vorgesehen ist, dargestellt und so wie ist in das Inhaltsverzeichnis aufgenommen.
\Gliederungsbefehl*{Titel}
Die Überschrift wird normal im Dokument ausgegeben, aber sie wird weder nummeriert noch wird sie in das Inhaltsverzeichnis aufgenommen.
\Gliederungsbefehl[Titel für das Inhaltsverzeichnis]{Titel}
Innerhalb des Dokuments wird die Überschrift (Titel) nummeriert, falls eine Nummerierung vorgesehen ist, dargestellt und in das Inhaltsverzeichnis wird der Titel der in der Option [Titel für das Inhaltsverzeichnis] gesetzt wurde eingefügt.
Der Befehl \part{Band}
wird dazu verwendet Kapitel zu einem Band zusammen zufassen. Abhängig von der verwendeten Klasse wird eine neue Seite erstellt.
\part{Titel des Bandes} \part*{Titel des Bandes} \part[Titel für das Inhaltsverzeichnis]{Titel des Bandes}\chapter
Der Befehl \chapter{Kapitel}
fasst Abschnitte zu einem Kapitel zusammen. In der Regel wird bei der Verwendung des Befehls die entsprechende Ausgabe auf einer neue Seite eingefügt.
\chapter{Überschrift des Kapitels} \chapter*{Überschrift des Kapitels} \chapter[Überschrift für das Inhaltsverzeichnis]{Überschrift des Kapitels}\section
Der Befehl \section{Abschnitt}
fasst die Unterabschnitte zu einem Abschnitt zusammen.
\section{Überschrift des Abschnitts} \section*{Überschrift des Abschnitts} \section[Überschrift für das Inhaltsverzeichnis]{Überschrift des Abschnitts}\subsection
Der Befehl \subsection{Unterabschnitt}
fasst die Unter-Unterabschnitte zu einem Unterabschnitt zusammen.
\subsection{Überschrift des Unterabschnitts} \subsection*{Überschrift des Unterabschnitts} \subsection[Überschrift für das Inhaltsverzeichnis]{Überschrift des Unterabschnitts}\subsubsection
Der Befehl \subsubsection{Unter-Unterabschnitt}
fasst die Absätze zu einem Unter-Unterabschnitt zusammen.
\subsubsection{Überschrift des Unter-Unterabschnitts} \subsubsection*{Überschrift des Unter-Unterabschnitts} \subsubsection[Überschrift für das Inhaltsverzeichnis]{Überschrift des Unter-Unterabschnitts}\paragraph
Der Befehl \paragraph{Absatz}
dient der Gliederung von Absätzen beziehungsweise von Unterabsätzen.
\paragraph{Überschrift des Absatzes} \paragraph*{Überschrift des Absatzes} \paragraph[Überschrift für das Inhaltsverzeichnis]{Überschrift des Absatzes}\subparagraph
Der Befehl \paragraph{Absatz}
dient der Gliederung von Unterabsätzen.
\subparagraph{Überschrift des Unterabsatzes} \subparagraph*{Überschrift des Unterabsatzes} \subparagraph[Überschrift für das Inhaltsverzeichnis]{Überschrift des Unterabsatzes}Hinweis
Für den Fall, dass zwei verschiedene Überschriften Befehle im Dokument gesetzt werden und diese zwei Befehle folgen nicht aufeinander, zum Beispiel \chapter
und \subsection
, kommt es zu einer "0" in der Nummerierung, zum Beispiel 2.0.1, da die Ebene dazwischen fehlt.
Aufgrund der Übereinstimmungen bezüglich der Überschriften Befehle und der Zähler sind die Standard Klassen article,report und book zusammen mit ihren jeweiligen Entsprechungen aus der KoMa Reihe scrartcl,scrreprt und scrbook dargestellt. Der Unterschied zeigt sich in der Darstellung der Überschriften dabei unterscheiden sich die genannten Klassen deutlich voneinander.
Die article Klasse beziehungsweise die scrartcl Klasse verfügt über sechs Überschriften Befehle. Der Befehl \chapter
ist nicht in dieser Klasse verfügbar. Zwar verfügt die Klasse article über den Befehl \part
aber erstellt für diesen keine neue Seite. Sowohl der Zähler secnumdepth als auch der Zähler tocdepth haben den Standardwert 3. Die nachfolgende Tabelle zeigt welche Auswirkungen eine Veränderung der Zähler hätte. Wobei sich die Werte von secnumdepth darauf beziehen welche Gliederungsbefehle im Dokument nummeriert werden und die Werte bei tocdepth beziehen sich darauf welche Gliederungsbefehle in das Inhaltsverzeichnis aufgenommen werden.
secnumdepth/tocdepth Level | Nummerierte / im Inhaltsverzeichnis aufgenommene Überschriften Befehle |
0 | part |
1 | part, section |
2 | part, section, subsection |
3 | part, section, subsection, subsubsection |
4 | part, section, subsection, subsubsection, paragraph |
5 | part, section, subsection, subsubsection, paragraph, subparagraph |
Die Klassen report und scrreprt verfügen über alle sieben Überschriften Befehle. Sowohl der Zähler secnumdepth als auch der Zähler tocdepth haben als Standard den Wert 2.
secnumdepth/tocdepth Level | Nummerierte / im Inhaltsverzeichnis aufgenommene Überschriften Befehle |
-1 | part |
0 | part, chapter |
1 | part, chapter, section |
2 | part, chapter, section, subsection |
3 | part, chapter, section, subsection, subsubsection |
4 | part, chapter, section, subsection, subsubsection, paragraph |
5 | part, chapter, section, subsection, subsubsection, paragraph, subparagraph |
Die Klassen book und scrbook verfügen über alle sieben Überschriften Befehle. Sowohl der Zähler secnumdepth als auch der Zähler tocdepth haben als Standard den Wert 2.
secnumdepth/tocdepth Level | Nummerierte / im Inhaltsverzeichnis aufgenommene Überschriften Befehle |
-1 | part |
0 | part, chapter |
1 | part, chapter, section |
2 | part, chapter, section, subsection |
3 | part, chapter, section, subsection, subsubsection |
4 | part, chapter, section, subsection, subsubsection, paragraph |
5 | part, chapter, section, subsection, subsubsection, paragraph, subparagraph |
Innerhalb der beamer Klasse können die Befehle \section
, \subsection
und \subsubsection
funktional genutzt werden. Zwar ist der \part
vorhanden aber kann bei seiner Verwendung dazu führen das in der beamer class kein Inhaltsverzeichnis angezeigt wird. Die Nummerierung der Überschriften erfolgt über die themes und die Anzeige im Inhaltsverzeichnis kann neben dem Zähler tocdepth über eine Option des \tableofcontents[hideallsubsections]
Befehls so verändert werden, dass nur die Abschnitte angezeigt werden.
tocdepth Level | Im Inhaltsverzeichnis aufgenommene Überschriften Befehle |
1 | section |
2 | section, subsection |
3 | section, subsection, subsubsection |
Dokumentenklassen | ||||
Gliederungsbefehl | book (scrbook) | report (scrreprt) | article (scrartcl) | beamer |
\part | ja | ja | (ja) | (ja) |
\chapter | ja | ja | nein | nein |
\section | ja | ja | ja | ja |
\subsection | ja | ja | ja | ja |
\subsubsection | ja | ja | ja | ja |
\paragraph | ja | ja | ja | nein |
\subparagraph | ja | ja | ja | nein |
Im Prinzip ist es möglich die Befehle für die Überschriften über den Quellcode des Befehls direkt anzupassen, dies ist aber keine Variante die empfohlen werden kann, da es dabei sehr viele Kleinigkeiten zu beachten gilt. das nachfolgende Beispiel zeigt wie der automatische Seitenumbruch, also das immer eine neue Seite eingefügt wird wenn der \chapter
Befehl gesetzt wird, aus dem \chapter
Befehl entfernt werden kann. Dies ist eine vergleichsweise einfache Prozedur.
\chapter
BefehlsDazu wird zuerst ist der Klassen Datei nach dem entsprechenden Befehl gesucht in diesem Fall nach dem Befehl \newcommand\chapter{...}
.
\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi \thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter}
Die zwei Befehle \cleardoublepage
und \clearpage
sind für die neue Seite verantwortlich. Die zwei Befehle befinden sich innerhalb einer if-else Konstruktion, sodass die ganze Zeile entfernt wird. Das Ergebnis sieht dann wie folgt aus.
\makeatletter \renewcommand\chapter{\thispagestyle{plain}% \global\@topnum\z@ \@afterindentfalse \secdef\@chapter\@schapter} \makeatother
Und wenn das außerhalb einer Klasse oder eines Pakets gemacht wird ist das \makeatletter
beziehungsweise \makeatother
wegen der @ Zeichen innerhalb des veränderten Befehls nötig.
Mit Hilfe des titlesec Pakets lässt sich die Gestaltung der Überschriften auf recht einfache Art und Weise verändern.[1] Hier werden nur kurz die zwei wichtiges Befehle \titleformat
und \titlespacing
beziehungsweise \titlespacing*
des Paktes kurz vorgestellt. Die zwei Befehl besitzen relativ viele Parameter die gesetzt werden können.
\titleformat{Überschrift Befehl}[Shape/Form]{Formatierung der Titels} {Label/Nummerierung der Überschrift}{Abstand zwischen der Nummerierung und der Überschrift}{}Befehl
Der erste Parameter ist der Befehl der jeweiligen Überschrift \part, \chapter, \section, \subsection, \subsubsection, \paragraph und \subparagraph.
ShapeDann folgt als Option die Möglichkeit einen shape zu setzen. Dabei entspricht hang der \section, display dem \chapter und runin dem \paragraph was die Erscheinung angeht. Es gibt noch weitere Möglichkeiten.
Titel FormatierungDann folgt die Formatierung des Titels, das betrifft sowohl die Nummerierung als auch die Überschrift, dabei kann die Schriftfamilie, Stärke und Varianten festgelegt werden. Aber auch die Größe und die Ausrichtung der Überschrift, wobei es da zu Konflikten mit der Shape Option kommen kann. Beispielsweise ist runin als Shape Option nicht mit \centering
als Formatierung des Titels kombinierbar.
Bei dem nächsten Punkt geht es um den Zähler als Label, dieser Zähler leitet sich aus dem Überschriften Befehl ab, zum Beispiel bei dem Befehl \chapter
heißt der entsprechende Zähler \thechapter.
Anschließend wird ein Abstand zwischen der Nummerierung und der Überschrift eingefügt.
before und after codeDas dann kommende sogenannte before-code Feld kann leer gelassen und das verbliebene sogenannte after-code wird zumeist weg gelassen. Daraus ergibt sich dann folgendes.
\titlespacingNach dem mit dem Befehl \titleformat
der gewünschte Gliederungsbefehl in Bezug auf die Darstellung angepasst wurde lassen sich mit den Befehlen \titlespacing
beziehungsweise \titlespacing*
die Abstände zum Text anpassen.
Hinweis wenn \titlespacing*
anstelle von \titlespacing
verwendet wird, kommt es zu keiner Einrückung des nachfolgenden Textes. Daher wird im nachfolgenden Beispiel die Sternvariante verwendet.
\titlespacing*{Überschrift Befehl}{Abstand nach Links}{Vertikaler Abstand vor der Überschrift} {Abstand zum nachfolgenden Text}{Abstand nach rechts}Gliederungsbefehl
Auch dieser Befehl erwartet als ersten Parameter den Überschriften Befehl.
Abstand nach LinksHier wird festgelegt wie weit der Abstand nach links von der Überschrift seien soll, dabei ist die Nummerierung, falls vorhanden, der Bezugspunkt und nicht der Text der Überschrift. Hier wird in der Regel eine feste Größe wie zum Beispiel 0pt als Abstand gewählt.
Vertikaler AbstandDamit wird der Abstand zwischen dem Text vor der Überschrift und der Überschrift selbst festgelegt. Hier sollte eine flexible Größe, mit sogenannten Gummi gewählt werden. Dafür steht in dem Paket bereits ein Abkürzung zur Verfügung *n die als Bezugsgröße ex (die Höhe eines klein x) und bei der für n eine Zahl eingesetzt wird, siehe auch das nachfolgende Beispiel.
Absatz zum nachfolgenden TextAuch beim Abstand zum nachfolgenden Text sollte wie beim vertikalen Abstand eine flexible Größe gesetzt werden.
Abstand nach RechtsDie Größe wird im Allgemeinen nicht gesetzt. Gegebenenfalls kann sie gesetzt werden, wenn als Ausrichtung der Überschrift rechtsbündig verwendet worden ist.
Beispiel für die Verwendung von titlesec
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{titlesec} %... \begin{document} %... \section{Section 1} Some text \ldots \subsection{Subsection 1} Some more text \ldots \subsubsection{Sub Subsection 1} Even more text \ldots %... \titleformat{\section}{\Large\sffamily}{\thesection}{10pt}{} \titleformat{\subsection}{\large\sffamily}{\thesubsection}{10pt}{} \titleformat{\subsubsection}{\normalsize\sffamily}{\thesubsubsection}{10pt}{} \titlespacing*{\section}{0pt}{*4}{*1.5} \titlespacing*{\subsection}{0pt}{*4}{*1.5} \titlespacing*{\subsubsection}{0pt}{*4}{*1.5} %... \section{Section 1} New version some text \ldots \subsection{Subsection 1} New version some more text \ldots \subsubsection{Sub Subsection 1} New version even more text \ldots %... \end{document} |