B 基于biblatex
生成参考文献
附录B介绍了 文献库扩展包biblatex
的使用,及其与natbib
的比较. (R Core Team, 2021; Xie, 2015a)
B.1 bibtex 与 biber, natbib 与 biblatex 比较
B.1.1 概述
bibtex
与biber
是处理参考文献信息二个外部程序(backend), 它们起 到将\(\LaTeX\) 文档与bib
文档交互的作用;natbib
与biblatex
是二个处理参考文献(bibliography) 和引用(citation)的\(\TeX\) 宏包;natbib
仅通过bibtex
起作用,而biblatex
可通过biber
起作用;
B.1.2 natbib
的优点
natbib 的优点:
- 有大量与期刊/出版商对应的风格文件(.sty);
natbib 的缺点:
修改风格文件较为困难;
其设计的局限性:主要为自然科学类期刊的
Author-Year
及数字引 用方式设计.
B.1.3 biblatex 的优缺点
biblatex
被认为是\(\LaTeX\) 中处理参考文献(bibliography) 的很有前途的宏包,功能强大,提供了很多可定制选项。biblatex
的优点- 提供
natbib
的Author-year
和数字引用方式,因此可视为natbib 的扩展; - 通过\(\LaTeX\) 的宏控制文献的风格,方便修改;
- 提供许多人性化的引用风格(例如
author-title
); - 提供人性化的文献数据库域名(字段);
- 直接支持多文献库与文献分类;
- 提供大量标准与拓展的
biblatex
风格(见使用手册); - 文献可按主题分割为部分;
- 提供
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
编译方式
XELATEX(或LATEX, pdfLATEX)
biber(代替bibtex)
XELATEX(或LATEX, pdfLATEX)
XELATEX(或LATEX, pdfLATEX)
B.3 biblatex
在bookdown
中的使用
在
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、术语表等等,通常需要多次编译才行。而使用 Latexmk 则只需运行一次,它会自动帮你做好其它所有事情。尽管在你已经安装的 LaTeX 发行版本已经包含了 Latexmk,但我们需要运行它。使用
XeLaTeX
的编译格式为
latexmk -pvc -xelatex file.tex
其中选项pvc
表示检查输入文件的更改并预览结果。在Rstudio中你只需要添加下面的代码块。
Sys.setenv(RSTUDIO_PDFLATEX = "latexmk")