1 个不稳定版本
0.1.0 | 2024年6月2日 |
---|
384 在 值格式化
130KB
3.5K SLoC
引用我兄弟:BibTeX 引用格式化的全面 CLI 工具
摘要
在软件开发和学术研究的领域,正确引用参考文献至关重要。本文介绍了 引用我兄弟
,这是一个命令行界面(CLI)工具,用于读取 BibTeX 文件并在各种引用风格中将格式化的参考文献输出到 stdout。该工具旨在简化代码和文档中的引用过程。
简介
在软件项目和学术文档中集成引用通常很繁琐。传统方法需要手动格式化,容易出错且耗时。在许多学术领域存在自动化此类工作的工具,例如 Mendeley、EndNote、Zotero,以及许多流行的文字处理软件(如 Microsoft Word 和 BibLatex)都包含此功能。然而,这些工具不适合编码。 引用我兄弟
通过提供从 BibTeX 文件生成引用的自动化解决方案来应对这一挑战。该工具尤其适用于经常将参考文献融入其代码和文档的开发人员和研究人员,或需要在纯文本(如演示文稿)中粘贴格式化引用的人。
安装
通过 crates.io 索引安装 引用我兄弟
简化了对工具的访问和部署。工具可以按以下方式安装
cargo install cite-me-bro
方法
用法
引用我兄弟
的核心功能封装在其命令行界面中,它接受 BibTeX 文件作为输入并输出格式化的引用。用户可以通过命令行参数指定所需的引用风格。如果没有提供引用键,所有引用都将格式化输出到 stdout。用户可以选择提供空格分隔的引用键列表,以在 bib 文件中找到。如果用户这样做,则仅打印与引用对应的引用。
目前支持的引用风格包括
- IEEE(默认)
- APA
尽管在撰写本文时此列表有限,由于添加样式的相关工作相对繁琐,如果读者需要包含不同的样式,我们鼓励他们打开一个问题或拉取请求(PR),详细说明他们的请求。
示例
考虑一个场景,其中用户希望以IEEE风格格式化参考文献。以下我们将使用[1],它具有引用键 breiman2001
,如在附录A中所示(cite.bib
)。以下命令说明了该过程
cmb -b cite.bib --style ieee breiman2001
执行后,该工具生成如下格式的参考文献
L. Breiman, "Random forests," Machine learning, vol. 45, no. 1, pp. 5-32, 2001. doi: https://doi.org/10.1023/a:1010933404324.
讨论
cite-me-bro
的发展是由学术和软件开发环境中对可靠和高效引用工具的需求驱动的。通过自动化引用过程,该工具最大限度地减少了格式化错误的可能性,并鼓励在适当的情况下将引用添加到代码和文档中,而不会显著增加工作流程的复杂性。
特性
- 自动化兼容的CLI:提供了一种简化的基于文本的交互模型,可以在交互式和自动化环境中工作。
- 多样式支持:支持包括IEEE和APA在内的各种引用样式,根据请求提供更多样式。
- Unicode支持:虽然据作者所知,参考文献几乎总是(用拉丁字母表的超集)编写的,但
cite-me-bro
知道如何处理Unicode字符,并且可以无问题地应用重音和其他Unicode字符。 - 速度:由于
cite-me-bro
不是一个全功能的TeX引擎,而是一个用Rust编写的简单、专注的CLI工具,因此它非常快,适合快速工作流程。
限制
- LaTeX:如上所述,
cite-me-bro
没有任何嵌入的TeX引擎。像BibLaTeX这样的工具允许用户提供任意TeX命令,而cite-me-bro
不支持。它仅用于格式化参考文献,尽管如上所述,由于Unicode支持,许多用于添加重音等的TeX命令可能不再需要。 - 自定义:
cite-me-bro
的开发侧重于简单性和易用性。不幸的是,这意味着除了更改引用样式或修改代码之外,没有选项可以自定义cite-me-bro
的输出。自定义被认为是此软件的非目标。 - 保证:尽管已经非常小心以确保
cite-me-bro
提供的样式是正确的,并且与参考样式指南以及如BibLaTeX自身之类的引用生成工具的输出进行了比较,但应注意的是,cite-me-bro
是一个爱好项目开发的,因此可能不会正确涵盖每个用例,并且不保证其正确性。尽管作者力求尽可能正确,并鼓励任何注意到不正确行为的用户打开问题或PR来修复此问题,但不应归咎于作者因使用此软件而产生的任何责任。
结论
cite-me-bro
代表了在参考文献管理方面的重要进步。通过利用此工具,用户可以在引用实践中实现更高的准确性和效率,最终有助于提高软件开发项目的文档标准。
许可
本项目采用MIT许可,促进开源合作和创新。
附录A
依赖关系
~5-16MB
~144K SLoC