我只想用包生成一个两列的目录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
。如果您注释掉其中一个,则只会得到一个。