从两个目录中删除章节/小节

从两个目录中删除章节/小节

我的文档中有两个目录,一个用于整个文档(“主”目录),另一个仅用于附录。我想从“主”目录中的附录中删除所有章节和子章节,但不从附录的目录中删除。这可以在不重新编码所有内容的情况下实现吗?我已使用以下方法绑定:

\newcommand{\nocontentsline}[3]{}
\newcommand{\tocless}[2]{\bgroup\let\addcontentsline=\nocontentsline#1{#2}\egrou

\tocless\section{section name}

但这样我就丢失了附录中较小目录中的子部分。我尝试了上述命令的不同位置,但不起作用。

这是我现在生成的两个目录的代码:

\usepackage{titletoc}

\documentclass[a4paper, 12pt]{book}

\begin{document}   

%first TOC at beginning of document:

\tableofcontents

%Second TOC just before Appendix for the Appendix:

\appendix\addcontentsline{toc}{chapter}{Appendix}        
\startcontents
\renewcommand{\contentsname}{Appendix}
\printcontents{}{0}{%
\setcounter{tocdepth}{2}%
\tableofcontents}

有人知道如何解决这个问题吗?J

答案1

这是一个解决方案。

使用

\addcontentsline{toc}{chapter}{Appendix}
\addtocontents{toc}{\setcounter{tocdepth}{0}}    %for main toc
\addtocontents{ptc}{\setcounter{tocdepth}{2}}    %for appendix toc

更新由于扩展(calc包问题见评论)最好使用

\addcontentsline{toc}{chapter}{Appendix}
\addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
\addtocontents{ptc}{\protect\setcounter{tocdepth}{2}}

\documentclass[a4paper, 12pt]{book}
\usepackage{titletoc}
\usepackage{blindtext}
\begin{document}
\tableofcontents
\blinddocument
\blinddocument

%Second TOC just before Appendix for the Appendix:
\cleardoublepage
\appendix
\addcontentsline{toc}{chapter}{Appendix}
\addtocontents{toc}{\setcounter{tocdepth}{0}}
\addtocontents{ptc}{\setcounter{tocdepth}{2}}
\startcontents
\renewcommand{\contentsname}{Appendix}
\printcontents{}{0}{%
\setcounter{tocdepth}{2}%
\tableofcontents}
\blinddocument
\blinddocument

\end{document}

主要目录

在此处输入图片描述

附录目录

在此处输入图片描述

相关内容