![用于从目录中删除更深层标题的命令](https://linux22.com/image/253893/%E7%94%A8%E4%BA%8E%E4%BB%8E%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%88%A0%E9%99%A4%E6%9B%B4%E6%B7%B1%E5%B1%82%E6%A0%87%E9%A2%98%E7%9A%84%E5%91%BD%E4%BB%A4.png)
在标题中使用时,*
您会从目录中删除该部分。但有时您只想删除某一级别的标题。与其逐个删除每个标题,不如更改一个上级标题来实现此目的。
我想知道是否可以创建一个*
基于的命令,该命令可以删除更深级别的标题,而无需删除应用它的级别。
例如:
\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}
(请记住编译两次以查看目录中的内容如何变化。)