清理bib文件(删除重复项,仅保留tex中引用的条目)

在写latex文件的过程中,经常会遇到添加了一堆文献的bibtex到bib文件中,有时候文章一长同一篇文献用不同的cite-key引用了多次,同时也会有一些文献最后并没被正文引用,这就需要对bib文件进行清理。

删除重复项

可以用JabRef

  1. 在JabRef中打开需要处理的bib文件
  2. 在"Quality"中选择“Find Duplicates”
    清理bib文件(删除重复项,仅保留tex中引用的条目)_第1张图片
  3. 根据弹出来的界面选择吧

Mac上可以用BibDesk直接打开要处理的bib,cite-key重复的条目会直接标红,删除不想要的即可,但是如果是像删除内容一样但是cite-key不一样的,bibdesk不算很方便(也可能是我自己没发掘出来这个功能),我一般选择将cite-key重复的删除之后,再按照标题按序排列,人工扫一遍

只保留tex中引用的条目

可以用JabRef

  1. 打开需要处理的bib文件
  2. 在"Tools"中找到"New sublibrary based on AUX file"
    清理bib文件(删除重复项,仅保留tex中引用的条目)_第2张图片
  3. Browse加载bib对应文档的aux文件,如main.tex对应的main.aux,加载后点Parse,如图
    清理bib文件(删除重复项,仅保留tex中引用的条目)_第3张图片
  4. 点击"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文件

你可能感兴趣的:(latex日常问题总结,latex)