用于从目录中删除更深层标题的命令

用于从目录中删除更深层标题的命令

在标题中使用时,*您会从目录中删除该部分。但有时您只想删除某一级别的标题。与其逐个删除每个标题,不如更改一个上级标题来实现此目的。

我想知道是否可以创建一个*基于的命令,该命令可以删除更深级别的标题,而无需删除应用它的级别。

例如:

\section*{asdf}
\subsection{fdsa}
\section{B}
\subsection{C}

asdf-headline 将显示在目录中,而子部分将被删除。B 部分和 C 部分都是目录的一部分。

理想情况下,该命令不会重新定义,\section*{但会提供一种替代方案,允许与最近定义的其他命令同时使用(使用时自动从目录中删除下级标题级别*)。

答案1

也许这可以满足您的需要(根据您的代码片段):

\documentclass{report}
\usepackage{tocvsec2}
\begin{document}

\maxtocdepth{subsection}
\tableofcontents

\section*{asdf}                         
\subsection{fdsa}

\settocdepth{chapter} % <-- comment this line to see the difference
\chapter{A} 
\section{B} 
\subsection{C}

\settocdepth{subsection}   
\chapter{D} 
\section{E}  
\subsection{F}  

\end{document}

(请记住编译两次以查看目录中的内容如何变化。)

相关内容