
Estoy escribiendo un documento usando la scrbook
clase KOMA-Script. Estoy usando un estilo de capítulo personalizado y un archivo \chapterheadstartvskip
. El número del capítulo se imprime como una tikz
superposición en el espacio en blanco resultante. Para capítulos no numerados (Contenido, Bibliografía), esto da como resultado un gran espacio en blanco vacío que quiero eliminar.
Intenté establecerlo \chapterheadstartvskip
en 0 y agregarlo \vspace
al inicio de mi redefinición de \chapterformat
, pero esto \vspace
parece no tener ningún efecto.
¿Hay alguna manera de tener diferentes \chapterheadstartvskip
capítulos numerados y no numerados?
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}
Respuesta1
Como @Schweinebacke mencionó en un comentario: El principal problema es la altura oculta de \chapterformat
. Además, no necesita el paquete tikzpagenodes
ni todo remember picture
eso.
Retirar chapterprefix=false
y utilizar headings=twolinechapter
o 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}
Resultado:
Observaciones adicionales: no cargue el paquete typearea
manualmente en su código. La clase KOMA-Script hace esto automáticamente. La opción chapterprefix=false
hace lo mismo headings=onlinechapter
y por lo tanto sobrescribe headings=twolinechapter
. Entonces tienes que eliminar esta opción.
El espacio vertical encima del encabezado del capítulo y entre el número y el título se puede ajustar según sus necesidades usando las opciones beforeskip
y innerskip
de \RedeclareSectionCommand
, por ejemplo:
\RedeclareSectionCommand[
beforeskip=0pt,
afterindent=true,
innerskip=\baselineskip
]{chapter}
Actualizar
Sugerencia para \chapterformat
sin imagen tikz:
\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}%
}%
}