目录标题居中

目录标题居中

我想将目录标题居中,使其看起来如下所示:

                         Table of contents 

1.   Section                                              1
1.1  Subsection                                           3
1.2  Subsection                                           5
2    Section                                             11

代替

Table of contents 

1.   Section                                              1
1.1  Subsection                                           3
1.2  Subsection                                           5
2    Section                                             11

我已尝试过\renewcommand{\contentsname}{\centerline{Table of contents}},这对于页面的外观来说效果很好。

但我使用的是书本风格,在页面顶部,在左边侧,我希望获得当前章节/部分/任何其他内容的名称。但如果我执行上述操作,文本Table of contents不会在左侧,而是在中间(因为\centerline)。

有没有什么办法可以实现我的愿望?

答案1

有多个包可以修改内容布局。标准文档类中最简单的包可能是tocloft。您可以使用:

\usepackage{tocloft}
\renewcommand{\cfttoctitlefont}{\hfill\Large\bfseries}
\renewcommand{\cftaftertoctitle}{\hfill}

\tableofcontents排版为\chapter*(对于bookreport)或\section*(对于article)。您可以修改目录的章节(部分)标题的布局。因此sectstytitlesec可用于标准类。您可以使用:

% \documentclass{article}
% \usepackage{sectsty}
\sectionfont{\centering}
\tableofcontents
\sectionfont{}

或者

% \documentclass{article}
% \usepackage{titlesec}
\titleformat*{\section}{\centering\bfseries\Large}
\tableofcontents
\titleformat*{\section}{\bfseries\Large}

如果你正在使用诸如memoir和 之类的类koma-script,那么将会有其他命令用于此目的。你最好阅读这些类的手册。

答案2

\documentclass{book}
\begin{document}

\makeatletter
\chapter*{\centerline{\contentsname}}
\@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
\@starttoc{toc}%
\makeatother

\chapter{foo}
bar

\end{document}

答案3

对我来说,唯一可行的解​​决方案是

\begin{center}
\tableofcontents
\end{center}

相关内容