Sie sind hier

Emulation von fncychap-Stil Sonny mit KOMA-Script-Mitteln

Bild von Markus Kohm

Der fncychap-Stil Sonny setzt die Überschrift rechtsbündig zwischen zwei horizontale Linien. Bei nummerierten Überschrift steht ebenfalls rechtsbündig »KAPITEL Nr« weit oberhalb dieser Art Box. Codieren lässt sich das so:

% --------------------------------------------------------------------------
% Originalcode von: <http://www.komascript.de/fncychap-Sonny>
% Copyright (c) Markus Kohm
% Version: 2017-05-24
% Changes:
% - 2016-09-02 erste Version
% - 2017-05-24 Anpassung von beforeskip an aktuelles KOMA-Script
% Weitergabe und Verwendung gestattet, solange dieser Hinsweiskommentar
% einschließlich Link und Copyrightinformation erhalten bleibt.
 
% 1. Emulation von fncychap mit KOMA-Script-Mitteln:
\newlength{\ChapterRuleWidth}\setlength{\ChapterRuleWidth}{.5pt}
\newcommand*{\ChRuleWidth}[1]{\setlength{\ChapterRuleWidth}{\dimexpr #1}}%
\newcommand*{\ChNameVar}{\setkomafont{chapterprefix}}%
\newcommand*{\ChTitleVar}{\setkomafont{chapter}}%
\newcommand*{\ChNumVar}{\setkomafont{chapternumber}}%
\newcommand*{\ChapterNameCase}[1]{#1}
\newcommand*{\ChNameUpperCase}{\let\ChapterNameCase\MakeUppercase}
\newcommand*{\ChNameIs}{\renewcommand*\ChapterNameCase[1]{##1}}
\newcommand*{\ChNameLowerCase}{\let\ChapterNameCase\MakeLowercase}
\newcommand*{\ChapterTitleCase}[1]{#1}
\newcommand*{\ChTitleUpperCase}{\let\ChapterTitleCase\MakeUppercase}
\newcommand*{\ChTitleIs}{\renewcommand*\ChapterTitleCase[1]{##1}}
\newcommand*{\ChTitleLowerCase}{\let\ChapterTitleCase\MakeLowercase}
 
% 2. Einstellungen für den Stil Sonny:
\KOMAoptions{chapterprefix}% Es ist ein Präfix-Stil
\ChNameUpperCase
\newkomafont{chapternumber}{\Huge}
\let\raggedchapter\raggedleft% Überschriften rechtsbündig
\RedeclareSectionCommand[%
  beforeskip=-5\baselineskip,% Abstand über der Präfixzeile bzw. der Linie
  innerskip=45pt,% Abstand zwischen Präfixzeile und Text
  afterskip=40pt,% Abstand unter dem Text
  font=\normalfont\sffamily\Large,% Schrift des Namens
  prefixfont=\Large,% Schrift der Präfixzeile
]{chapter}
\renewcommand*{\chapterformat}{%
  \mbox{\ChapterNameCase{\chapappifchapterprefix{\nobreakspace}}%
    {\usekomafont{chapternumber}{%
        \rule{0pt}{.8\baselineskip}\thechapter\IfUsePrefixLine{}{\enskip}}}%
  }%
}
\renewcommand*{\chapterlineswithprefixformat}[3]{% Ebene, Nummer, Text
  \IfArgIsEmpty{#2}{}{%
    % Die Prefix-Zeile aus Argument 2 wird nur gesetzt, wenn sie vorhanden
    % ist.
    #2%
  }%
  \rule[5pt]{\linewidth}{\ChapterRuleWidth}\\*
  \ChapterTitleCase{#3}\nobreak
  \rule[-5pt]{\linewidth}{\ChapterRuleWidth}
}
% --------------------------------------------------------------------------

Ich habe versucht, die vertikale Ausrichtung entsprechend der von fncychap zu wählen. Allerdings habe ich die Optimierungen für den vertikalen Abstand über dem ersten Inhaltsverzeichniseintrag, die KOMA-Script bietet, dabei nicht umgangen sondern erhalten.

Inhaltsverzeichnis (nicht nummeriert) und die erste Kapitelseite (nummeriert) eines Beispiel sehen dann so aus:

Inhaltsverzeichnis erste Kapitelseite

Kommentare

Hallo,
ich empfehle folgende Änderung(entspricht sonny-Verhalten):

beforeskip=-5\baselineskip,% Abstand über der Präfixzeile bzw. der Linie

Wichtig ist das Minus, dadurch wird der nachfolgende Absatz nicht eingerückt.

Gruß Stefan

Bild von Markus Kohm

Das Originalbeispiel stammt noch aus der Zeit einer KOMA-Script-Version, bei der das Vorzeichen beim Stil chapter nicht beachtet wurde (wie man an den Abbildungen sieht).

Comments for "Emulation von fncychap-Stil Sonny mit KOMA-Script-Mitteln" abonnieren