一般来说,参考文献、索引等章节的标题在论文中是不编号的。但是,在一些特殊情况下,我们可能也需要为这些标题做章节编号。

这边文章介绍如何处理此类情况。


对参考文献来说,不论采取何种方式,大体上最终都是用 LaTeX 提供的 ​​thebibliography 环境​​来排版参考文献列表。这个环境一方面打印参考文献标题,另一方面打印参考文献列表。而打印参考文献标题的方式,就是调用​​\section*​​(在 ​​article​​ 文档类中)或 ​​\chapter*​​(在 ​​book​​ 类中)。 因此,我们需要做的事情,就是重定义 ​​thebibliography​​ 环境,使其调用 ​​\section​​ 或 ​​\chapter​​,而不是带星号的版本。 在 LaTeX2e 当中,定义名为 ​​foo​​ 的环境,实际上定义了两个命令:​​\foo​​ 和 ​​\endfoo​​。前者用于开始环境,而后者用于结束环境。显而易见,​​thebibliography​​ 环境对应的两个命令是 ​​\thebibliography​​ 和 ​​\endthebibliography​​;而 ​​\section*​​ 或 ​​\chapter*​​ 的调用位于 ​​\thebibliography​​ 当中。因此,我们只需要使用 ​​xpatch​​/​​etoolbox​​ 宏包提供的 ​​\xpatchcmd​​/​​\patchcmd​​ 对 ​​\thebibliography​​ 打上补丁即可。

​\xpatchcmd​​/​​\patchcmd​​ 的介绍和用法可以参见​​​这里​​​和​​这里​​。

以下是在 ​​article​​ 文档类中的最简示例。 numbered_bibliography.tex






生成带编号的索引标题可以采用类似的方案操作,此处不表。