从目录中删除部分但保留其自动编号

从目录中删除部分但保留其自动编号

在此处输入图片描述

如何从目录中删除子部分但保留其自动编号?

\subsection*{SubSection1} 从目录和自动编号中删除。

答案1

我尝试通过修补\subsection来获取新命令,从而解决这个问题\mysubsection。然后您可以使用它\mysubsection来获取不会出现在内容中的编号部分。

\documentclass{article}
\usepackage{xpatch}
\makeatletter
\let\my@sect\@sect
\let\my@startsection\@startsection
\let\mysubsection\subsection
\xpatchcmd{\my@sect}{%
  \addcontentsline{toc}{#1}{%
    \ifnum #2>\c@secnumdepth \else
      \protect\numberline{\csname the#1\endcsname}%
    \fi
    #7}%
  } {%
} {} {}
\xpatchcmd{\my@startsection}{\@sect}{\my@sect}{}{}
\xpatchcmd{\mysubsection}{\@startsection}{\my@startsection}{}{}
\makeatother

\begin{document}
\tableofcontents
\section{test}
\subsection{test}
\mysubsection{test}
\subsection{test}
\section{test}
\subsection{test}
\mysubsection{test}
\subsection{test}
\end{document}

在此处输入图片描述

相关内容