Sie sind hier

Horizontale Linie unter Kapitelüberschriften

Moin moin,

wie der Titel schon sagt, möchte ich eine horizontale Linie unterhalb der Kapitelüberschriften einfügen - ich habe im Internet eine Lösung für Section-Überschriften gefunden, die lautet

\makeatletter
\renewcommand{\sectionlinesformat}[4]{%
\ifstr{#1}{section}{%
    \parbox[t]{\linewidth}{%
      \raggedsection\@hangfrom{\hskip #2#3}{#4}\par%
      \vspace*{-.75\ht\strutbox}\rule{\linewidth}{.8pt}%
    }%
  }{%
    \@hangfrom{\hskip #2#3}{#4}}% 
}
\makeatother

und würde diese gerne auf den Befehl \chapterlinesformat übertragen, scheitere aber bei diesem Versuch..

Vielen Dank für die Hilfe!

Bild von Markus Kohm

In dem Beispiel für eingerahmte Kapitelüberschriften dürfte es kein größeres Problem sein, in der Lösung für KOMA-Script ab Version 3.19 die obere Linie wegzulassen, oder?

Ansonsten wäre es natürlich von Vorteil, wenn Du an einem kurzen Beispiel zeigen würdest, was Du ausprobiert hast.

Bild von Markus Kohm

Um es deutlich zu sagen: Eine \sectionlinesformat-Definition kann man nicht 1:1 in eine \chaperlinesformat-Definition umändern, indem man nur die beiden Befehlsnamen austauscht. Die beiden Befehle haben eine unterschiedliche Anzahl an Argumenten (siehe Teil II der KOMA-Script-Anleitung). Da für Überschriften im Kapitelstil kein Einzug unterstützt wird, gibt es auch das Argument für den Einzug bei \chapterlinesformat nicht. Man muss in der gezeigten Definition also [4] durch [3] ersetzen, Die Verwendung von #2 entfernen, #3 durch #2 ersetzen und #4 durch #3 ersetzen. Natürlich sollte man auch \raggedsection durch \raggedchapter und den else-Teil von \ifstr durch die in der Anleitung dokumentierte Voreinstellung von \chapterlinesformat ersetzen. Hat man nur eine Kapitelebene oder will man alle Kapitelebenen mit Linie versehen, kann man die Fallunterscheidung natürlich auch entfernen. Man landet dann bei:

\makeatletter
\renewcommand{\chapterlinesformat}[3]{%
  \parbox[t]{\linewidth}{%
    \raggedchapter\@hangfrom{#2}{#3}\par%
    \vspace*{-.75\ht\strutbox}\rule{\linewidth}{.8pt}%
  }%
}
\makeatother

Getestet habe ich das in Ermangelung eines Minimalbeispiels nicht. Außerdem würde ich statt \vspace* eher \kern verwenden oder die \rule mit \raisebox nach oben verschieben. Wenn schon \vspace dann ohne Stern. Die Sternform ist an der Stelle eher unsinnig.

Super, das ist genau das, was ich gesucht habe - es funktionieren beide Varianten aus den beiden Beiträgen. Vielen Dank für die ausführliche Erklärung !!

Comments for "Horizontale Linie unter Kapitelüberschriften" abonnieren