Sie sind hier

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

Bild von Markus Kohm

Der fncychap-Stil Glenn verbindet die linksbündige Präfixzeile mit dem Kapitel-Präfix und einer größer gesetzten Nummer durch eine Art Rahmen mit dem rechtsbündig gesetzten Kapiteltitel. Dabei wird der Rahmen sowohl durch die Präfixzeile als auch den Kapiteltitel unterbrochen. Für mehrzeilige Kapiteltitel ist dieser Stil insgesamt nicht zu gebrauchen.

Um mir bei der Emulation dieses Stils das Leben zu erleichtern, verwende ich zusätzlich die Pakete picture und xcolor:

% --------------------------------------------------------------------------
% Originalcode von: <http://www.komascript.de/fncychap-Glenn>
% Copyright (c) Markus Kohm
% Version: 2018-01-22
% Changes:
% - 2016-09-02 erste Version
% - 2017-05-24 Anpassung von beforeskip an aktuelles KOMA-Script
% - 2018-01-22 Korrektur der Liniendicke (Dank Elke)
% Weitergabe und Verwendung gestattet, solange dieser Hinsweiskommentar
% einschließlich Link und Copyrightinformation erhalten bleibt.
 
% 1. Emulation von fncychap mit KOMA-Script-Mitteln:
\newlength{\ChapterRuleWidth}
\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
\ChRuleWidth{1pt}
\ChTitleUpperCase
\newkomafont{chapternumber}{\Huge}
\RedeclareSectionCommand[%
  beforeskip=-71pt,% Abstand über der Präfixzeile bzw. der Linie
  innerskip=17pt,% Abstand zwischen Präfixzeile und Text
  afterskip=80pt,% Abstand unter dem Text
  font=\normalfont\Large,% Schrift des Namens
  prefixfont=\sffamily\Large,% Schrift der Präfixzeile
]{chapter}
\usepackage{picture}
\usepackage{xcolor}
\renewcommand*{\chapterformat}{%
  \mbox{%
    \setlength{\fboxsep}{0pt}\colorbox{white}{%
      \strut\ChapterNameCase{\chapappifchapterprefix{\enskip}}}%
    {\usekomafont{chapternumber}{%
        \colorbox{white}{\strut\thechapter\IfUsePrefixLine{}{\enskip}}}}%
  }%
}
\renewcommand*{\chapterlineswithprefixformat}[3]{% Ebene, Nummer, Text
  \IfArgIsEmpty{#2}{%
    \vskip -18pt\nobreak
  }{}%
  \begin{picture}(0,0)
    \setlength{\linethickness}{\ChapterRuleWidth}%
    \put(.5\ChapterRuleWidth,-43pt){%
      \framebox(\dimexpr\linewidth-2\ChapterRuleWidth,40pt){}}%
  \end{picture}
  \par\nobreak\vskip-\dimexpr \baselineskip+\parskip\relax\nobreak
  \IfArgIsEmpty{#2}{%
    \vskip 43pt\nobreak
  }{%
    % Die Prefix-Zeile aus Argument 2 wird nur gesetzt, wenn sie vorhanden
    % ist.
    #2%
  }%
  \raggedleft
  \setlength{\fboxsep}{0pt}%
  \typeout{Argument 3: \detokenize{#3}}%
  \colorbox{white}{\strut\ChapterTitleCase{#3}}\par%
}
% --------------------------------------------------------------------------

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
Beispielkapitel

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