管理多个Bibtex文件的策略

管理多个Bibtex文件的策略

我的工作涉及制作各种带有引文的文档(例如期刊文章、会议报告、报告等)。出版物引用参考文献,参考文献可以针对特定出版物,也可以针对围绕一项研究、一组研究或一项研究计划建立的一组出版物。参考文献甚至可能涉及多个研究计划。

我非常推崇 DRY 原则(即不要重复自己)。不过,我也非常推崇使项目可移植。

满足这两个原则似乎会导致与 bibtex 文件相关的冲突。

  • 为所有项目使用单个主 bibtex 文件并采用某种自动复制系统,从而每个出版物都能获得整个 bibtex 文件(或子集)的副本,这是一个好的策略吗?
  • 或者只是拥有大量特定于出版物的 bibtex 文件是否更好?
  • 或者人们发现还有其他最有效的系统吗?
  • 有哪些工具可以提供帮助?

答案1

我只是把所有内容保存在一个大的 BibTeX 数据库中,然后使用搜索功能贾布雷夫

如果我确实需要将参考文献的一个子集提供给同事(并且不想发送整个文件),我会使用 JabRef 中工具菜单中的“基于 AUX 文件的新子数据库”生成一个新的、更小的 .bib 文件。

但最终你只会采用最适合你的系统。门德利有人建议,我也听到了关于西特优莱克

答案2

我有一个主 BibTeX 文件,它在 Git 存储库中单独进行版本控制。在撰写论文时(每篇论文也作为单独的 Git 存储库进行版本控制),我将主 .bib 文件作为 Git子模块。它将主 .bib 文件作为我的论文“项目”的子目录。

这样,我就有了一份参考书目的副本,并且我的项目可以按照问题的要求进行移植。

此外,Git 子模块指向主 BibTeX 文件的特定版本。因此,我的论文始终使用原始 .bib 文件状态,即使我此后在主存储库中对其进行了更新(例如甚至更改了参考密钥)。同样,我可以通过分支对主文件进行特定于论文的更改。

该方法也适用于多位作者/书目 - 只需包含多个子模块。

这是一般的想法。为了避免在这里回答太长,我的博客有更多解决方案的详细信息用示例存储库结构来说明。

答案3

Nbibtex。参见我的答案如何避免某个条目在多个 bibtex 文件中出现 bibtex 错误消息“重复条目”?问题。

答案4

虽然 JabRef 允许bib根据文件从文件中导出引用aux,但我喜欢基于makefile.

根据 Habi 的回复,我进行了一些 Google 搜索并找到了bibexport。它似乎非常适合维护集中式 bib 文件,并根据文档中的引用自动提取参考文献。

更新: 我很快发现有很多工具可以自动化上述过程。

相关内容