从目录中删除章节

从目录中删除章节
\documentclass{mwrep}    
\begin{document}
\tableofcontents
\chapter{c1}
\chapter{c2}
\chapter*{c3}
\chapter*{c4}
\section*{s}
\chapter{c5}
\end{document}

我知道chapter*从编号中删除章节。我怎样才能从目录中删除它?我想删除 c4,但不想删除 c3。

答案1

要从 ToC 中删除与 相关的所有条目,\chapter*您需要重新定义\chapter@toc中实现的命令mwrep.cls;以下示例代码包含必要的重新定义:

\documentclass{mwrep} 

\makeatletter
\renewcommand*\chapter@toc{%
  \ifHeadingNumbered\typeout{\@chapapp\space\thechapter.}
  \addcontentsline{toc}{chapter}{%
        \ifHeadingNumbered
 \protect\numberline{\mw@seccntformat{\HeadingNumber}}%
        \fi
            \HeadingTOCText}\fi%
  \addtocontents{lof}{\protect\addvspace{10\p@}}%
  \addtocontents{lot}{\protect\addvspace{10\p@}}%
  }
\makeatother

\begin{document}
\tableofcontents
\chapter{c1}
\chapter{c2}
\chapter*{c3}
\end{document}

要从目录中删除与您相关的特定条目,\chapter*可以 1) 使用以下tocvsec2包:

\documentclass{mwrep} 
\usepackage{tocvsec2}

\begin{document}
\tableofcontents
\chapter{c1}
\chapter{c2}
\chapter*{c3}
\settocdepth{part}
\chapter*{c4}
\settocdepth{section}
\end{document}

或2)使用\addtocontents适当改变计数器的值tocdepth

\documentclass{mwrep} 

\begin{document}
\tableofcontents
\chapter{c1}
\chapter{c2}
\chapter*{c3}
\addtocontents{toc}{\setcounter{tocdepth}{-1}}
\chapter*{c4}
\addtocontents{toc}{\setcounter{tocdepth}{2}}
\end{document}

相关内容