附录 B — 基于biblatex
生成参考文献
附录 B 介绍了文献库扩展包biblatex
的使用,及其与natbib
的比较.
B.1 概述
bibtex
与biber
是处理参考文献信息的二个外部程序(backend), 它们起到将 LaTeX 文档与bib
文档交互作用的目的;natbib
与biblatex
是二个处理参考文献(bibliography) 展示和引用(citation)的 TeX 宏包;natbib
仅通过bibtex
起作用,而biblatex
可通过biber
起作用;
B.1.1 natbib
的优缺点
natbib 的优点:
- 有大量与期刊/出版商对应的风格文件(.sty);
natbib 的缺点:
自定义的局限: 修改风格文件较为困难;
设计的局限性:主要为自然科学类期刊的
Author-Year
及数字引 用方式设计.
B.1.2 biblatex
的优缺点
biblatex
被认为是 LaTeX 中处理参考文献(bibliography) 很有前途的宏包,功能强大,提供了很多可定制的选项.biblatex
的优点- 提供
natbib
的Author-year
和数字引用方式,因此可视为natbib 的扩展; - 可通过 LaTeX 宏来控制文献的风格,方便修改;
- 提供许多人性化的引用风格(例如
author-title
); - 提供人性化的文献数据库域名(字段);
- 直接支持多文献库与文献分类;
- 提供大量标准与拓展的
biblatex
风格(见使用手册); - 文献可按主题分割为部分.
- 提供
biblatex
的优点- 学习曲线陡:选项多, 不易掌握;
- 编译时可能会依赖于最新LaTeX版本, 从而导致版本的更新, 由此带来不必要的麻烦.
B.2 biblatex
的在 TeX
中的使用样例
- 使用示例
\usepackage[style=authoryear,backend=biber]{biblatex}
代替\usepackage[authoryear]{natbib}
;
- 加载一个或多个
bib
文献库文件
\addbibresource{file1.bib}
\addbibresource{file2.bib}
- 文献目录输入: 出现文献的地方输入
\printbibliography
- 引用:
使用\textcite
代替\citet
; 使用\parencite
代替\citep
- 编译方式, 以
XeTeX
引擎为例
XeLaTeX
biber (代替bibtex)
XeLaTeX
XeLaTeX
B.3 biblatex
在Quarto
书稿中的使用
- 在
index.Rmd
文件的yml
部分增加选项
biblatexoptions: [refsegment=chapter]
biblio-style: gb7714-2015ay
注意`[]`内可增加其他`biblatex`选项 (参考`biblatex`使用手册)
- 在需要出现文献的地方 (如每一章后)加
\printbibliography[segment=\therefsegment, heading=subbibliography, title={参考文献}]
- 在
_output.yml
文件的bookdown::pdf_book:
增加选项(前面空二格)
citation_package: biblatex
注释
若要bibtex
驱动文献的排版,只需要在这一步改为citation_package: natbib
- 如上所述,LaTeX 要生成最终的
PDF
文档. 如果论文中含有交叉引用 (图形、表格、公式、章节、文献等)、bibtex
/biber
命令和术语表等,通常需要让TeX编译多次. 而使用 Latexmk, 只需要让TeX编译一次, 它会自动帮你做好其它所有事情. 由于系统在你已经安装的 LaTeX 发行版本时已经包含了latexmk
,但我们需要人为地运行Latexmk
命令(编译TeX文件),使用XeLaTeX
的编译格式为
latexmk -pvc -xelatex file.tex
其中选项pvc
表示检查输入文件的更改并预览结果. 在Rstudio
中你只需要添加下面的代码块.
Sys.setenv(RSTUDIO_PDFLATEX = "latexmk")