我用比比桌管理我的参考文献,包括通过自动归档磁盘上相应的 PDF 文件。
因此,我的.bib
文件包含几个额外的字段,例如添加/修改日期和编码文件路径,如下例所示:
@article{xyz17, Author = {X, Y and Y, Z}, Date-Added = {2017-05-17 16:28:24 +0000}, Date-Modified = {2017-05-17 16:29:46 +0000}, Doi = {10.xxxx/xxx-2017-0001}, Journal = {Foo}, Keywords = {Bar}, Number = {1}, Title = {Hello World}, Year = {2017}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUG ... AAAAAAAAAAAAEIA==}}
幸运的是,BibDesk 允许我将.bib
文件导出为仅包含必要字段的“最小 BibTeX”:
@article{xyz17, Author = {X, Y and Y, Z}, Journal = {Foo}, Number = {1}, Title = {Hello World}, Year = {2017}}
我希望能够通过命令行以编程方式创建此类“最小 BibTeX”导出。因此我的问题是:
是否有一个命令行实用程序可以将 BibTeX 文件保存为所选字段?
答案1
这个问题的评论已经提供了这些好的解决方案:
- Gerd Neugebauer 的 BibTool:请参阅
delete.field
说明。我还没有用过,但现在阅读文档,BibTool 似乎是最简单的选择。 sed
带有、等的正则表达式gawk
。Adam Maxwell 在他的评论中建议不要这样做,他可能有充分的理由,但我已经这样做过很多次了,Nelson Beebe 的几个 BibTeX 工具写在 中gawk
。biber
如上所述https://tex.stackexchange.com/a/87732/89417
除了前面提到的解决方案之外:
- Python 包Bibtex 解析器,它有简单的语法来执行你想做的事情,在https://tex.stackexchange.com/a/250287/121590
- 还有更多选择包括:派布特克斯(在 Python 中),宝莱坞(用 Perl 语言)