目录中的两位数章节编号

目录中的两位数章节编号

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

在此处输入图片描述

相关内容