引用
概述
Quarto 将使用 Pandoc 自动生成多种风格的引用和参考文献。要使用此功能,您需要:
一个包含引用的 Quarto 文档(参见 引用标记)。
一个书目数据源,例如 BibLaTeX(
.bib)或 BibTeX(.bibtex)文件。可选地,一个
CSL文件,用于指定生成引用和参考文献时使用的格式(当不使用natbib或biblatex生成参考文献时)。
当使用 format: typst 时,默认情况下引用处理由 Typst 处理,而不是 Pandoc。有关更多详细信息,请参见下面的 Typst 部分。
参考文献文件
Quarto 支持多种格式的参考文献文件,包括 BibLaTeX 和 CSL。使用 bibliography YAML 元数据字段将参考文献添加到您的文档中。例如:
---
title: "我的文档"
bibliography: references.bib
---如果您愿意,可以通过将 bibliography 字段的值设置为 YAML 数组来提供多个参考文献文件。
有关参考文献格式的更多信息,请参见 Pandoc 引用 文档。
引用语法
Quarto 使用标准的 Pandoc Markdown 表示法来表示引用(例如 [@citation])—— 引用放在方括号内,并用分号分隔。每个引用必须有一个键,由 @ + 数据库中的引用标识符组成,并且可以选择性地有一个前缀、一个定位器和一个后缀。引用键必须以字母、数字或 _ 开头,并且可以包含字母数字、_ 以及内部标点符号(:.#$%&-+?<>~/)。以下是一些示例:
| Markdown 格式 | 输出(默认) | 输出(csl: diabetologia.csl,参见 Section 4) |
|---|---|---|
|
Blah Blah (see Knuth 1984, 33–35; also Wickham 2015, chap. 1) | Blah Blah see [1], pp. 33-35; also [1], chap. 1 |
|
Blah Blah (Knuth 1984, 33–35, 38–39 and passim) | Blah Blah [1], pp. 33-35, 38-39 and passim |
|
Blah Blah (Wickham 2015; Knuth 1984). | Blah Blah [1, 2]. |
|
Wickham says blah (2015) | Wickham says blah [1] |
您也可以编写文内引用,如下所示:
| Markdown 格式 | 输出(作者-日期格式) | 输出(数字格式) |
|---|---|---|
|
Knuth (1984) says blah. | [1] says blah. |
| Knuth (1984, 33) says blah. | Knuth (1984, 33) says blah. | [1] [p. 33] says blah. | | ||
有关引文语法的更多信息,请参阅Pandoc引文文档。
引文样式
Quarto使用Pandoc来格式化引文和参考文献。默认情况下,Pandoc将使用芝加哥手册的作者-日期格式,但您可以使用CSL(引文样式语言)指定自定义格式。要提供自定义引文样式表,请在文档的元数据中使用csl字段提供CSL文件的路径,例如:
---
title: "我的文档"
bibliography: references.bib
csl: nature.csl
---您可以在CSL项目找到CSL文件或了解更多关于使用样式的信息。您可以浏览CSL项目的中央仓库或Zotero的样式仓库中超过8,500个Creative Commons CSL定义的列表。
CSL样式仅在cite-method为citeproc时可用(默认情况下即为如此)。如果您使用其他cite-method,您可以使用该方法提供的机制来控制参考文献的格式。
参考文献生成
默认情况下,如果样式要求,Pandoc将自动生成一个引用的作品列表并将其放置在文档中。如果存在id为refs的div,它将被放置在该div中:
### 参考文献
::: {#refs}
:::如果没有找到这样的div,引用的作品列表将被放置在文档的末尾。
如果您的参考文献是使用BibLaTeX或natbib生成的(Section 7),参考文献将始终出现在文档的末尾,并且#refs div将被忽略。
您可以通过在文档元数据中包含suppress-bibliography: true选项来抑制参考文献的生成
以下是生成的参考文献示例:
包含未引用的项目
如果您想在参考文献中包含项目而不在正文中实际引用它们,您可以定义一个虚拟的nocite元数据字段并将引文放在那里:
---
nocite: |
@item1, @item2
---
@item3在此示例中,文档将仅包含对item3的引用,但参考文献将包含item1、item2和item3的条目。
可以通过使用通配符创建包含所有引文的参考文献,无论它们是否出现在文档中:
---
nocite: |
@*
---LaTeX: 使用BibLaTeX或natbib
在创建PDF时,你可以选择使用基于citeproc的默认Pandoc 引用处理,或者选择使用natbib或BibLaTeX。这可以通过cite-method选项来控制。例如:
format:
pdf:
cite-method: biblatex默认情况下使用citeproc(Pandoc内置的引用处理器)。
有关引用语法、可用参考文献格式等的更多详细信息,请参阅关于使用引用与Quarto的主文章。
选项
在使用natbib或biblatex时,你可以指定以下附加选项来影响参考文献的渲染方式:
| 选项 | 描述 |
|---|---|
| biblatexoptions | biblatex的选项列表 |
| natbiboptions | natbib的选项列表 |
| biblio-title | 参考文献的标题 |
| biblio-style | 参考文献的样式 |
Typst
Typst自带了用于参考文献的引用处理系统,使用format: typst时默认采用该系统。要使用Typst的系统指定参考文献样式,请使用bibliographystyle选项。提供一个来自Typst内置样式列表的字符串,例如:
bibliography: refs.bib
bibliographystyle: apa或者,提供一个本地CSL文件的路径:
bibliography: refs.bib
bibliographystyle: my-csl-style.csl如果你更倾向于使用Pandoc的引用处理,请在YAML头部明确设置citeproc: true:
citeproc: true
bibliography: refs.bib
csl: https://www.zotero.org/styles/apa-with-abstract要向Pandoc的引用处理系统提供引用样式文件,请使用csl选项,如引用样式中所述。