在写latex文件的过程中,经常会遇到添加了一堆文献的bibtex到bib文件中,有时候文章一长同一篇文献用不同的cite-key引用了多次,同时也会有一些文献最后并没被正文引用,这就需要对bib文件进行清理。
删除重复项
可以用JabRef
- 在JabRef中打开需要处理的bib文件
- 在"Quality"中选择“Find Duplicates”
- 根据弹出来的界面选择吧
Mac上可以用BibDesk直接打开要处理的bib,cite-key重复的条目会直接标红,删除不想要的即可,但是如果是像删除内容一样但是cite-key不一样的,bibdesk不算很方便(也可能是我自己没发掘出来这个功能),我一般选择将cite-key重复的删除之后,再按照标题按序排列,人工扫一遍
只保留tex中引用的条目
可以用JabRef
- 打开需要处理的bib文件
- 在"Tools"中找到"New sublibrary based on AUC file"
- Browse加载bib对应文档的aux文件,如main.tex对应的main.aux,加载后点Parse,如图
- 点击"Generate",此时JabRef中会出现一个untitled的文件,左上角保存即可
也可以用bibexport在命令行中直接生成想要的bib
bibexport -o extracted.bib main.aux
但是我没运行成功,命令行一直显示bibexport不是内部或者外部命令
参考链接
Creating .bib file containing only the cited references of a bigger .bib file
【LaTeX小技巧01】将论文引用的文献导出到单独的.bib文件