如何让 \chaptername 出现在目录中?

如何让 \chaptername 出现在目录中?

在我的 tex 文件中,我将章节名称从“Chapter”更改为“Day”,使用:

\renewcommand \chaptername {Day}

但是当我生成目录时,它只显示“1”,而不显示“第 1 天”。如何让“天”显示在目录中?

答案1

我建议使用该tocloft包,尽管我怀疑该titletoc包也可以很容易地使用。tocloft提供了许多挂钩以将内容插入到目录中。

以下是一个例子:

\documentclass{book}
\usepackage{tocloft,calc}
\renewcommand\chaptername{Day}
\renewcommand\cftchappresnum{\chaptername\space}
\setlength{\cftchapnumwidth}{\widthof{\textbf{Day~999~}}}
\begin{document}
\tableofcontents
\setcounter{chapter}{500}
\chapter{Hello}
\end{document}

在这种情况下,\cftchappresnum将其参数插入到chap条目中的(分区编号pre之前snum)。

正如 Juan 所说(谢谢!),还需要增加分配给“章节号”的空间大小。在这种情况下,我们计算第 999 天将是(使用 calc 包)并使用该长度。

答案2

哇,回答我自己的问题!

我可能一开始就应该提到这是回忆录课。无论如何,经过一番调查,我发现我必须添加以下行:

\renewcommand*{\cftchaptername}{Day\space}

这对我来说是这样的。

答案3

如果你使用{polyglossia},你可以将章节名称更改为

\usepackage{polyglossia}
\setdefaultlanguage{english}
\addto\captionsenglish{%
 \renewcommand\chaptername{%
Day}}

(也适用于德语,分别替换相应的字符串......)

也可以看看:https://latex.org/forum/viewtopic.php?t=788

相关内容