我正在尝试更改目录的默认章节标题,并更新tocloft
宏\contentsname
:
\documentclass{article}
\usepackage[american]{babel} % (*) THE STARRED LINE
\usepackage{tocloft}
\renewcommand*{\contentsname}{FooContents}
\begin{document}
\tableofcontents
\section{The first section}
\section{The second section}
\end{document}
如果我删除带星号的行,目录将按预期显示,标题为“FooContents” - 否则,将使用默认标题“Contents”。
有没有办法可以做到这一点而不摆脱babel
?
编辑
根据下面@egreg 的评论,这个特定问题可以通过 解决\addto\captionsamerican{\renewcommand*{\contentsname{FooContents}}}
。
关于\addto
babel
文档(第 64 页)指出:
对于每种语言,必须定义四个控制序列来控制特定于语言的定义。为了能够在定义这些宏后向其添加内容,引入了宏 \addto。
但是,我找不到这四个控制序列的列表。我使用得tocloft
相当频繁,而且我用它做的大部分事情都是用 来反转的babel
。