Bei scrreprt
und scrbook
gibt es die Möglichkeit, die Kapitelüberschriften so zu setzen, dass „Kapitel“ gefolgt von der Nummer in einer eigenen Zeile steht und der Titel dann darunter gesetzt wird. Dereinst erreichte mich die Frage, ob das auch den Ebenen \section
bis \subsubsection
möglich ist. Gleichzeitig sollen all diese Überschriften horizontal zentriert werden.
Die Zentrierung ist sehr einfach möglich:
\RenewCommandCopy{\raggedchapter}{\centering}
\RenewCommandCopy{\raggedsection}{\centering}
Es werden also \raggedchapter
und \raggedsection
mit \centering
gleich gesetzt. Alternativ könnte man auch \renewcommand
statt \RenewCommandCopy
verwenden. TeX benötigt dann jedoch einen Expansionsschritt mehr.
Um nun die Überschriften mit einer Präfixzeile zu versehen, definieren \sectionlinesformat
um. Die Originaldefinition lautet:
\newcommand{\sectionlinesformat}[4]{%
\@hangfrom{\hskip #2#3}{#4}%
}
Da wir ohnehin zentrieren, benötigen wir den Einzug \hskip #2
nicht mehr. Aus dem gleichen Grund ist auch der hängende Einzug ab der zweiten Zeile nicht mehr sinnvoll. Stattdessen wollen wir nach der Nummer, also #3
einen Zeilenumbruch. Die neue Definition lautet also:
\renewcommand*{\sectionlinesformat}[4]{%
#3\\*
#4%
}
Allerdings führt das zu einem Problem mit nicht nummerierten Abschnitten wie dem Inhaltsverzeichnis bei scrartcl
oder \subsubsection
in der Voreinstellung von scrbook
und scrreprt
. Dies können wir einfach mit der Anweisung \IfUseNumber
abfangen, die innerhalb von \sectionlinesformat
zur Unterscheidung von nummerierten und nicht nummerierten Überschriften verwendet werden kann:
\renewcommand*{\sectionlinesformat}[4]{%
\IfUseNumber{#3\\*}{}%
#4%
}
Soll vor der Nummer noch ein „Abschnitt“ stehen, so fügt man das vorzugsweise in die Definition von \sectionformat
, \subsectionformat
, \subsubsectionformat
ein:
\renewcommand*{\sectionformat}{Abschnitt~\thesection\autodot}
\renewcommand*{\subsectionformat}{Abschnitt~\thesubsection\autodot}
\renewcommand*{\subsubsectionformat}{Abschnitt~\thesubsubsection\autodot}
Insgesamt erhält man so:
\documentclass[chapterprefix]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\RenewCommandCopy{\raggedchapter}{\centering}
\RenewCommandCopy{\raggedsection}{\centering}
\renewcommand*{\sectionlinesformat}[4]{%
\IfUseNumber{#3\\*}{}%
#4%
}
\renewcommand*{\sectionformat}{Abschnitt~\thesection\autodot}
\renewcommand*{\subsectionformat}{Abschnitt~\thesubsection\autodot}
\renewcommand*{\subsubsectionformat}{Abschnitt~\thesubsubsection\autodot}
\begin{document}
\tableofcontents
\blinddocument
\end{document}
Will man das ganze auf \paragraph
und \subparagraph
erweitern, so muss man nur zusätzlich “Wie \paragraph
als freistehende Überschrift formatiert werden kann” anwenden.