\lstlistoflistings 数字和标题之间没有足够的空间

\lstlistoflistings 数字和标题之间没有足够的空间

我正在使用 listings 包中的 \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...(或使用专用包来更改标签和标题之间的距离)。

相关内容