我想调整twocolumn
文档的目录。我想将“目录”一词放在页面顶部和中间,目录条目则分两列放在后面。
我发现这它向我展示了如何做到这一点;但是
1) 它与我对titletoc
和titlesec
包的使用相冲突。这是因为目录本身似乎是一个部分。
2) 目录条目的格式过于具体。我希望将条目本身的格式设置为titletoc
如下形式
\titlecontents{section} [0pt] { } {\thecontentslabel.\enspace} { } {\leaders\hbox to 1em{\hss.\hss}\hfill \thecontentspage} []
如何获取章节和目录条目的格式,以及将“目录”一词置于文档目录中的中心?
到目前为止的结果是这样的
MWE 是:
\documentclass[12pt,oneside,twocolumn]{article}
\usepackage[a4paper, bottom=2cm, columnsep=2.0cm,top=2cm, left=1in, right=1cm ] {geometry}
\usepackage{titlesec}
\usepackage[]{titletoc}
\titlespacing{\section}{0pt}{4ex}{-0.5\parskip}
\titleformat{\section}[hang]{\raggedright\normalfont\large\bfseries}{\thesection.}{1ex}{}[]
\makeatletter
\renewcommand*{\tableofcontents}{%
\if@twocolumn
\@restonecolfalse
\else
\@restonecoltrue
\fi
\twocolumn[\section*{\centering\contentsname}]%
\@mkboth{\MakeUppercase\contentsname}%
{\MakeUppercase\contentsname}%
\thispagestyle{plain}%
\@starttoc{toc}%
\if@restonecol
\onecolumn
\else
\clearpage
\fi
}
\makeatother
\begin{document}
\tableofcontents
\newpage
\section{Section 1}
\section{Section 2}
\section{Section 3}
\section{Section 4}
\section{Section 5}
\section{Section 6}
\section{Section 7}
\section{Section 8}
\section{Section 9}
\section{Section 10}
\section{Section 11}
\section{Section 12}
\section{Section 13}
\section{Section 14}
\section{Section 15}
\section{Section 16}
\section{Section 17}
\section{Section 18}
\section{Section 19}
\section{Section 20}
\section{Section 21}
\section{Section 22}
\section{Section 23}
\section{Section 24}
\section{Section 25}
\section{Section 26}
\section{Section 27}
\section{Section 28}
\section{Section 29}
\end{document}
答案1
也许不如您尝试的那么优雅,但是:
由于目录只会出现一次,因此很容易删除标题并“手动”添加一个新的。此外,如果您混合使用单列和双列元素,则该multicol
包比将整个文档设置为更灵活twocolumn
。
编辑:我原来的解决方案不适用于titlesec
,我想我使用section*
宏的方式与该包不兼容。现在这个似乎可以工作了,带有手动格式化的目录标题。
\documentclass{article}
\usepackage{multicol}
\usepackage{titlesec}
\titlespacing{\section}{0pt}{4ex}{-0.5\parskip}
\titleformat{\section}[hang]{\raggedright\normalfont\large\bfseries}{\thesection.}{1ex}{}[]
\usepackage[]{titletoc}
\titlecontents{section} [0pt] { } {\thecontentslabel.\enspace} { } {\leaders\hbox to 1em{\hss.\hss}\hfill \thecontentspage} []
\makeatletter
\renewcommand\tableofcontents{%
\@starttoc{toc}%
}
\makeatother
\makeatletter
\renewcommand\tableofcontents{%
\@starttoc{toc}%
}
\makeatother
\begin{document}
\begin{center}
\Large
\textbf{Contents}
\end{center}
\begin{multicols}{2}
\tableofcontents
\newpage
\section{Section 1}
\section{Section 2}
\section{Section 3}
\section{Section 4}
\section{Section 5}
\section{Section 6}
\section{Section 7}
\section{Section 8}
\section{Section 9}
\section{Section 10}
\section{Section 11}
\section{Section 12}
\section{Section 13}
\section{Section 14}
\section{Section 15}
\section{Section 16}
\section{Section 17}
\section{Section 18}
\section{Section 19}
\section{Section 20}
\section{Section 21}
\section{Section 22}
\section{Section 23}
\section{Section 24}
\section{Section 25}
\section{Section 26}
\section{Section 27}
\section{Section 28}
\section{Section 29}
\end{multicols}
\end{document}