
Ich verwende den Befehl \lstlistoflistings aus dem Listings-Paket, um meine Liste mit Codebeispielen zu generieren. Leider ist zwischen der Nummer und dem Titel der Codeliste nicht genügend Platz. Siehe Beispielbild, in der letzten Zeile sollte 13.10.1 stehen. Wie passe ich die Spaltenbreite an?
Antwort1
Fügen Sie der Präambel Folgendes hinzu:
\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{3em}{#1}{#2}}
\makeatother
Verwenden Sie stattdessen 3em
im dritten Argument die Länge, die Ihren Anforderungen am besten entspricht (in der ursprünglichen Definition lautet der Wert 2.3em
).
Ein vollständiges Beispiel:
Das Standardlayout:
\documentclass{book}
\usepackage{listings}
\begin{document}
\lstlistoflistings
\setcounter{chapter}{13}
\chapter{Test}
\setcounter{lstlisting}{13}
\begin{lstlisting}[caption=A]
A
\end{lstlisting}
\end{document}
Und nun mit vergrößerter Distanz:
\documentclass{book}
\usepackage{listings}
\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{3em}{#1}{#2}}
\makeatother
\begin{document}
\lstlistoflistings
\setcounter{chapter}{13}
\chapter{Test}
\setcounter{lstlisting}{13}
\begin{lstlisting}[caption=A]
A
\end{lstlisting}
\end{document}
Um die Konsistenz in den anderen Listen zu wahren, könnten Sie vielleicht auch darüber nachdenken \l@figure
, , \l@table
, ... bei Bedarf neu zu definieren (oder ein dediziertes Paket zu verwenden, um den Abstand zwischen der Beschriftung und den Titeln zu ändern).