babel 和 \contentsname,如何添加额外的定制?

babel 和 \contentsname,如何添加额外的定制?

这就是我想做的事情:

\renewcommand{\contentsname}{
\vspace{-8mm}
{\Huge Table of Contents}\vspace{-3mm}
\rule{\linewidth}{0.5mm} \\[-4mm]
}

使用 babel,我可以让这个代码运行:

\documentclass[12pt]{article}
\usepackage[english]{babel}

\addto\captionsenglish{
  \renewcommand{\contentsname}
   %\vspace{10mm}
    {Table of Contents}
}

\begin{document}
\tableofcontents
\end{document}

但第二次我尝试将其添加\vspace为测试时,它失败了。有什么想法可以解决这个问题吗?因为我真的想将这些选项添加到目录中,而且我babel也需要这个包。

答案1

这是一种方法;修改间距以适合您。

\makeatletter
\renewcommand{\tableofcontents}{%
  \vspace*{-4mm}% reduce space before
  \noindent{\Huge\contentsname\par}%
  \vspace{2mm}% space between title and rule
  \hrule
  \vspace{2mm}% space below rule
  \@starttoc{toc}}
\makeatother

不要向中添加格式指令\contentsname,其中只应包含要打印的字符串。

相关内容