开始使用引用#

引用允许你在书中引用其他内容或外部内容。 它们允许你自动生成指向该内容的链接,或为引用添加额外信息,如数字

引用和参考文献允许你引用学术作品,并提供参考文献,使读者能够跟进这些引用。

本教程涵盖了为你的书籍设置引用以及引用和参考文献的基础知识。

See also

有关引用和参考语法的更多信息,请参阅sphinxcontrib-bibtex文档。 请注意,此文档是以rST语法为背景编写的,你需要根据你的Markdown内容调整指令/角色语法。

前提条件#

本教程假设你已经从创建了一个Jupyter Book演示,或者你已经有了一个可以使用的Jupyter Book。

引用的基本结构#

Jupyter Book中的交叉引用通常涉及两件事:

  1. 为某物创建一个标签。 这是你稍后会在引用中引用的内容。

  2. 创建一个带有目标的引用。 此目标通常是你之前在#1中创建的标签。

创建标签#

首先,我们将创建一个标签。 标签必须紧接在标题之前。 然后你可以在文本的其他地方引用它。

首先,在你的书中创建一个新的Markdown文件(或编辑一个已有的文件)。 添加一个带有标签的Markdown标题,如下所示:

(my-label)=
## 我的标题

一些文本

这就是你指定一个名为my-label的标签,指向紧随其后的标题(## 我的标题)的方式。

引用你的标签#

现在你已经创建了一个标签,你可以从其他地方引用它。 尝试在同一页(或其他页)上添加以下Markdown内容。

这里有一些文本和 [这里是我的标签](my-label)。

现在重新构建你的书籍的HTML:

jb build pathto/mybook

你应该看到你的引用已经被替换为指向页面正确位置的链接。

创建引用#

接下来,我们将添加一个引用

创建bibtex文件#

你需要一个bibtex文件来存储引用的信息。 在这种情况下,我们将创建一个空的bibtex文件,并填充一个引用。

touch references.bib

接下来,配置你的书以包含此bibtex文件,如下所示:

# 在 _config.yml 中
bibtex_bibfiles:
    - references.bib

这将激活sphinxcontrib.bibtex扩展

最后,请注意默认的引用样式是label,它在渲染的HTML中显示为内联链接[ABC21];它在这里详细描述,并与其他样式一起。 你可以在你的书籍的_config.yml文件中调整引用样式,如下所示:

# 在 _config.yml 中
sphinx:
  config:
    bibtex_reference_style: author_year

添加你的引用#

向你的BibTex文件中添加一些引用。以下是一个示例引用:

@article{perez2011python
,title= {Python: an ecosystem for scientific computing}
,author= {Perez, Fernando and Granger, Brian E and Hunter, John D}
,journal= {Computing in Science \\& Engineering}
,volume= {13}
,number= {2}
,pages= {13--21}
,year= {2011}
,publisher= {AIP Publishing}
}

See also

参见 BibTex文档了解更多 BibTex引用样式。

添加引用#

在你的内容中,添加以下语法以包含引用:

这是我不错的引用 {cite}`perez2011python`。

重新构建你的书籍,它应该看起来像这样:

这是我不错的引用 [Perez et al., 2011]

一次添加多个引用#

现在尝试一次添加多个引用,用逗号分隔每个引用。

将以下文本添加到你的页面:

这里有多个引用 {cite}`perez2011python,holdgraf_rapid_2016,RePEc:the:publsh:1367,caporaso2010qiime`!

当你构建你的书籍时,它应该看起来像这样:

这里有多个引用 [Caporaso et al., 2010, Holdgraf et al., 2016, Perez et al., 2011, Stachurski and Kamihigashi, 2014]!

添加参考文献#

最后,我们将为我们的引用生成一个参考文献。 当你引用某些内容时,指向此参考文献的链接将自动创建。

我们将使用{bibliography}指令为我们的书籍添加一个。 将以下内容添加到你的页面:

```{bibliography}
```

这将生成你的书籍中所有引用的参考文献。 请参见下面的参考文献示例。

See also

有关配置和使用引用和参考文献的更多信息,请参见 引用和交叉引用

参考文献#

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