有这样的代码
\documentclass{article}
\usepackage{lipsum}
\usepackage{titletoc}
\begin{document}
\tableofcontents
\section{A long section}
\startcontents[section]
\printcontents[section]{}{2}{\setcounter{tocdepth}{3}}
\lipsum[1-2]
\subsection{SubA}
\subsubsection{SSub-a}
\subsection{SubB}
\subsubsection{SSub-b}
\subsection{SubC}
\end{document}
我想跳过A long section
主目录中的节的子节和子子节,但将它们显示在节目录中。用 包裹节\addtocontents{toc}{\setcounter{tocdepth}{1}}
并\addtocontents{toc}{\setcounter{tocdepth}{3}}
隐藏A long section
主目录中的结构,但使其自己的目录完全消失。我怎样才能得到我想要的?
答案1
默认情况下,titletoc
将部分目录写入扩展名为 的文件中.ptc
;然后您可以将tocdepth
计数器设置为适当的值(对于主目录使用\addtocontents{toc}{...}
,对于部分目录使用\addtocontents{ptc}{...}
。)
\documentclass{article}
\usepackage{lipsum}
\usepackage{titletoc}
\begin{document}
\tableofcontents
\addtocontents{toc}{\setcounter{tocdepth}{1}}
\section{A long section}
\startcontents[section]
\printcontents[section]{}{2}{\addtocontents{ptc}{\setcounter{tocdepth}{3}}}
\lipsum[1-2]
\subsection{SubA}
\subsubsection{SSub-a}
\subsection{SubB}
\subsubsection{SSub-b}
\subsection{SubC}
\addtocontents{toc}{\setcounter{tocdepth}{3}}
\end{document}
答案2
为了回应我对 Gonzalo 帖子的评论,对他的解决方案稍加修改即可使用mathtools
和mhchem
包:
\startcontents[section]
\printcontents[section]{}{2}{\setcounter{tocdepth}{3}}
请注意,与上面的 MWE 相比,唯一的变化是我从命令中删除了\addcontents{ptc}
一组多余的花括号。setcounter
\printcontents
article
我在和文档类中都使用了这个解决方案,book
没有任何问题。