\lstlistoflistings 數字和標題之間沒有足夠的空間

\lstlistoflistings 數字和標題之間沒有足夠的空間

我使用清單包中的 \lstlistoflistings 命令來產生程式碼範例清單。不幸的是,數字和代碼列表標題之間沒有足夠的空間。請參閱範例影像,最後一行應顯示 13.10.1。如何調整列寬?

例子

答案1

將其添加到序言中:

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

不要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,... (或使用專用包來更改標籤和標題之間的距離)。

相關內容