![目录中的两位数章节编号](https://linux22.com/image/340583/%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E4%B8%A4%E4%BD%8D%E6%95%B0%E7%AB%A0%E8%8A%82%E7%BC%96%E5%8F%B7.png)
通过查阅我设法制作的文档,\chapter
如果章节号小于 10,则会在章节号前生成一个尾随 0。
我想对目录做同样的事情,但我在网上找不到任何帮助。现在我只看到
1 First Chapter 5
2 Second Chapter 23
...
10 Tenth Chapter 130
但我想要的是这个:
01 First Chapter 5
02 Second Chapter 23
...
10 Tenth Chapter 130
有人知道吗?提前谢谢!
答案1
的更改\thechapter
应在命令内\@chapter
而不是在\@makechapterhead
命令中进行,因为在\@chapter
中\addcontentsline
使用了。
我book
为此承担了课程。
\documentclass{book}
\usepackage{xpatch}
\newcount\loopcntr
\makeatletter
\xpatchcmd{%
\@chapter%
}{%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
}{%
\begingroup
\renewcommand{\thechapter}{\ifnum\value{chapter} <10\relax 0\arabic{chapter}\else\arabic{chapter}\fi}
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
\endgroup
}{\typeout{Patch successful!}}{\typeout{Patch failed!}}
\makeatother
\begin{document}
\tableofcontents
\loop\ifnum\loopcntr <10\relax
\advance\loopcntr by 1
\chapter{Kapitel \the\loopcntr}
\repeat
\end{document}