跳转到主要内容

Sphinx扩展,用于BibTeX风格引用。

项目描述

ci codecov latest version license

Sphinx扩展,用于BibTeX风格引用。

概述

bibtex扩展允许通过指令将BibTeX引用插入到由Sphinx生成的文档中,以及使用:cite:p::cite:t:角色。这些功能与LaTeX的thebibliography环境和\citet\citep命令类似。

格式化方面,该扩展依赖于由Andrey Golovizin编写的pybtex。该扩展受Matthew Brett的bibstuff.sphinxext.bibref和Weston Nielson的sphinx-natbib的启发。

安装

使用 pip install sphinxcontrib-bibtex 安装模块,或从源使用 pip install -e . 安装。然后添加以下内容到您的项目 Sphinx 配置文件 conf.py

extensions = ['sphinxcontrib.bibtex']
bibtex_bibfiles = ['refs.bib']

到您的项目 Sphinx 配置文件 conf.py

由于与 sphinxcontrib 命名空间可能存在潜在问题,不建议使用 python setup.py install 进行安装。

最小示例

在您的项目文档中,您可以使用 :cite:t: 进行文本引用,:cite:p: 进行括号引用,以及 .. bibliography:: 插入参考文献。例如,请参阅 此处

See :cite:t:`1987:nelson` for an introduction to non-standard analysis.
Non-standard analysis is fun :cite:p:`1987:nelson`.

.. bibliography::

其中 refs.bib 将包含以下条目

@Book{1987:nelson,
  author = {Edward Nelson},
  title = {Radically Elementary Probability Theory},
  publisher = {Princeton University Press},
  year = {1987}
}

在默认样式下,这将呈现为

参见 Nelson [Nel87a] 对非标准分析的介绍。非标准分析很有趣 [Nel87a]

[Nel87a] (1,2)

Edward Nelson. 《彻底的初等概率论》. 普林斯顿大学出版社,1987。

Sphinx 中的引用是在所有文档中全局解决的。通常,您在整个项目中有一个单独的 bibliography 指令,用于收集所有引用。也支持在项目中使用多个 bibliography 指令的高级用例,但您需要小心以避免重复引用。

相比之下,Sphinx 中的脚注是在每个文档中局部解决的。为了在每个文档中实现局部参考文献,您可以使用以下形式的脚注引用

See :footcite:t:`1987:nelson` for an introduction to non-standard analysis.
Non-standard analysis is fun\ :footcite:p:`1987:nelson`.

.. footbibliography::

这将呈现为

参见 Nelson[1] 对非标准分析的介绍。非标准分析很有趣[1]

请注意使用 反斜杠转义空格 来抑制脚注前可能出现的空格。

通常,您在每个具有脚注引用的文档底部有一个单独的 footbibliography 指令。也支持每个文档中使用多个 footbibliography 指令的高级用例。由于一切都是局部的,使用脚注时无需担心重复引用。

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面