两栏文档中的目录中“目录”居中,并带有自定义部分

两栏文档中的目录中“目录”居中,并带有自定义部分

我想调整twocolumn文档的目录。我想将“目录”一词放在页面顶部和中间,目录条目则分两列放在后面。

我发现它向我展示了如何做到这一点;但是

1) 它与我对titletoctitlesec包的使用相冲突。这是因为目录本身似乎是一个部分。

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}

LaTeX 输出

相关内容