我想打印\toccontents
和\tableofcontents
(在文档的两个不同部分)。但是,打印第一个会导致第二个无法打印。我见过许多相关问题,但没有人能帮我解决。
我正在使用类report
(带有notitlepage
)。我也在使用titlesec
。
\documentclass[notitlepage]{report}
\makeatletter
\newcommand*{\toccontents}{\@starttoc{toc}}
\makeatother
\begin{document}
\noindent\makebox[\textwidth][c]{%
\begin{minipage}{0.75\textwidth}
\sffamily
\setcounter{tocdepth}{0}
{\Large \bfseries Table of Contents}\par
\toccontents
\normalfont
\end{minipage}}
\newpage
\tableofcontents
\newpage
\chapter{Section}
words
\end{document}
答案1
这是一个解决方案etoc
。我们需要使用\etocsettocstyle
来提供样式(间距和标题)
\documentclass[notitlepage]{report}
\usepackage{etoc}
\newcommand{\mytableofcontents}{%
{\etocsettocstyle{\centering\begin{minipage}{.75\textwidth}\sffamily
{\Large \bfseries \contentsname\par}}{\end{minipage}\par}
\etocsetnexttocdepth{0}
\tableofcontents}}
\begin{document}
\mytableofcontents
\tableofcontents
\chapter{First chapter}
\section{Foo}
\section{Foo bar}
\chapter{Second chapter}
\section{Bla}
\section{Bla bla}
words
\end{document}
答案2
使用类( (和)类memoir
的超集),您可以在一个文档中包含多个目录。如果需要,每个目录可以具有不同的配置。用户手册(report
book
> texdoc memoir
)既有简短的目录,也有完整的目录,但风格和部分有很大不同9.2.5 示例:多个内容记录执行此操作的代码。