Seite 1 von 1

Fncychap mit scrbook

Verfasst: Di 13. Mai 2014, 14:55
von Phil90
Hallo!

Ich habe ein problem entdeckt, welches mit dem Paket fncychap und scrbook auftritt. Ich habe als eine Komaoption parskip=half gesetzt, welche auf irgendeine Art und Weise die Anordnung der Objekte in der Überschrift verändern. Weiß jemand einen guten Fix für dieses Problem?

Minimalbeispiel:
\documentclass[parskip=half]{scrbook} % Vergleich: Parskip=false!
\usepackage[Conny]{fncychap}

\begin{document}
\chapter{Test Chapter}
\end{document}

Verfasst: Di 13. Mai 2014, 16:46
von esdd
Da wird in der Umdefinition des Überschriftenlayouts offensichtlich \par nach den oberen Linien verwendet. Dadurch wird mit der Option parskip=half der Absatzabstand zwischen den beiden Linien eingefügt. Außerdem sorgt die Option dafür, dass am Ende der letzten Zeile eines Absatzes ein Leerraum von mindestens 1em eingefügt wird. Dadurch sind dann die Linien entsprechend kürzer.

Falls nur die Länge der Linien ein Problem ist, kannst du parskip=half- verwenden. Dann werden die Absatzenden nicht mehr durch Leerraum gekennzeichnet.
\documentclass[parskip=half-]{scrbook} % Vergleich: Parskip=false! 
\usepackage[Conny]{fncychap} 

\begin{document} 
\chapter{Test Chapter} 
\end{document} 

Der Unterschied zwischen half und half- (sowie zwei weiteren Varianten) ist ausführlich in der [URL=http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf]Dokumentation zu den KOMA-Script-Klassen[/url] erklärt.

Gruß
Elke

Danke!

Verfasst: Di 13. Mai 2014, 17:01
von Phil90
Super! Ich war da auf der falschen Fährte.... Es macht natürlich sinn, dass das Absatzende dafür verantwortlich ist.

Für diesen Style funktioniert das jetzt. Wenn man allerdings "Glenn" verwendet, dann ist wirklich die Option "half" das Problem, egal, was man sonst einfügt.
\documentclass[parskip=never]{scrbook}

\usepackage[Glenn]{fncychap}
\usepackage{lipsum}

\begin{document}
\tableofcontents

\chapter{Test Chapter}
\lipsum[3-9]

\end{document}
Ich hatte erst vor die Definition von Chapter zu ergänzen, was aber nicht einfach war und meine derzeitige Kompetenz übersteigt. Gibt es da einen einfacheren Weg?

Korrektur

Verfasst: Mi 14. Mai 2014, 13:57
von Phil90
Mir ist gerade aufgefallen, dass mein Minimalbeispiel falsch war. Hier ist die richtige Variante, welche das Problem verursacht:
\documentclass[parskip=half-]{scrbook} % Vgl. mit "parskip=false"!

\usepackage[Glenn]{fncychap}
\usepackage{lipsum}

\begin{document}
\tableofcontents

\chapter{Test Chapter}
\lipsum[3-9]

\end{document}
 
 


Ich suche nach einer möglichkeit den parskip kurzzeitig auszuschalten, nur solange die Überschrift erzeugt wird.

Verfasst: Mi 14. Mai 2014, 14:17
von u_fischer
\documentclass[parskip=half]{scrbook} % Vgl. mit "parskip=false"!

\usepackage[Glenn]{fncychap}

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \parskip=0pt \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
        \DOCH
      \fi
    \fi
    \interlinepenalty\@M
    \if@mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 060424
      \DOTI{#1}%
    \else%
      \DOTIS{#1}%
    \fi
  }}
  
  
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \parskip=0pt \raggedright
    \normalfont
    \interlinepenalty\@M
    \DOTIS{#1}
    \vskip 40\p@
  }}  
  
\usepackage{lipsum}

\begin{document}
\tableofcontents

\chapter{Test Chapter}
\lipsum[3-9]

\end{document}

Gelöst!

Verfasst: Mi 14. Mai 2014, 14:29
von Gelöst!
Vielen Dank!

Ich habe auch angefangen umzudefinieren, aber ich wollte \KOMAoptions{...} verwenden, was nicht geglückt ist. Deine Lösung hat auf jeden fall super funktioniert.

Ich glaube am Ende deiner Einfügung müsste nur noch \makeatother stehen, oder?
[/code]