Sie sind hier

Spezielle Form der Kapitelüberschrift

Bild von Markus Kohm

Vor einer Stunde erreichte mich eine Anfrage, wie man Kapitelüberschriften mit scrbook in folgender Form:

Darstellung der Kapitelüberschrift mit riesiger Nummer rechts und Text irgendwo links

erreichen kann, ohne extra ein Paket dafür zu laden. Ursprünglich stammt die Frage vermutlich von goLaTeX.

Bild von Markus Kohm

Zunächst benötigt man allerdings einen frei skalierbaren Font. Ich verwende im Beispiel Latin Modern. Mit Computer Modern hätte man die gewünschte Schriftgröße für die Nummer nicht. Man müsste dann eine kleinere Nummer mit Hilfe von \scalebox oder \resizebox skalieren. Prinzipiell wäre das auch nicht weiter schwierig. Hier jedoch mit direkter Wahl der Größe:

\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\makeatletter
\setkomafont{chapter}{\let\@hangfrom\chapterhang\let\raggedsection\raggedleft\huge}
\makeatother
\newbox\chapternumberbox
\newcommand{\chapterhang}[2]{%
  \savebox\chapternumberbox{\fontsize{100}{100}\normalfont\sffamily\bfseries
    \thechapter}%
  \parbox[t]{\dimexpr\linewidth-\wd\chapternumberbox-1em}{%
    \raggedleft
    \makebox[1em][l]{\normalfont\normalsize\slshape\chapapp}\\
    #2%
  }\quad
  \raisebox{-1.75\baselineskip}{\usebox\chapternumberbox}\par
}   
\usepackage{mwe}
\begin{document}
\tableofcontents
\setcounter{chapter}{3}
\chapter{Erarbeitete technische Prinzipe}
\Blindtext
\end{document}

Das funktioniert so allerdings nur, solange man nicht die Option chapterprefix verwendet, weil nämlich nur ohne diese Option \@hangfrom verwendet wird. Mit der Option nützt die trickreiche Änderung der Schrift für das Element chapter nichts. Außerdem muss man dazu wissen, dass KOMA-Script in der Kapitelüberschrift quasi \@hangfrom mit zwei Argumenten verwendet, obwohl das tatsächlich nur eines hat. In Wirklichkeit ist das zweite Argument eigentlich nur eine Gruppe, aber man kann es natürlich wie im Beispiel auch wirklich als Argument verarbeiten, um die Nummer hinter die Überschrift zu bekommen.

Im KOMA-Script-Buch der 5. Auflage habe ich übrigens etwas ähnliches verwendet – nur viel aufwändiger.

Bild von Markus Kohm

Seit KOMA-Script 3.17 funktioniert diese Lösung nicht mehr, weil seit dieser Version zur Anfangsinitialisierung der Schrift von Kapitelüberschriften nicht mehr \usekomafont sondern \usefontofkomafont verwendet wird und somit schmutzige Hacks wie die Ausführung irgendwelcher an dieser Stelle nicht erlaubten Befehle tatsächlich nicht mehr funktioniert. Für eine alternative Lösung siehe meine andere Antwort.

Bild von Markus Kohm

Seit KOMA-Script 3.18 wird auch die Kapitelebene über einen Gliederungsbefehlsstil definiert. Einen solchen Stil kann man sich (derzeit leider auch wieder nur über die Nutzung interner Befehle) zumindest in rudimentärer Form auch selbst definieren und so die Form der Überschrift ändern. Im folgenden Beispiel wird dabei der Stil chapter weiterverwendet und lediglich eine der Anweisungen ergänzt:

\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\setkomafont{chapter}{\huge}
\makeatletter
% Hack: Eigenen, rudimentären Kapitelstil definieren.
\newcommand*{\scr@dsc@def@style@xchapter@command}[1]{%
  \scr@dsc@def@style@chapter@command{#1}%
  \expandafter\def\csname @@make#1head\endcsname##1{%
    \let\orig@raggedchapter\raggedchapter
    \let\raggedchapter\raggedleft
    \let\orig@hangfrom\@hangfrom
    \let\@hangfrom\chapterhang
    \scr@@makechapterhead{#1}{##1}%
    \let\@hangfrom\orig@saved@hangfrom
    \let\raggedchapter\orig@raggedchapter
  }%
}
\makeatother
\DeclareSectionCommand[style=xchapter]{chapter}
\newbox\chapternumberbox
\newcommand{\chapterhang}[2]{%
  \savebox\chapternumberbox{\fontsize{100}{100}\normalfont\sffamily\bfseries
    \thechapter}%
  \parbox[t]{\dimexpr\linewidth-\wd\chapternumberbox-1em}{%
    \raggedleft
    \makebox[1em][l]{\normalfont\normalsize\slshape\chapapp}\\
    #2%
  }\quad
  \raisebox{-1.75\baselineskip}{\usebox\chapternumberbox}\par
}   
\usepackage{mwe}
\begin{document}
\tableofcontents
\setcounter{chapter}{3}
\chapter{Erarbeitete technische Prinzipien}
\Blindtext
 
\end{document}

Allerdings genügt die rudimentäre Definition des Stils so nicht, um eigene Befehle im neuen Stil zu definieren. Dafür ist mehr notwendig. Außerdem ist obiges noch keine dokumentierte Möglichkeit und kann sich daher noch ändern.

Comments for "Spezielle Form der Kapitelüberschrift" abonnieren