scrbook kein Kapitelheadstartvskip für nicht nummerierte Kapitel

scrbook kein Kapitelheadstartvskip für nicht nummerierte Kapitel

Ich schreibe ein Dokument mit der scrbookKlasse KOMA-Script. Ich verwende einen benutzerdefinierten Kapitelstil und ein \chapterheadstartvskip. Die Kapitelnummer wird als tikzOverlay in den resultierenden Leerraum gedruckt. Bei nicht nummerierten Kapiteln (Inhalt, Bibliographie) ergibt dies einen großen leeren Leerraum, den ich beseitigen möchte.

Ich habe versucht, es \chapterheadstartvskipauf 0 zu setzen und es \vspaceam Anfang meiner Neudefinition von hinzuzufügen \chapterformat, aber das \vspacescheint keine Wirkung zu haben.

\chapterheadstartvskipGibt es eine Möglichkeit , nummerierte und unnummerierte Kapitel zu unterscheiden ?

MWE:

\documentclass[BCOR=15mm, DIV=8]{scrbook}

\KOMAoptions{
    headings=twolinechapter,
    chapterprefix=false,
    numbers=noenddot
}

\usepackage{typearea}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\usepackage{lipsum}
\usepackage{filecontents}
\usepackage[
    backend=biber,
    style=numeric-comp,
    sorting=none,
    doi=false,
    url=false,
    isbn=false,
    maxbibnames=99,
    maxcitenames=99,
    giveninits=true,
    backref=true
]{biblatex}

\usepackage{tikz}
\usetikzlibrary{
    calc,
    positioning}
\tikzset{>=latex}
\usepackage{tikzpagenodes}

\usepackage{etoolbox}
\usepackage{xstring}
\usepackage{calc}

\definecolor{laccentcolor}{HTML}{d3d3d3}

\addtokomafont{disposition}{\rmfamily}

\addtokomafont{chapter}{\scshape\LARGE}

\newif\ifappendix

\def\chaplengths{{11mm,6mm,7mm,2.5mm,7mm,5mm,6mm,7mm,6.5mm}}
\def\applengths{{4mm,8.5mm,6mm}}
\renewcommand*{\chapterformat}{%
\begin{tikzpicture}[remember picture]
\coordinate (mychapanchor-\arabic{chapter});
\end{tikzpicture}
\begin{tikzpicture}[remember picture, overlay]
    \pgfmathsetmacro{\mylength}{\ifappendix\applengths[\arabic{chapter}-1]\else\chaplengths[\arabic{chapter}-1]\fi}
    \node[anchor=south east,xshift=\mylength,
          inner sep=0, outer sep=0]
          at ([yshift=1.2cm]mychapanchor-\arabic{chapter}-| current page text area.east){%
        \fontsize{10cm}{10cm}\selectfont%
        \textcolor{laccentcolor}{\thechapter}%
    };
    % alignment line
    % \draw[thin] (current page text area.north east)
    %     -- (current page text area.south east);
\end{tikzpicture}%
}
\renewcommand*{\chapterheadstartvskip}{\vspace*{9cm}}

\begin{filecontents}{bibliography.bib}
@article{cava1987oxygen,
  title={Oxygen stoichiometry, superconductivity and normal-state
         properties of YBa2Cu3O7--$\delta$},
  author={Cava, RJ and Batlogg, B. and Chen, CH and Rietman, EA and
          Zahurak, SM and Werder, D.},
  journal={Nature},
  volume={329},
  number={6138},
  pages={423--425},
  year={1987},
  publisher={Nature Publishing Group}
}

@book{sterner2002ecological,
  title={Ecological stoichiometry: the biology of elements from
         molecules to the biosphere},
  author={Sterner, R.W. and Elser, J.J.},
  year={2002},
  publisher={Princeton Univ Pr}
}

@article{castro1975cortazar,
  title={Cort{\'a}zar, Surrealism, and Pataphysics},
  author={Castro-Klaren, S.},
  journal={Comparative Literature},
  volume={27},
  number={3},
  pages={218--236},
  year={1975},
  publisher={JSTOR}
}

@inproceedings{munro1992deterministic,
  title={Deterministic skip lists},
  author={Munro, J.I. and Papadakis, T. and Sedgewick, R.},
  booktitle={Proceedings of the third annual ACM-SIAM symposium on
             Discrete algorithms},
  pages={367--375},
  year={1992},
  organization={Society for Industrial and Applied Mathematics}
}

@book{Jones-2002,
   author = {Jones, Christopher A. and Drake, Fred L.},
   title = {Python and XML},
   publisher = {O'Reilly},
   address = {Sebastopol, Calif.},
   edition = {1st},
   keywords = {Python (Computer program language)
XML (Document markup language)},
   pages = {xvi, 360 p.},
   year = {2002}
}
\end{filecontents}

\addbibresource{bibliography.bib}

\begin{document}

\frontmatter

\tableofcontents

\mainmatter

\chapter{A Fancy Chapter Name to Test the Formatting}
\lipsum[1]

\appendix\appendixtrue

\chapter{A Fancy Chapter Name to Test the Formatting}
\lipsum[1]

\backmatter

\nocite{*}
\printbibliography[heading=bibintoc]

\end{document}

Antwort1

Wie @Schweinebacke in einem Kommentar erwähnte: Das Hauptproblem ist die versteckte Höhe von \chapterformat. Außerdem brauchen Sie kein Paket tikzpagenodesund das ganze remember pictureZeug.

Entfernen chapterprefix=falseund verwenden headings=twolinechapteroder chapterprefix=true.

\documentclass[BCOR=15mm, DIV=8]{scrbook}
\KOMAoptions{
    headings=twolinechapter,
    numbers=noenddot
}
%\usepackage[utf8]{inputenc}% not needed with an uptodate TeX distribution
\usepackage{kpfonts}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\usepackage{lipsum}

\usepackage{tikz}
\definecolor{laccentcolor}{HTML}{d3d3d3}

\addtokomafont{disposition}{\rmfamily}
\addtokomafont{chapter}{\scshape\LARGE}

\newif\ifappendix

\def\chaplengths{{11mm,6mm,7mm,2.5mm,7mm,5mm,6mm,7mm,6.5mm}}
\def\applengths{{4mm,8.5mm,6mm}}
\renewcommand*{\chapterformat}{%
  \hfill\begin{tikzpicture}
    \pgfmathsetmacro{\mylength}{\ifappendix\applengths[\arabic{chapter}-1]\else\chaplengths[\arabic{chapter}-1]\fi}
    \node(n)[inner sep=0, outer sep=0,
        font=\fontsize{10cm}{10cm}\selectfont,
        text=laccentcolor
      ]{\rule{0pt}{\ht\strutbox}\thechapter};
    \pgfresetboundingbox
    \useasboundingbox(n.south west)rectangle([xshift=-\mylength]n.north east);% bounding box with a fixed height
\end{tikzpicture}%
}


\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{A Fancy Chapter Name to Test the Formatting}
\lipsum[1]
\appendix\appendixtrue
\chapter{A Fancy Chapter Name to Test the Formatting}
\lipsum[1]
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Zusätzliche Hinweise: Laden Sie Pakete nicht typeareamanuell in Ihren Code. Die KOMA-Script-Klasse erledigt dies automatisch. Option chapterprefix=falsemacht dasselbe wie headings=onlinechapterund überschreibt daher headings=twolinechapter. Sie müssen diese Option daher entfernen.

Den vertikalen Abstand über der Kapitelüberschrift sowie zwischen Nummer und Titel können Sie mit den Optionen beforeskipund Ihren Wünschen anpassen, zum innerskipBeispiel \RedeclareSectionCommand:

\RedeclareSectionCommand[
  beforeskip=0pt,
  afterindent=true,
  innerskip=\baselineskip
]{chapter}

Aktualisieren

Vorschlag für \chapterformatohne Tikzbild:

\def\chaplengths{{11mm,6mm,7mm,2.5mm,7mm,5mm,6mm,7mm,6.5mm}}
\def\applengths{{4mm,8.5mm,6mm}}
\renewcommand*{\chapterformat}{%
  \pgfmathsetmacro{\mylength}{\ifappendix\applengths[\arabic{chapter}-1]\else\chaplengths[\arabic{chapter}-1]\fi}%
  \hfill
  \makebox[\dimexpr\width-\mylength pt\relax][l]{%
    \fontsize{10cm}{10cm}\selectfont
    \rule{0pt}{\ht\strutbox}%
    \textcolor{laccentcolor}{\thechapter}%
  }%
}

verwandte Informationen