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