B 基于biblatex生成参考文献

附录B介绍了 文献库扩展包biblatex的使用,及其与natbib的比较. (R Core Team, 2021; Xie, 2015a)

B.1 bibtex 与 biber, natbib 与 biblatex 比较

B.1.1 概述

  • bibtexbiber 是处理参考文献信息二个外部程序(backend), 它们起 到将\(\LaTeX\) 文档与 bib 文档交互的作用;

  • natbibbiblatex 是二个处理参考文献(bibliography) 和引用(citation)的\(\TeX\) 宏包; natbib 仅通过bibtex 起作用,而biblatex 可通过 biber 起作用;

B.1.2 natbib 的优点

  • natbib 的优点:

    • 有大量与期刊/出版商对应的风格文件(.sty);
  • natbib 的缺点:

    • 修改风格文件较为困难;

    • 其设计的局限性:主要为自然科学类期刊的Author-Year 及数字引 用方式设计.

B.1.3 biblatex 的优缺点

  • biblatex 被认为是\(\LaTeX\) 中处理参考文献(bibliography) 的很有前途的宏包,功能强大,提供了很多可定制选项。

  • biblatex 的优点

    • 提供natbibAuthor-year 和数字引用方式,因此可视为natbib 的扩展;
    • 通过\(\LaTeX\) 的宏控制文献的风格,方便修改;
    • 提供许多人性化的引用风格(例如author-title);
    • 提供人性化的文献数据库域名(字段);
    • 直接支持多文献库与文献分类;
    • 提供大量标准与拓展的biblatex 风格(见使用手册);
    • 文献可按主题分割为部分;

B.2 biblatex 的在\(\TeX\)中的使用样例

  1. 使用
  \usepackage[style=authoryear,backend=biber]{biblatex}

(代替\usepackage[authoryear]{natbib});

  1. 加载一个或多个 bib 文献库文件:
  \addbibresource{file1.bib}    
  \addbibresource{file2.bib}
  1. 要出现文献的地方输入
  \printbibliography
  1. 引用: 使用\textcite 代替\citet; 使用\parencite 代替\citep

  2. 编译方式

XELATEX(或LATEX, pdfLATEX)
biber(代替bibtex)
XELATEX(或LATEX, pdfLATEX)
XELATEX(或LATEX, pdfLATEX)

B.3 biblatexbookdown中的使用

  1. index.Rmd文件的yml部分增加选项

    biblatexoptions: [refsegment=chapter]
    biblio-style: gb7714-2015ay

    注意[]内可增加其他biblatex选项(参考biblatex使用手册)

  2. 在需要出现文献的地方(如每一章后)加

    \printbibliography[segment=\therefsegment, heading=subbibliography, title={参考文献}]
  3. _output.yml文件的bookdown::pdf_book:增加选项(前面空二格)

     citation_package: biblatex

    注:若要bibtex驱动文献的排版,只需要在这一步改为citation_package: natbib

  4. 如上所述,LaTeX 要生成最终的 PDF 文档,如果含有交叉引用(图形、表格、公式、章节、文献等)、BibTeX/biber、术语表等等,通常需要多次编译才行。而使用 Latexmk 则只需运行一次,它会自动帮你做好其它所有事情。尽管在你已经安装的 LaTeX 发行版本已经包含了 Latexmk,但我们需要运行它。使用XeLaTeX的编译格式为

latexmk -pvc -xelatex file.tex

其中选项pvc表示检查输入文件的更改并预览结果。在Rstudio中你只需要添加下面的代码块。

Sys.setenv(RSTUDIO_PDFLATEX = "latexmk")

参考文献

R Core Team. (2021). R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing. Retrieved from https://www.R-project.org/
Xie, Y. (2015a). Dynamic documents with R and knitr (2nd ed.). Boca Raton, Florida: Chapman; Hall/CRC. Retrieved from http://yihui.name/knitr/