我的工作涉及制作各种带有引文的文档(例如期刊文章、会议报告、报告等)。出版物引用参考文献,参考文献可以针对特定出版物,也可以针对围绕一项研究、一组研究或一项研究计划建立的一组出版物。参考文献甚至可能涉及多个研究计划。
我非常推崇 DRY 原则(即不要重复自己)。不过,我也非常推崇使项目可移植。
满足这两个原则似乎会导致与 bibtex 文件相关的冲突。
- 为所有项目使用单个主 bibtex 文件并采用某种自动复制系统,从而每个出版物都能获得整个 bibtex 文件(或子集)的副本,这是一个好的策略吗?
- 或者只是拥有大量特定于出版物的 bibtex 文件是否更好?
- 或者人们发现还有其他最有效的系统吗?
- 有哪些工具可以提供帮助?
答案1
答案2
我有一个主 BibTeX 文件,它在 Git 存储库中单独进行版本控制。在撰写论文时(每篇论文也作为单独的 Git 存储库进行版本控制),我将主 .bib 文件作为 Git子模块。它将主 .bib 文件作为我的论文“项目”的子目录。
这样,我就有了一份参考书目的副本,并且我的项目可以按照问题的要求进行移植。
此外,Git 子模块指向主 BibTeX 文件的特定版本。因此,我的论文始终使用原始 .bib 文件状态,即使我此后在主存储库中对其进行了更新(例如甚至更改了参考密钥)。同样,我可以通过分支对主文件进行特定于论文的更改。
该方法也适用于多位作者/书目 - 只需包含多个子模块。
这是一般的想法。为了避免在这里回答太长,我的博客有更多解决方案的详细信息用示例存储库结构来说明。
答案3
Nbibtex。参见我的答案到如何避免某个条目在多个 bibtex 文件中出现 bibtex 错误消息“重复条目”?问题。
答案4
虽然 JabRef 允许bib
根据文件从文件中导出引用aux
,但我喜欢基于makefile
.
根据 Habi 的回复,我进行了一些 Google 搜索并找到了bibexport
。它似乎非常适合维护集中式 bib 文件,并根据文档中的引用自动提取参考文献。
更新: 我很快发现有很多工具可以自动化上述过程。