附录 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
XeLaTeXB.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")