
Ich schreibe ein Dokument mit der scrbook
Klasse KOMA-Script. Ich verwende einen benutzerdefinierten Kapitelstil und ein \chapterheadstartvskip
. Die Kapitelnummer wird als tikz
Overlay 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 \chapterheadstartvskip
auf 0 zu setzen und es \vspace
am Anfang meiner Neudefinition von hinzuzufügen \chapterformat
, aber das \vspace
scheint keine Wirkung zu haben.
\chapterheadstartvskip
Gibt 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 tikzpagenodes
und das ganze remember picture
Zeug.
Entfernen chapterprefix=false
und verwenden headings=twolinechapter
oder 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:
Zusätzliche Hinweise: Laden Sie Pakete nicht typearea
manuell in Ihren Code. Die KOMA-Script-Klasse erledigt dies automatisch. Option chapterprefix=false
macht dasselbe wie headings=onlinechapter
und ü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 beforeskip
und Ihren Wünschen anpassen, zum innerskip
Beispiel \RedeclareSectionCommand
:
\RedeclareSectionCommand[
beforeskip=0pt,
afterindent=true,
innerskip=\baselineskip
]{chapter}
Aktualisieren
Vorschlag für \chapterformat
ohne 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}%
}%
}