使用 \setcounter{tocdepth}? 仅显示目录中较低级别的章节/部分

使用 \setcounter{tocdepth}? 仅显示目录中较低级别的章节/部分

我有一个关于目录的问题:我知道,例如,\setcounter{tocdepth}{2}如果我愿意的话可以使用,只显示目录中的部分、章节和部分,并抑制子章节及以下。

但是,我的问题是,是否可以采用相反的做法 - 例如,仅显示部分和较低级别,而不显示部分和章节。\section*在这种情况下,不能使用或等效选项。

谢谢!

答案1

这取决于课程,但有了书本,你可以做

\documentclass{book}
\makeatletter
\renewcommand*\l@part[2]{}
\renewcommand*\l@chapter[2]{}
\makeatother
\begin{document}
\tableofcontents

\part{a part}
\chapter{a chapter}
\section{a section}
\subsection{a subsection}
\part{a part}
\chapter{a chapter}
\section{a section}
\subsection{a subsection}

\end{document}

在此处输入图片描述

\renewcommand*\l@section[2]{} 也将抑制这些部分。

答案2

KOMA-Script 类您可以将 ToC 条目的样式更改为gobble使用

\RedeclareSectionCommands[tocstyle=gobble]{part,chapter}

或者

\DeclareTOCStyleEntry{gobble}{part}
\DeclareTOCStyleEntry{gobble}{chapter}

例子:

\documentclass{scrbook}
\RedeclareSectionCommands[tocstyle=gobble]{part,chapter}
\begin{document}
\tableofcontents
\part{a part}
\chapter{a chapter}
\section{a section}
\subsection{a subsection}
\part{a part}
\chapter{a chapter}
\section{a section}
\subsection{a subsection}
\end{document}

结果:

在此处输入图片描述


标准班您可以使用

\usepackage{tocbasic}
\DeclareTOCStyleEntry[level=-1]{gobble}{part}
\DeclareTOCStyleEntry[level=0]{gobble}{chapter}

在此处输入图片描述

代码:

\documentclass{book}
\usepackage{tocbasic}
\DeclareTOCStyleEntry[level=-1]{gobble}{part}
\DeclareTOCStyleEntry[level=0]{gobble}{chapter}
\begin{document}
\tableofcontents
\part{a part}
\chapter{a chapter}
\section{a section}
\subsection{a subsection}
\part{a part}
\chapter{a chapter}
\section{a section}
\subsection{a subsection}
\end{document}

相关内容