引用和参考文献#

Warning

如果你使用的是 docutils>=0.18,<20,那么包含 bibliography 指令的页面将不会具有正确的布局。尽管 docutils 已打补丁,但我们建议使用 docutils==0.17.1,可以通过以下方式安装:

pip install docutils==0.17.1

这是由于此问题

你可以通过存储在书籍文件夹中的 bibtex 文件中的引用添加引用和参考文献。然后,你可以使用 {cite} 角色在 Markdown 中添加内联引用,并使用 {bibliography} 指令从你的 bibtex 文件中包含参考文献。

See also

此功能使用了出色的 sphinxcontrib-bibtex 扩展。

基本引用#

要开始在 Jupyter Book 中使用引用,请查看 开始使用引用

更改内联引用样式#

你可以使用几个替代角色来更改内联引用样式。以下是一些示例:

See also

有关更完整的内联引用样式列表,请查看 sphinxcontrib-bibtex 文档

选择参考文献样式#

你还可以选择性地自定义参考文献的样式。 默认情况下,参考文献以 alpha 样式显示。 其他目前支持的样式包括 plainunsrtunsrtalpha。 这些样式创建以下参考文献格式:

  • alpha:使用字母数字引用标签,引用按作者、年份排序。

  • plain:使用数字引用标签,引用按作者、年份排序。

  • unsrt:使用数字引用标签,引用按出现顺序排序。

  • unsrtalpha:使用字母数字引用标签,引用按出现顺序排序。

要设置你的参考文献样式,请使用 style 选项:

```{bibliography}
:style: unsrt
```

更改引用样式#

要设置引用样式,请在书籍的 _config.yml 文件中使用 bibtex_reference_style 字段。

# 在 _config.yml 中
sphinx:
  config:
    bibtex_reference_style: author_year
    bibtex_bibfiles: "your_reference_file.bib"

有几个内联引用样式的选项,如 labelsuperauthor-year

See also

有关配置选项的列表和更多详细信息,请参阅 sphinxcontrib-bibtex 文档

本地参考文献#

你可能希望在每个文档的末尾包含参考文献列表,而不是将单个参考文献包含在单独的文档中。 然而,使用多个参考文献指令可能会导致 sphinx 发出 重复引用警告

一个常见的解决方法是向参考文献指令添加过滤器:

```{bibliography}
:filter: docname in docnames
```

请参阅 sphinxcontrib-bibtex 文档中的 本地参考文献

在不同文档中引用同一作品#

当你想在多个文档中引用同一作品时,应使用 Sphinx 的 keyprefix 系统。

例如,假设你想在两篇文档中引用 Orwell1984,并且希望参考文献条目在两篇文档中都显示。在一篇文档中,你可以使用:

..."If you want to keep a secret, you must also hide it from yourself"{cite}`a-Orwell1984`

并使用以下参考文献部分代码:

```{bibliography}
:filter: docname in docnames
:labelprefix: A
:keyprefix: a-
```

在第二篇文档中,你可以使用:

..."Freedom is slavery."{cite}`b-Orwell1984`


...

```{bibliography}
:filter: docname in docnames
:labelprefix: B
:keyprefix: b-
```

请参阅 sphinxcontrib-bibtex 文档中的 Key Prefixing

示例参考文献#

一个示例参考文献,供参考:

[CKS+10]

J Gregory Caporaso, Justin Kuczynski, Jesse Stombaugh, Kyle Bittinger, Frederic D Bushman, Elizabeth K Costello, Noah Fierer, Antonio Gonzalez Pena, Julia K Goodrich, Jeffrey I Gordon, and others. Qiime allows analysis of high-throughput community sequencing data. Nature methods, 7(5):335–336, 2010.

[HdHP+16]

Christopher Ramsay Holdgraf, Wendy de Heer, Brian N. Pasley, Jochem W. Rieger, Nathan Crone, Jack J. Lin, Robert T. Knight, and Frédéric E. Theunissen. Rapid tuning shifts in human auditory cortex enhance speech intelligibility. Nature Communications, 7(May):13654, 2016. URL: http://www.nature.com/doifinder/10.1038/ncomms13654, doi:10.1038/ncomms13654.

[PGH11] (1,2,3,4)

Fernando Perez, Brian E Granger, and John D Hunter. Python: an ecosystem for scientific computing. Computing in Science \\& Engineering, 13(2):13–21, 2011.

[SK14]

John Stachurski and Takashi Kamihigashi. Stochastic stability in monotone economies. Theoretical Economics, 2014.