\lstlistoflistings hat nicht genug Platz zwischen Zahlen und Titel

\lstlistoflistings hat nicht genug Platz zwischen Zahlen und Titel

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?

Beispiel

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 3emim 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}

Bildbeschreibung hier eingeben

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}

Bildbeschreibung hier eingeben

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).

verwandte Informationen