\lstlistoflistings では、数字とタイトルの間に十分なスペースがありません

\lstlistoflistings では、数字とタイトルの間に十分なスペースがありません

コード サンプルのリストを生成するために、listings パッケージの \lstlistoflistings コマンドを使用しています。残念ながら、番号とコード リストのタイトルの間に十分なスペースがありません。サンプル画像を参照してください。最後の行には 13.10.1 と表示されるはずです。列幅を調整するにはどうすればよいでしょうか。

例

答え1

前文に以下を追加します:

\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{3em}{#1}{#2}}
\makeatother

3 番目の引数の の代わりに3em、ニーズに最適な長さを使用します (元の定義では値は です2.3em)。

完全な例:

デフォルトのレイアウト:

\documentclass{book}
\usepackage{listings}

\begin{document}

\lstlistoflistings
\setcounter{chapter}{13}
\chapter{Test}
\setcounter{lstlisting}{13}
\begin{lstlisting}[caption=A]
A
\end{lstlisting}

\end{document}

ここに画像の説明を入力してください

そして今、距離は伸びています:

\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}

ここに画像の説明を入力してください

おそらく、他のリストとの一貫性を維持するために、必要に応じて\l@figure、、\l@table... を再定義することを検討することもできます (または、ラベルとタイトル間の距離を変更する専用パッケージを使用します)。

関連情報