两个目录

两个目录

请参阅下面的最小说明。我想要两个目录:一个只提供文档的粗略结构,另一个提供所有细节,直至子部分。下面粘贴的代码应该可以做到这一点,但第二个目录没有显示,我不明白。

\documentclass{report}

\begin{document}

\setcounter{tocdepth}{1}          
\setcounter{secnumdepth}{3}       

\tableofcontents

\renewcommand*\contentsname{Contents (detailed)}

\setcounter{tocdepth}{3}          

\tableofcontents

\chapter{XXX}
\section{YYY}
\subsection{WER}
\subsubsection{ABC}
\subsubsection{DEF}
\subsection{ZTR}
\subsubsection{OIU}
\subsubsection{OIZ}
\subsubsection{POI}
\section{YYY}
\subsection{WER}
\subsubsection{EDC}
\subsubsection{RFV}
\subsection{TGB}
\subsubsection{ZHN}
\subsubsection{OUH}
\subsubsection{WEK}
\chapter{ZZZ}
\chapter{AAA}

\end{document} 

刚刚注意到 hyperref 仍然存在问题:

\documentclass[10pt, a4paper]{report}
\usepackage{shorttoc}
\usepackage{hyperref}
\begin{document}

\setcounter{secnumdepth}{3}      

\pdfbookmark[1]{Contents}{toc}    
\shorttoc{Contents}{1} 

\pdfbookmark[1]{Contents (detailed)}{toc}    
\shorttoc{Contents (detailed)}{3}

\tableofcontents

\chapter{XXX}
\section{YYY}
\subsection{WER}
\subsubsection{ABC}
\subsubsection{DEF}
\subsection{ZTR}
\subsubsection{OIU}
\subsubsection{OIZ}
\subsubsection{POI}
\section{YYY}
\subsection{WER}
\subsubsection{EDC}
\subsubsection{RFV}
\subsection{TGB}
\subsubsection{ZHN}
\subsubsection{OUH}
\subsubsection{WEK}
\chapter{ZZZ}
\chapter{AAA}

\end{document} 

第二个 \pdfbookmark 中的 {toc} 应该用什么来替换?[抱歉,编辑上述评论时遇到问题 --> 管理员请删除它!]

答案1

您需要的包是shorttoc

\documentclass[10pt, a4paper]{report}
\usepackage{shorttoc}

\renewcommand*\contentsname{Contents (detailed)}

\begin{document}

\shorttoc{Contents}{1} % Only sections

\tableofcontents

重要的\shorttoc \tableofcontents;您可以使用第二个参数指定所需的任何深度。

如果您想使用hyperref,请按以下步骤操作:

\documentclass[10pt, a4paper]{report}
\usepackage{shorttoc}
\usepackage{hyperref}

\renewcommand*\contentsname{Contents (detailed)}

\begin{document}

\pdfbookmark[1]{Contents}{toc}
\shorttoc{Contents}{1}

\cleardoublepage
\pdfbookmark[1]{Contents (detailed)}{toc (detailed)}
\tableofcontents

请注意必须指定\shorttoc详细内容,但仅此而已\tableofcontents

答案2

这是另一种解决方案。

\tableofcontents用以下代码替换第一个

{\expandafter\def\csname @starttoc\endcsname#1{\InputIfFileExists{\jobname.#1}{}{}}%
\tableofcontents}

MWE(含hyperref

\documentclass{report}

\usepackage{hyperref}

\begin{document}

\setcounter{tocdepth}{1}
\setcounter{secnumdepth}{3}

{\expandafter\def\csname @starttoc\endcsname#1{\InputIfFileExists{\jobname.#1}{}{}}%
\tableofcontents}

\renewcommand*\contentsname{Contents (detailed)}

\setcounter{tocdepth}{3}

\tableofcontents

\chapter{XXX}
\section{YYY}
\subsection{WER}
\subsubsection{ABC}
\subsubsection{DEF}
\subsection{ZTR}
\subsubsection{OIU}
\subsubsection{OIZ}
\subsubsection{POI}
\section{YYY}
\subsection{WER}
\subsubsection{EDC}
\subsubsection{RFV}
\subsection{TGB}
\subsubsection{ZHN}
\subsubsection{OUH}
\subsubsection{WEK}
\chapter{ZZZ}
\chapter{AAA}

\end{document} 

输出:

在此处输入图片描述

答案3

您可以使用包埃托克. 没问题超链接

\documentclass{report}

\usepackage{etoc}
\setcounter{tocdepth}{3}          

\usepackage{hyperref}

\begin{document}

\etocsetnexttocdepth{section}
\tableofcontents

\renewcommand*\contentsname{Contents (detailed)}
\tableofcontents

\chapter{XXX}
\section{YYY}
\subsection{WER}
\subsubsection{ABC}
\subsubsection{DEF}
\subsection{ZTR}
\subsubsection{OIU}
\subsubsection{OIZ}
\subsubsection{POI}
\section{YYY}
\subsection{WER}
\subsubsection{EDC}
\subsubsection{RFV}
\subsection{TGB}
\subsubsection{ZHN}
\subsubsection{OUH}
\subsubsection{WEK}
\chapter{ZZZ}
\chapter{AAA}

\end{document}

第一个:

在此处输入图片描述

第二个:

在此处输入图片描述

相关内容