通过查阅我设法制作的文档,\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}