如何将我的列表添加到目录中?

如何将我的列表添加到目录中?

我正在使用thesul类。我想将我的列表添加到目录中。

我找到了一种使用以下命令来执行此操作的方法\addcontentsline{toc}{spsection}{Listings}

\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings
\addcontentsline{toc}{spsection}{Listings}

但问题是,由于使用此命令,已经添加的相应PDF书签被第二次添加。

所以,也许我需要修改该thesul.cls文件。


编辑 1:抱歉,我忘记了tulhypref包,所以这个文件没有书签main.tex。这是正确的main.tex文件:

\documentclass{thesul}
\usepackage{tulhypref} % for bookmarks
\usepackage{listings} % for \lstlistoflistings
\begin{document}
    \tableofcontents
    \listoffigures
    \listoftables
    \lstlistoflistings
    \addcontentsline{toc}{spsection}{Listings}
    \chapter{My first chapter}

    Hello, this is my first chapter.

    \section{My first section}

    Hello, this is my first section.

    \begin{lstlisting}
echo "hello world";
    \end{lstlisting}
\end{document}

编辑2:结果如下: 在此处输入图片描述

但我找到了一种解决方法。

当我使用该\lstlistoflistings命令时,我需要执行:

\hypersetup{bookmarksdepth=-1}
\lstlistoflistings
\hypersetup{bookmarksdepth}

完整代码如下:

\documentclass{thesul}
\usepackage{tulhypref} % for bookmarks
\usepackage{listings} % for \lstlistoflistings
\begin{document}
    \tableofcontents
    \listoffigures
    \listoftables
    \hypersetup{bookmarksdepth=-1} % add this line (to disable bookmarks)
    \lstlistoflistings
    \hypersetup{bookmarksdepth} % add this line (to enable bookmarks)
    \addcontentsline{toc}{spsection}{Listings}
    \chapter{My first chapter}

    Hello, this is my first chapter.

    \section{My first section}

    Hello, this is my first section.

    \begin{lstlisting}
echo "hello world";
    \end{lstlisting}
\end{document}

结果如下: 在此处输入图片描述

答案1

我宁愿定义一个新的浮动环境并将其与环境一起使用,而不是使用listings内置机制lstlisting(就像将table浮动环境与tabular环境一起使用一样):

以下运行顺利并给出预期结果:

\documentclass{thesul}
\usepackage{tulhypref} % for bookmarks
\usepackage{listings} % for \lstlistoflistings

\usepackage{newfloat}
\DeclareFloatingEnvironment[
  fileext = lol ,
  listname = {List Of Listings} ,
  name = Listing
]{listing}

\begin{document}

\tableofcontents
\listoffigures
\listoftables
\listoflistings

\chapter{My first chapter}
Hello, this is my first chapter.

\section{My first section}
Hello, this is my first section.

\begin{listing}
  \begin{lstlisting}
echo "hello world";
  \end{lstlisting}
  \caption{My listing's caption.}
\end{listing}

\end{document}

相关内容