某个期刊提供的模板包含一个“手动”目录:
\begin{large}
\begin{center}
\begin{tabular}{c c}
1. Section 1 & 4. Section 4\\
2. Section 2 & 5. Section 5\\
3. Section 3 & 6. Section 6
\end{tabular}
\end{center}
\end{large}
目的大概是让目录整齐地排列在两列中。鉴于我没有太多部分,我可以手动更新它。
但是,似乎应该有更好的方法来做到这一点,这样我就不需要在每次更改部分名称时手动更新目录,并且我会自动获得超链接等好处。
有没有办法可以\tableofcontents
模仿这种格式?
答案1
这将在多列环境中设置目录。问题是您可能不希望“目录”位于列中,因此我们使用 etoolbox 使多列在“目录”之后开始,但在实际读取内容之前。 \raggedcolumns 使每个目录条目都具有其自然的垂直高度,以便它们更有机会水平排列。
\documentclass{article}
\usepackage{multicol}
\usepackage{etoolbox}
\begin{document}
\setlength{\columnsep}{2em}
\setlength{\columnseprule}{.4pt}
\makeatletter
\pretocmd{\@starttoc}{\begin{multicols}{2}}{}{}
\makeatother
\tableofcontents
\raggedcolumns
\end{multicols}
\section{Section 1}
\section{Section 2}
\section{Section 3}
\section{Section 4}
\section{Section 5}
\end{document}