如何将 \lstlistoflistings 添加到目录中?

如何将 \lstlistoflistings 添加到目录中?

有人能告诉我如何\lstlistoflistings在目录中为命令创建条目吗?我希望您可以看到列表所在的页码。

答案1

解决方案取决于您的文档类。如果您使用的是 KOMA 类,则可以使用选项listof。当然,您可以将此键本地设置为\lstlistoflistings

\documentclass[listof=totoc]{scrartcl}
\usepackage{scrhack}
\usepackage{listings}
\begin{document}
\tableofcontents
\lstlistoflistings

\section{foo}
text
\begin{lstlisting}[caption={A listing}]
(Listing content)
\end{lstlisting}
\end{document}

在此处输入图片描述

\addcontentsline对于标准类,应该使用标准命令。

\documentclass{article}
\usepackage{listings}
\begin{document}
\tableofcontents
\addcontentsline{toc}{section}{Listings}
\lstlistoflistings

\section{foo}
text
\begin{lstlisting}[caption={A listing}]
(Listing content)
\end{lstlisting}
\end{document}

答案2

对于任何人使用 tocbibind 包的情况,其主要目的是处理目录中的“表格/图形/等列表”,文档已经提供了解决方案:

有一些软件包(例如 listings 和 ccaption)提供新的 Listof 列表。这些可以由 tocbibind 软件包以与通常的 Listofs 类似的方式处理。下面给出了两个示例。listings 软件包版本 0.2 提供了一个\lstlistoflistings 命令来打印列表列表。此列表的标题名称为 in \lstlistingname,列表文件的扩展名为 lol。这可以像 等\listoffigure命令一样处理。要将 List of Listings 标题添加到 ToC,请执行以下操作:

\renewcommand{\lstlistoflistings}{\begingroup
  \tocfile{\lstlistingname}{lol}
\endgroup}

https://ctan.math.illinois.edu/macros/latex/contrib/tocbibind/tocbibind.pdf

但是文档中有一个错误,即\lstlistingname列表本身使用的标题,而不是使用 的列表列表的标题\lstlistlistingname。因此,正确的添加内容应该是:

\renewcommand{\lstlistoflistings}{\begingroup
  \tocfile{\lstlistlistingname}{lol}
\endgroup}

相关内容