您当前的位置: 首页 >  Python

B417科研笔记

暂无认证

  • 8浏览

    0关注

    154博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Python + Zotero】近乎全自动的完美 bib 文件生成

B417科研笔记 发布时间:2020-11-18 21:30:51 ,浏览量:8

在上一篇博文中 【Zotero Yes!】最好的文献管理工具Zotero的工科生正确用法,向大家介绍了文献管理神器Zotero。 而除了平时文献调研,学习时的文档管理功能, Zotero也能服务于撰写论文时的文献引用。 .bib文件是在latex撰写论文时大家广为使用的参考文献文件,而Zotero可以很轻易地导出.bib供引用所需:

在Zotero界面左侧, 在这里插入图片描述 选择我的文库, 右键->导出文献库->选择Bibtex 在这里插入图片描述 再选择需要保存的文件夹目录和.bib文件的名字即可, 极为方便。

由于各种期刊的引用文献的格式各不相同, 因此使用.bib时, 可能还需要自己根据所投期刊的规范, 进行一些修改。 而本文的后半部分就是如果尽可能地自动化这一操作。

由于笔者引用的文献70%以上为IEEE文献, 以下以IEEE为例介绍: IEEE模板下载 点击上述网址, 如果你还下载了Zotero浏览器插件的话, 那只需要点击链接,就能添加IEEE样式。

在Zotero界面, 编辑->首选项->导出 可以选择默认样式, 也就是导出.bib文件的样式, 这里可以选择我们刚下载的IEEE样式。 在这里插入图片描述 然而坑就坑在, IEEE自己的样式其实是不规范的。 这并不是Zotero的锅,因为哪怕去IEEE官网复制某篇paper的bibtex, 也同样主要存在以下两个问题:

  • 文章题目每个单词的首字母都会大写, 而事实上规范的写法应该是只有第一个单词的首字母大写(及特定缩写词)
  • 期刊或会议应该缩写, 但IEEE只会缩写部分期刊和会议 另外, Zotero还会自动导出{note}项,也会干扰最后的引用结果。

尽管我们并不知道如何自己撰写一份Zotero规范样式, 但我们可以通过python及正则表达式, 对导出的.bib文件进行改进和完善!

这里我用正则写了非常简答的python代码来实现,参考github:Zoreto_TWC 因为代码非常简单,这里就不介绍了, 直接来看效果: 这是Zotero直接导出的.bib的引用效果。 在这里插入图片描述 我们打开github库中的.exe文件(或者运行python程序) 在这里插入图片描述 输入.bib文件所在的目录, 然后处理完成后, 新的.bib会覆盖之前不规范的。

再来看看效果: 在这里插入图片描述 尽管期刊的缩写还没有完成, 暂时只能手动, 但可以看到,冗余的部分都已被删除, 标题的大小写也符合了规范。

因此,Zoreto + python, 真正的自动化引用文献!

关注
打赏
1649265742
查看更多评论
立即登录/注册

微信扫码登录

0.0364s