使用 BIBTeX 处理参考文献
使用 BIBTeX 排版参考文献
- 准备一份 BIBTeX 数据库,假设数据库文件名为 books.bib,和 LaTeX 源代码一般位于同一个目录下。
- 在源代码中添加必要的命令。假设源代码名为 demo.tex
- 首先需要使用命令
\bibliographystyle
设定参考文献的格式。 - 其次,在正文中引用参考文献。BIBTeX 程序在生成参考文献列表的时候,通常只列出用了
\cite
命令引用的那些。如果需要列出未被引用的文献,则需要\nocite{ ⟨ citation ⟩ }
命令;而\nocite{*}
则让所有未被引用的文献都列出。 - 再次,在需要列出参考文献的位置,使用
\bibliography
命令代替 thebibliography 环境:\bibliography{ ⟨ bib-name ⟩ }
,其中 ⟨ bib-name ⟩ 是 BIBTeX 数据库的文件名,不要带.bib
扩展名。 - 注意:
\bibliographystyle
和\bibliography
这两个命令缺一不可,否则使用 BIBTeX 生成参考文献列表的时候会报错
- 首先需要使用命令
- 开始编译
- 使用 xelatex 或 pdflatex 编译源代码 demo.tex
- 使用 bibtex 命令(处理一些 aux、bbl 文件,不需要我们管)
- 在使用 xelatex 或 pdflatex 编译两遍(读入参考文献并正确,生成引用。)
整个过程使用的命令如下(可以略去扩展名):
1 | xelatex demo |
关于 bibliographystyle
参考文献的写法在不同文献里千差万别,包括作者、标题、年份等各项的顺序和字体样式、文献在列表中的排序规则等。BIBTeX 用样式(style)来管理参考文献的写法。BIBTeX 提供了几个预定义的样式,如 plain, unsrt, alpha 等。如果使用期刊模板的话,可能会提供自用的样式。样式文件以 .bst
为扩展名。
使用样式文件的方法是在源代码内(一般在导言区)使用 \bibliographystyle
命令:
1 | \bibliographystyle{⟨ bst-name ⟩} |
这里 ⟨ bst-name ⟩ 为 .bst
样式文件的名称,不要带 .bst
扩展名。
比如说如下的 plain 样式和 GB/T 7714—2015 样式
- plain
[1] Alice Axford, Bob Birkin, Charlie Copper, and Danny Dannford. Demostration of bibliography items. Journal of TeXperts, 36(7):114–120, Mar 2013.
- gbt7714-numerical
[1] 陈登原。国史旧闻:第 1 卷 [M]. 北京:中华书局,2000:29.
案例分析
1 | \documentclass{ctexart} |
比如使用 plain 样式的 bibliographystyle,然后随机插入两条文献,编译结果如下图所示:
从上图可看出,对于多个作者:“等”、“.et.al” 还需要进行相应的设置。其原因在于 bibliographystyle 使用的是 plain 样式。plain 的中文翻译点击此可查看:海词词典,大致意思是 “朴素的,纯的”,也就是说参考文献样式按照 “正文文本” 一样处理,而不会对齐进行一些额外的操作。
而如过我们使用的是 gbt7714-numerical 样式,注:使用 gbt7714-numerical 样式需要使用 gbt7714 宏包
1 | %...在导言区添加如下两行内容 |
输出结果如下,已经对参考文献的样式进行了符合 gbt-7714 标准形式的输出
完整案例如下
1 | \documentclass{ctexart} |
拓展
更多添加参考文献的方案
除了使用 BIBTeX 添加参考文献之外,实际上 Latex 还有其他几种添加参考文献的方案,以下为三种插入参考文献方式比较:
如何选择
- 有现成的样式文件可以用就用
- BIBTeX 和 biber 都可以用,选自己熟悉的或者编译速度快的,我还是喜欢使用 BIBTeX
- 假设投稿中遇到以下情景
情景 | 选择 |
---|---|
无样式文件提供 | 自己开发样式文件难度大,只能用 thebibliography 环境 |
提供 BIBTeX 或 biber 样式之一 | 有工具可以用就用 |
BIBTeX 或 biber 两者均提供了 | 两者都行,我倾向于编译速度较快的 BIBTeX |
通过下载 BibTeX 样式文件输出符号 GBT7714-2005 标准的 BibTeX Style
可参考如下两链接中的任意一种
- 个人博客:【LaTeX Tips】符合 GBT7714-2005 标准的 BibTeX Style | 始终
- Github:GitHub - Haixing-Hu/GBT7714-2005-BibTeX-Style: A GB/T 7714-2005 national standard compliant BibTeX style.
参考资料
- LaTeX 官方入门手册:一份(不太)简短的 LaTeX2ε 介绍
- LaTeX 工作室:LaTeX 中参考文献的处理.pdf