附录 B — 基于biblatex生成参考文献

附录 B 介绍了文献库扩展包biblatex的使用,及其与natbib的比较.

B.1 概述

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

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

B.1.1 natbib 的优缺点

  • natbib 的优点:

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

    • 自定义的局限: 修改风格文件较为困难;

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

B.1.2 biblatex 的优缺点

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

  • biblatex 的优点

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

    • 学习曲线陡:选项多, 不易掌握;
    • 编译时可能会依赖于最新LaTeX版本, 从而导致版本的更新, 由此带来不必要的麻烦.

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

  1. 编译方式, 以 XeTeX 引擎为例
   XeLaTeX
   biber (代替bibtex)
   XeLaTeX
   XeLaTeX

B.3 biblatexQuarto书稿中的使用

  1. index.Rmd文件的yml部分增加选项
   biblatexoptions: [refsegment=chapter]
   biblio-style: gb7714-2015ay
注意`[]`内可增加其他`biblatex`选项 (参考`biblatex`使用手册)
  1. 在需要出现文献的地方 (如每一章后)加
   \printbibliography[segment=\therefsegment, heading=subbibliography, title={参考文献}]
  1. _output.yml文件的bookdown::pdf_book:增加选项(前面空二格)
   citation_package: biblatex
注释

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

  1. 如上所述,LaTeX 要生成最终的 PDF 文档. 如果论文中含有交叉引用 (图形、表格、公式、章节、文献等)、bibtex/biber命令和术语表等,通常需要让TeX编译多次. 而使用 Latexmk, 只需要让TeX编译一次, 它会自动帮你做好其它所有事情. 由于系统在你已经安装的 LaTeX 发行版本时已经包含了latexmk,但我们需要人为地运行 Latexmk 命令(编译TeX文件),使用XeLaTeX的编译格式为
   latexmk -pvc -xelatex file.tex

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

    Sys.setenv(RSTUDIO_PDFLATEX = "latexmk")