引用和脚注

引用

Quarto 使用 Pandoc 自动生成多种样式的引文和书目。要使用此功能,需要

  • 带有引用格式的 Quarto 文档(参见 Citation Markdown)。

  • 书目数据源,例如 BibLaTeX (.bib) 或 BibTeX (.bibtex) 文件。

  • 可选的还有一个 CSL 文件,用于指定生成引文和书目时使用的格式(当不使用 natbibbiblatex 生成书目时)。

书目文件 | Bibliography Files

Quarto 支持多种格式的书目文件,包括 BibLaTeX 和 CSL。使用 bibliography YAML 元数据字段将书目添加到文档中。例如:

---
title: "My Document"
bibliography: references.bib
---
提示

通过将 bibliography 字段的值设置为 YAML 数组,您可以提供多个书目文件。

有关书目格式的更多信息,请参阅 Pandoc Citations 文档。

引用语法 | Citation Syntax

Quarto 使用标准的 Pandoc 标记表示法来表示引用(例如[@citation])–引文放在方括号内,用分号分隔。每个引用必须有一个键,由 \@ +数据库中的引文标识符组成,还可以选择前缀、定位器和后缀。引文键必须以字母、数字或_开头,并可包含字母数字、_和内部标点符号(:.#$%&-+?<>~/)。下面是一些示例:

Markdown Format Output (default) Output(csl: diabetologia.csl, see 小节 1.3)
Blah Blah [see @knuth1984, pp. 33-35;
also @wickham2015, chap. 1]
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 [@knuth1984, pp. 33-35,
38-39 and passim]
Blah Blah (Knuth 1984, 33–35, 38–39 and passim) Blah Blah [1], pp. 33-35, 38-39 and passim
Blah Blah [@wickham2015; @knuth1984].
Blah Blah (Wickham 2015; Knuth 1984). Blah Blah [1, 2].
Wickham says blah [-@wickham2015]
Wickham says blah (2015) Wickham says blah [1]

You can also write in-text citations, as follows:

Markdown Format Output (author-date format) Output (numerical format)
@knuth1984 says blah.
Knuth (1984) says blah. [1] says blah.
@knuth1984 [p. 33] says blah.
Knuth (1984, 33) says blah. [1] [p. 33] says blah.

有关引用语法的更多信息,请参阅 Pandoc Citations 文档。

Citation Style|引用风格

Quarto 使用 Pandoc 来格式化引文和书目。默认情况下,Pandoc 将使用芝加哥风格手册作者-日期格式,但您也可以使用 CSL(引文风格语言)指定自定义格式。要提供自定义引文样式表,请使用文档中的 csl 元数据字段提供 CSL 文件的路径,例如:

---
title: "My Document"
bibliography: references.bib
csl: nature.csl
---

可以在CSL项目找到CSL文件或了解更多关于使用样式的信息。你可以在 CSL 项目的中央资源库 或 Zotero 的样式资源库 中浏览 8500 多个知识共享 CSL 定义的列表。

CSL 样式只有在 cite-methodciteproc(默认)时才可用。如果使用其他 cite-method,则可以使用该方法提供的机制来控制参考文献的格式。

书目生成

默认情况下,Pandoc 会自动生成引用作品列表,并根据样式要求将其放置在文档中。如果存在 id refs 的 div,它将被放置在其中:

### 参考 | References

::: {#refs}
:::

如果找不到这样的 div,作品引用列表将放在文档末尾。

如果使用 BibLaTeX 或 natbib (小节 1.6) 生成书目,则书目将始终位于文档末尾,而 #refs div 将被忽略。

提示

在文档元数据中加入 suppress-bibliography:true 选项,即可禁止生成参考书目。

下面是生成书目示例:

Knuth, Donald E. 1984. “Literate Programming.” The Computer Journal 27 (2): 97–111.
Wickham, Hadley. 2015. R Packages. 1st ed. O’Reilly Media, Inc.

包括未引用的条目 | Including Uncited Items

如果想在书目中包含条目,但又不想在正文中实际引用它们,您可以定义一个虚拟的 nocite 元数据字段,并将引用放在该字段中:

---
nocite: |
  @item1, @item2
---

@item3

在本例中,文档将只包含 item3 的引文,但书目将包含 item1, item2, and item3条目。

使用通配符可以创建包含所有引文的书目,无论它们是否出现在文档中:

---
nocite: |
  @*
---

BibLaTeX or natbib

When creating PDFs, you can choose to use either the default Pandoc citation handling based on citeproc, or alternatively use natbib or BibLaTeX. This can be controlled using the cite-method option. For example:

format:
  pdf: 
    cite-method: biblatex

The default is to use citeproc (Pandoc’s built in citation processor).

See the main article on using Citations with Quarto for additional details on citation syntax, available bibliography formats, etc.

Options

When using natbib or biblatex you can specify the following additional options to affect how bibliographies are rendered:

Option Description
biblatexoptions List of options for biblatex
natbiboptions List of options for natbib
biblio-title Title for bibliography
biblio-style Style for bibliography

脚注 | Footnotes

Pandoc 支持使用以下语法对脚注进行编号和格式化:

这里有一个脚注参考文献,[^1] 还有另一个脚注[^longnote]

[^1]: 这里有一个脚注参考文献

[^longnote]: 这是有多个区块的一个。后面的段落缩进,
    以表明它们属于前一个脚注。
        { some.code }
可以缩进整个段落,也可以只缩进第一行。
    这样,多段落脚注就像多段落列表项。

这一段不会成为注释的一部分,因为它没有缩进。
没有缩进。

输出

这里有一个脚注参考1和另一个脚注参考2

这一段不会成为脚注的一部分,因为它没有缩进。

此外,您还可以使用以下语法在行内编写单段落脚注:

这里是一个内联注释^[内联注释更容易书写、
因为你不必选择一个标识符,然后向下移动来
键入注释.]

输出

下面是一个内联注释3

由上述示例生成的脚注包含在以下部分。更多信息请参阅 Pandoc 脚注

脚注

  1. 这里有一个脚注参考.↩︎

  2. 另一个脚注参考.后面的段落缩进, 以表明它们属于前一个脚注。 { some.code } 可以缩进整个段落,也可以只缩进第一行。 这样,多段落脚注就像多段落列表项。↩︎

  3. 内联注释更容易书写、因为你不必选择一个标识符,然后向下移动来键入注释.↩︎