如何防止 \settocdepth{chapter} 导致列表为空

如何防止 \settocdepth{chapter} 导致列表为空

为什么取消注释(恕我直言无辜)调用\settocdepth{chapter}以下 MWE 中的(在我看来无辜的)调用会导致列表变为空白?或者说:我该怎么做才能两个都为附录保留章节目录保持列表“活跃”吗?

\documentclass{memoir}
\usepackage{listings}

\begin{document}
\tableofcontents
\lstlistoflistings
\newpage

\chapter{A chapter}
\begin{lstlisting}[float,caption={Foo},label={lst:foo}]
Foo code
\end{lstlisting}
\newpage

%\settocdepth{chapter} % uncomment --> list of listings empty
\appendix
\chapter{Foo}
Bar
\end{document}

答案1

该命令\settocdepth{chapter}导致

\changetocdepth{0}

写入.toc文件中,因此在读入清单列表进行排版时,此设置将继续。

只需重置它:

\documentclass{memoir}
\usepackage{listings}

\begin{document}
\tableofcontents

\settocdepth{subsection} 
\lstlistoflistings
\newpage

\chapter{A chapter}
\section{A section}
\begin{lstlisting}[float,caption={Foo},label={lst:foo}]
Foo code
\end{lstlisting}
\newpage

\settocdepth{chapter} 
\appendix
\chapter{Foo}
\section{A section}
Bar
\end{document}

在此处输入图片描述

相关内容