在文档中间切换目录深度

在文档中间切换目录深度

目录的粒度一般由tocdepth可为整个文档全局设置的计数器控制。

是否可以在文档中间更改目录的粒度?如果可以,如何更改?

我有一个特定的文档,其中我希望tocdepth第一部分有两个,tocdepth第二部分有一个(没有什么更复杂的)。

答案1

直接使用 将命令写入文件,\setcounter{tocdepth}{...}就像在宏中所做的那样:.toc\addtocontents\changelocaltocdepth

\l@....这是有效的,因为基本上生成内容行条目的各种宏会在生成viatocdepth时检查值。.toc\@dottedtocline

\documentclass{book}

\newcommand{\changelocaltocdepth}[1]{%
  \addtocontents{toc}{\protect\setcounter{tocdepth}{#1}}%
  \setcounter{tocdepth}{#1}%
}




\setcounter{tocdepth}{2}

\begin{document}

\tableofcontents

\part{One}
\chapter{Foo}

\section{Foo}

\subsection{Foo stuff}

\changelocaltocdepth{1}

\part{Two}
\chapter{Foo}

\section{Foo}

\subsection{Foo stuff}
\end{document}

在此处输入图片描述

相关内容