【Python + Zotero】近乎全自动的完美 bib 文件生成
在上一篇博文中 【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, 真正的自动化引用文献!
【Python + Zotero】近乎全自动的完美 bib 文件生成相关推荐
- Texmaker中使用.bib文件生成参考文献
以Texmaker为例总结起来: 以 PDFLaTeX编译.tex文件,生成.aux文件: 以 BibTeX编译.tex文件,注意不是.bib文件,此处需要上一步生成的.aux文件,生成.bbl文件: ...
- 如何将GB7714-2015格式的参考文献表转换为bib文件
如何将GB7714-2015格式的参考文献表转换为bib文件 1. 背景 latex使用参考文献是一个自动化的工作,但建立和维护bib文件其实一个长期的积累活动. 有些参考文献的bibtex数据是存在 ...
- Caffe将自己的文件生成lmdb
参考网站: http://www.cnblogs.com/darkknightzh/p/5909121.html (linux下) http://www.mamicode.com/info-detai ...
- Zotero更改citation key format 后导出bib文件标签仍然很长,没有改变
用Latex+zotero添加参考文献,从zotero中导出.bib文件,利用Better Bitex改变导出格式,按照Zotero插件之betterbibtex_Rong_Gong的博客-CSDN博 ...
- Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)
目录 1.创建项目 2.将.ui文件生成.py文件 2.1.Eric 6编译 2.2.Python命令行编译 2.3.脚本编译 3.界面.逻辑分离思想 在开始本文之前提醒各位朋友,Python记得安装 ...
- Python将py文件生成exe文件
使用PyCham软件运行生成可执行文件后,最完美的就是将py文件生成exe文件,这样可以任意复制移植到其他电脑上,供他人共享. 由于新手初步尝试,自己一个人摸索,遇到了很多坑.这里先给出最简单有效的方 ...
- 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...
20183411 李丞灏 2020-2021 <python程序设计> 实验三 加密传输文件 实验报告 课程:<Python程序设计> 班级: 1834 姓名: 李丞灏 学号: ...
- 【TeXstudio】【3】较为完整的论文排版模板与bib文件引用方法
前言 忠诚与背叛:主人都是愚蠢的,他们心安理得地享受一切,从没想过一切都是有代价的.所以,你永远都能找到理想的背叛者,就是那些最忠诚.最诌媚.自以为付出最多的人--<死人经> 目录 前言 ...
- 关于论文中bib文件的参考格式
1.@inproceeding 必须包含的字段:title.author.booktitle.pages.year @inproceedings{ResNet,title={Deep residual ...
最新文章
- es6数组去重_JavaScript数组去重
- Eclipse引入spring约束详细教程
- 本题主要考查指针与数组
- 算法之------搜索篇
- 乐兔淘购物分享2.4版本功能无限制 界面够美观时尚
- comment desc显示表结构_营销模块数据库表解析(二)
- SAP UI5 why failed to load 'sap/cus/crm/lib/reuse/library.js' from resources/sap/cus/crm
- 来腾讯云开发者实验室 学习.NET
- Linux安装MySQL的完整步骤并有关MySQL8.0版本的问题方法
- 利用丁香园数据生成疫情分布地图(R语言)| 博文精选
- Jeecg-Boot 快速生成前后端代码
- 利用.NET绘图技术制作水晶按钮控件(转)
- mysql 存在更新不存在写入_梅姨这个人,到底存在不存在?
- AIDL实现不同应用间的通信
- python pandas dataframe 不显示索引_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)...
- 详解淘宝大秒杀系统设计,首次公开
- 12. MySQL 函数
- SQL 高效运行注意事项(一)
- 雷蛇游戏软件显示无法访问服务器,亦工作亦游戏 Razer雷云设置技巧-鼠标设置软件...
- 小学生认识计算机网络教案,小学信息技术四年级教案
热门文章
- NLP经典论文:Attention、Self-Attention、Multi-Head Attention、Transformer 笔记
- 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题(9)(总分100分)
- visual错误:R6025 pure virtual funcion call
- 【前端性能优化】浏览器渲染原理与性能优化
- 吐血整理—人工智能必备数学基础(四)
- Java8 的 Stream简单教程
- C# wpf 实现自定义撤销重做功能
- linux shell打印序号,Bash脚本编号生成器
- FBEC2020 | 最后1天,第五届金陀螺奖参评报名明日截止!
- 树莓派搭建家庭服务器