
Observé un comportamiento inesperado con la clase scrbook (xelatex) y la lista de listados del listings
paquete. El espacio entre los títulos de los capítulos de la LOF y la lista de listados y las primeras entradas de cada lista no es el mismo. El paquete de listados produce una brecha mucho mayor incluso sin personalizar la apariencia de los títulos de los capítulos como en el MWE. ¿Alguien tiene una idea de cuál podría ser el problema y cómo solucionarlo? ¡Gracias!
MWE:
\documentclass[
10pt,
oneside,
listof=totoc,
bibliography=totoc,
]{scrbook}
\usepackage{calc}
\usepackage{graphicx}
\usepackage{listings}
\setkomafont{chapter}{\Large\bfseries\MakeUppercase}
\renewcommand*{\chapterheadstartvskip}{\vspace*{-\topskip+2pt}}
\begin{document}
\listoffigures
\listoftables
\lstlistoflistings
\chapter{A Chapter}
\begin{figure}
\centering\includegraphics[width=0.5\linewidth]{example-image}
\caption{First figure}
\end{figure}
\begin{table}
\caption{First table}
\centering
\begin{tabular}[width=0.5\linewidth]{ccc}
Cell 1 & Cell 2 & Cell 3
\end{tabular}
\end{table}
\begin{lstlisting}[caption={First listing}]
Some code
\end{lstlisting}
\end{document}
Respuesta1
Hay dos advertencias en el archivo de registro de su código:
Advertencia del libro de escritura de clase: ¡
\float@listhead
detectado! La implementación de\float@listhead
quedó obsoleta en KOMA-Script v3.01 2008/11/14 y ha sido reemplazada por varias características más flexibles del paquetetocbasic
. Quizás la implementación de\float@listhead
KOMA-Script se elimine pronto. La carga del paquetescrhack
puede ayudar a evitar esta advertencia, si está utilizando un paquete que todavía implementa la\float@listhead
interfaz obsoleta en la línea de entrada 18.
y
Advertencia del libro de escritura de clase: ¡
\float@addtolists
detectado! La implementación de\float@addtolist
quedó obsoleta en KOMA-Script v3.01 2008/11/14 y ha sido reemplazada por varias características más flexibles del paquetetocbasic
. Desde la versión 3.12, el soporte para\float@addtolist
interfaces obsoletas se ha restringido solo a algunas de las funciones de KOMA-Script y se ha eliminado de otras. La carga del paquetescrhack
puede ayudar a evitar esta advertencia, si está utilizando un paquete que todavía implementa la\float@addtolist
interfaz obsoleta.
Cargue el paquete scrhack
como se sugiere en las advertencias.
\documentclass[
10pt,
oneside,
listof=totoc,
bibliography=totoc,
]{scrbook}
\usepackage{scrhack}% <- added
\usepackage{calc}
\usepackage{graphicx}
\usepackage{listings}
\setkomafont{chapter}{\Large}
\RedeclareSectionCommand[
beforeskip=\dimexpr-\topskip+2pt\relax,
afterindent=false
]{chapter}
\makeatletter
\renewcommand\chapterlinesformat[3]{%
\@hangfrom{#2}{\MakeUppercase{#3}}%
}
\makeatother
\begin{document}
\listoffigures
\listoftables
\lstlistoflistings
\chapter{A Chapter}
\begin{figure}
\centering\includegraphics[width=0.5\linewidth]{example-image}
\caption{First figure}
\end{figure}
\begin{table}
\caption{First table}
\centering
\begin{tabular}[width=0.5\linewidth]{ccc}
Cell 1 & Cell 2 & Cell 3
\end{tabular}
\end{table}
\begin{lstlisting}[caption={First listing}]
Some code
\end{lstlisting}
\end{document}