跳转到正文

GitHub 引用生成器

粘贴一个 GitHub 仓库网址,即可获得该软件的 APA 第 7 版、MLA 第 9 版和芝加哥格式第 18 版引用,以及 BibTeX 与 biblatex 条目。若仓库含有 CITATION.cff 文件,工具会读取它,包括 Zenodo DOI 以及作者要求改为引用的其他成果;若没有,则读取 GitHub 的仓库信息。每个字段都可以编辑。免费,无需注册。

软件信息

本工具通过 GitHub 的 API 读取仓库的公开信息,若有 CITATION.cff 文件也一并读取。仅会将仓库地址发送至 GitHub。

个人姓名写作 First Last 或 Last, First。诸如 The pandas development team 这类团体名称会保持完整;其他团体名称请用花括号括起,例如 {Mozilla}。

与开发者的写法完全一致,包括大小写。

您所使用版本的发布日期。若没有,请留空。

仓库填 GitHub;若该版本已在 Zenodo 或其他存档平台获得 DOI,则填写该平台。

您的引用

查找一个仓库,或输入软件名称,即可查看您的引用。

如何使用 GitHub 引用生成器

  1. 1. 粘贴仓库地址,然后点击“查找”。 任何形式都可以:https://github.com/owner/repository、仓库内某个文件的链接,或仅 owner/repository。
  2. 2. 检查已填写的内容。 从 CITATION.cff 中可以获得开发者选定的作者、标题、版本、发布日期和 DOI。若没有该文件,GitHub 只能提供账户名称和最新发布版本——如果项目列出了真实作者,请补充真实作者。
  3. 3. 保留 DOI。 当发布版本存档于 Zenodo 或其他仓库时,其 DOI 是永久有效的,所有样式都优先使用它,而不是 GitHub 地址。
  4. 4. 复制您的引用。 如果 CITATION.cff 指明了需要引用的论文,其引用会排在软件的引用之后——许多项目要求两者都引用。

CITATION.cff 文件提供的信息

CITATION.cff 是位于仓库根目录的一个小型 YAML 文件,以 Citation File Format(1.2.0 版)的格式说明应如何引用该软件。GitHub 会读取它,显示带有 APA 和 BibTeX 的“Cite this repository”按钮;本工具读取的也是同样的键:

CITATION.cff 键名包含的内容用于何处
authors个人(family-names、given-names)或团体(name)作者项
title软件名称斜体标题,保留原有大小写
version, date-released您所引用的发布版本版本与日期
doi, identifiersDOI,通常来自 Zenodo链接——优先于网址
repository-code仓库地址没有 DOI 时使用的网址
preferred-citation应改为引用的论文或其他成果第二组引用

在 APA、MLA 和芝加哥格式中引用软件

APA 第 7 版(§10.10)将软件的版本号放在括号中,并在标题之后加上说明 [Computer software],然后是发布方及 DOI 或网址。APA 没有 GitHub 的示例,因此除非该版本存档在其他平台,否则以 GitHub 作为发布方。MLA 第 9 版依据其核心要素构建条目;MLA 风格中心关于引用源代码的文章将仓库所有者视为作者,完整保留软件名称的大小写,给出版本号,并在网址之前把 GitHub 作为第二容器。芝加哥格式第 18 版(§14.169)在参考书目中将软件列在其开发者名下,并附上版本号和发布方。在 BibTeX 中,经典的 @misc 没有版本字段,因此版本号写入 note;biblatex 则有真正的 @software 类型。

GitHub 引用示例

Citation File Format 规范本身的 CITATION.cff 列出了九位作者、1.2.0 版、2021 年 8 月 9 日的发布日期以及一个 Zenodo DOI:

APA 第 7 版

参考文献列表:

Druskat, S., Spaaks, J. H., Chue Hong, N., Haines, R., Baker, J., Bliven, S., Willighagen, E., Pérez-Suárez, D., & Konovalov, O. (2021). Citation File Format (Version 1.2.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.5171937

文内引用:

(Druskat et al., 2021)

MLA 第 9 版与芝加哥格式第 18 版

MLA Works Cited:

Druskat, Stephan, et al. Citation File Format. Version 1.2.0, Zenodo, 9 Aug. 2021, https://doi.org/10.5281/zenodo.5171937.

芝加哥脚注:

Stephan Druskat et al., Citation File Format, version 1.2.0 (Zenodo, 2021), https://doi.org/10.5281/zenodo.5171937.

芝加哥参考书目:

Druskat, Stephan, Jurriaan H. Spaaks, Neil Chue Hong, et al. Citation File Format. Version 1.2.0. Zenodo, 2021. https://doi.org/10.5281/zenodo.5171937.

biblatex

@software:

@software{druskat2021citation,
  author    = {Druskat, Stephan and Spaaks, Jurriaan H. and Chue Hong, Neil and Haines, Robert and Baker, James and Bliven, Spencer and Willighagen, Egon and Pérez-Suárez, David and Konovalov, Olexandr},
  title     = {{Citation File Format}},
  version   = {1.2.0},
  date      = {2021-08-09},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.5171937},
  url       = {https://github.com/citation-file-format/citation-file-format}
}

Matplotlib 的 CITATION.cff 还要求用户引用 John D. Hunter 2007 年的论文。本工具同样会格式化该首选引用:

来自 CITATION.cff 的首选引用

APA 第 7 版:

Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90–95. https://doi.org/10.1109/MCSE.2007.55

BibTeX:

@article{hunter2007matplotlib,
  author  = {Hunter, John D.},
  title   = {{Matplotlib: A 2D graphics environment}},
  journal = {Computing in Science \& Engineering},
  volume  = {9},
  number  = {3},
  pages   = {90--95},
  year    = {2007},
  doi     = {10.1109/MCSE.2007.55}
}

仓库没有 CITATION.cff 时

若没有 CITATION.cff,工具会改用 GitHub 公开的仓库信息:以仓库名称作为标题,以所有者的账户作为作者,若存在最新发布版本,则使用其标签和日期。这只是一个起点,而非完整的引用:请在 README 或项目网站中查找作者,并引用您实际使用的版本。未登录时,GitHub 允许同一网络连接每小时发出 60 次 API 请求,而一次查找会使用一到两次;若达到上限,工具会告知何时重置,您也可以手动填写表单。如果您是该仓库的维护者,添加一个 CITATION.cff 可以使所有对它的引用保持一致。若引用的程序不在 GitHub 上,请参阅 软件与代码引用生成器。

常见错误

  • 把账户名称当作作者。 “numpy”是一个账户;作者则是项目所列出的个人或团队。
  • 遗漏版本号。 代码会在不同发布版本之间发生变化。请给出您所使用的版本、发布标签或提交记录。
  • 有 DOI 时仍使用 GitHub 网址。 已存档发布版本的 DOI 不会因仓库迁移而失效。
  • 忽略首选引用。 如果开发者要求您引用其论文,请引用它——通常与软件一并引用。
  • “更正”软件名称的大小写。 pandas、NumPy 和 scikit-learn 都按其开发者的写法书写。

常见问题

如何用 APA 第 7 版引用 GitHub 仓库?
将其作为软件引用:作者、发布年份、斜体的名称、括号中的版本号、[Computer software]、发布方和链接。若没有存档,发布方为 GitHub,链接为仓库网址;若有 Zenodo DOI,则发布方为 Zenodo,链接为该 DOI。文内引用为:(Druskat et al., 2021)。
什么是 CITATION.cff 文件?
它是仓库根目录中的一个纯文本 YAML 文件,以 Citation File Format 的格式告诉人们应如何引用该软件。文件列出作者、标题、版本、发布日期和 DOI,并可指明应改为引用的论文。GitHub 会将它转换为“Cite this repository”按钮。
应该引用软件还是引用介绍它的论文?
请遵从 CITATION.cff 中开发者的要求。许多项目要求引用论文,而 Citation File Format 指南指出,软件与其他研究成果一样应当获得署名,因此同时引用两者很常见——论文用于说明方法,软件则用于说明您运行的版本。
如何获得 GitHub 仓库的 BibTeX 条目?
在此查找并复制条目:经典 BibTeX 使用 @misc,版本号写在 note 中;biblatex 则使用 @software。两者都用双重花括号包裹软件名称,以保留其大小写。
查找是否需要 GitHub 账户?
不需要。工具使用 GitHub 的公开 API,并直接从您的浏览器读取 raw.githubusercontent.com 上的 CITATION.cff 文件,只会发送仓库地址。未登录时,GitHub 每个连接每小时允许 60 次 API 请求,而一次查找会使用一到两次。
如果仓库是私有的或在 GitLab 上,该怎么办?
查找功能只能读取公开的 GitHub 仓库。对于其他情况,请将详细信息手动填入表单——引用的格式化方式相同——或使用 软件与代码引用生成器。

相关工具

引文生成器中的更多工具