![¿Cómo levanto el título del capítulo en Koma-script para que esté alineado con el prefijo del capítulo?](https://rvso.com/image/286992/%C2%BFC%C3%B3mo%20levanto%20el%20t%C3%ADtulo%20del%20cap%C3%ADtulo%20en%20Koma-script%20para%20que%20est%C3%A9%20alineado%20con%20el%20prefijo%20del%20cap%C3%ADtulo%3F.png)
Actualmente tengo esto:
\documentclass{scrbook}
\usepackage{mwe}
\renewcommand*{\chapterformat}{\mbox{\chapappifchapterprefix{\nobreakspace}\scalebox{3}{\thechapter}\enskip}}
\begin{document}
\chapter{\baselineskip{-1em}This chapter caption has multiple lines and does not fit into a single line}
\lipsum[1]
\end{document}
Pero lo que quiero es que el título del capítulo esté alineado con la línea base del prefijo similar a este:
Sé que los títulos de capítulos largos son una molestia. Pero a veces no caben en una sola línea y considero que el primer resultado es un poco inquietante.
Respuesta1
Usar a \Longstack
funcionará para un nombre de capítulo de dos líneas, con saltos insertados manualmente. Sin embargo, si llega a tres líneas, ningún método resultará adecuado.
\documentclass{scrbook}
\usepackage{mwe}
\renewcommand*{\chapterformat}{\mbox{\chapappifchapterprefix{\nobreakspace}\scalebox{3}{\thechapter}\enskip}}
\usepackage{lipsum}
\usepackage[usestackEOL]{stackengine}
\begin{document}
\chapter{\Longstack[l]{This chapter caption has multiple lines\\ and does not fit into a single line}}
\lipsum[1]
\end{document}
Tenga en cuenta también que \Longstack
no alineará el texto del encabezado del borde derecho en el margen derecho. Su aparición aquí es meramente fortuita.
Por último, si desea utilizar una tabla de contenido, deberá utilizar el argumento opcional de \chapter
como tal:
\chapter[This chapter caption has multiple lines and does not fit into a single line]%
{\Longstack[l]{This chapter caption has multiple lines\\ and does not fit into a single line}}
para evitar que la pila aparezca en el toc.
Respuesta2
Una solución con salto de línea automático mediante minipáginas:
Las minipáginas necesitan una especificación de ancho. Así definí un nuevo comando \chapmark
que contiene la mayor parte de la \chapterformat
definición, cuya longitud puedo medir. Para ello utilicé dos funciones del paquete calc
: el comando \widthof
y la posibilidad de realizar cálculos de longitudes. La orientación de la línea base está asegurada por el b
argumento opcional de las minipáginas.
El nuevo \Chapter
comando (con C mayúscula) está definido de manera que pueda usar las funciones mejoradas de KOMA-Script que se proporcionan en el argumento opcional, pero tenga en cuenta que no se puede usar con la opción KOMA-Script chapterprefix
configurada en verdadero. \chapter
En ese caso se debe utilizar el valor predeterminado , cf. salida a continuación de los capítulos 11 y 12 en el ejemplo.
Además, el resultado de la tabla de contenido no se ve influenciado por las minipáginas; consulte también el resultado a continuación.
Además, utilicé \RaggedRight
from ragged2e
como reemplazo \raggedright
para una mejor alineación.
En lugar de \NewDocumentCommand
from, xparse
podría haber usado también un clásico \newcommand
junto con pruebas para cadenas vacías de paquetes (x)ifthen
o etoolbox
.
\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{calc} % provides advanced length computation and command "\widthof"
\usepackage{ragged2e}% better text alignment
\usepackage{xparse}% advanced command definitions
\renewcommand*{\raggedchapterentry}{\RaggedRight}% for chapter TOC entries
\renewcommand*{\raggedsection}{\RaggedRight}% for alignment in titles
\newcommand*{\chapmark}{%
\scalebox{1.5}{\chapappifchapterprefix{\nobreakspace}}\scalebox{3}{\thechapter}\enskip%
}
\renewcommand*{\chapterformat}{%
\begin{minipage}[b]{\widthof{\chapmark}}
\chapmark
\end{minipage}%
}
\NewDocumentCommand\Chapter{o m}{% note the uppercase "C"
\IfValueTF{#1}% optional argument given or not
{% with optional argument:
\chapter[#1]{%
\begin{minipage}[b]{\textwidth-\widthof{\chapmark}}
#2
\end{minipage}}%
}{% without optional argument:
\chapter[#2]{%
\begin{minipage}[b]{\textwidth-\widthof{\chapmark}}
#2
\end{minipage}}%
}
}
\begin{document}
\Chapter{This chapter caption is too long to fit into a single line} % ch. 1
\Chapter[TOC entry for caption with 3 lines] % ch. 2
{This chapter caption is longer than the first one and does not even fit into
two lines}
\setcounter{chapter}{9}
\Chapter{Another chapter caption that is too long to fit into a single line} % ch. 10
\KOMAoption{chapterprefix}{true}
\Chapter[Another TOC entry for caption with 3 lines] % ch. 11
{This chapter caption is also longer than the first one and does not even fit into
two lines}
\chapter{% ch. 12
This caption produced with \textmd{\textbackslash chapter} is too long to fit into
a single line}
\tableofcontents
\end{document}