为什么一个 \tableofcontents 会给出两个目录?

为什么一个 \tableofcontents 会给出两个目录?

我只想用包生成一个两列的目录etoc。但是下面的代码排版了两个目录(请看附图)。为什么?我的代码有什么问题?

代码:

\documentclass{article}
\usepackage{etoc}
\usepackage{geometry}
\geometry{showframe}
\geometry{left=1cm,right=1cm,top=1cm,bottom=1cm}
\parindent0pt
\begin{document}
\etocmulticol{}%
\tableofcontents
\section{first}
\subsection{subfirst}
\section{second}
\subsection{subsecond}
\section{third}
\subsection{subthird}
\section{fourth}
\subsection{subfourth}
\section{fifth}
\end{document}

在此处输入图片描述

答案1

您可能将宏\etocmulticolstyle与另一个宏混淆了\etocmulticol。虽然第一个宏用于设置所有目录的样式,然后您可以使用调用它tableofcontents,但第二个宏只是直接排版一个以给定方式设置样式的目录,而不会更改其他目录的整体样式。

因此,您应该\tableofcontents从代码中删除,或者更改\etocmulticol{}\etocmulticolstyle{},例如像这样:

\documentclass{article}
\usepackage{etoc}
\usepackage{geometry}
\geometry{showframe}
\geometry{left=1cm,right=1cm,top=1cm,bottom=1cm}
\parindent0pt
\begin{document}

\etocmulticolstyle{\textbf{\large Table of Contents}}

\tableofcontents

\section{first}
\subsection{subfirst}
\section{second}
\subsection{subsecond}
\section{third}
\subsection{subthird}
\section{fourth}
\subsection{subfourth}
\section{fifth}
\end{document}

结果:

在此处输入图片描述

答案2

您创建了两个目录。一个是\etocmulticol,另一个是\tableofcontent。如果您注释掉其中一个,则只会得到一个。

相关内容