![如何让 \chaptername 出现在目录中?](https://linux22.com/image/232290/%E5%A6%82%E4%BD%95%E8%AE%A9%20%5Cchaptername%20%E5%87%BA%E7%8E%B0%E5%9C%A8%E7%9B%AE%E5%BD%95%E4%B8%AD%EF%BC%9F.png)
在我的 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}}
(也适用于德语,分别替换相应的字符串......)