Zotero插件「Better BibTex」实现自定义导出格式

Better BibTex插件设置

最近在撰写论文时,由于发现Zotero+Better BibTex导出参考文献时,会与Google Scholar上有诸多不一致,引起了很多不必要的麻烦,奈何网上关于如何自定义导出格式的教程寥寥无几,在查阅官方文档后,经过一番摸索,将最终的设置整理如下。

介绍

Better BibTex(官方文档)是针对文献管理工具Zotero所开发的一款插件,其主要功能为格式化所需要导出的参考文献citation keys以及自定义fields,其中的自定义功能可通过javascript实现,方便修改,并且功能强大。

例如,通常我们在导出参考文献时,都会在Google Scholar上进行引用,格式如下:

@inproceedings{he2016deep,
  title={Deep residual learning for image recognition},
  author={He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
  booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
  pages={770--778},
  year={2016}
}

但如果不进行处理,对于同样一篇论文,Zotero导出的格式却是:

@inproceedings{KaimingDeepResidual,
	title = {Deep residual learning for image recognition},
	author = {He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
	year = {2016},
	keywords = {/reading},
	pages = {770--778},
	file = {He et al_2016_Deep residual learning for image recognition.pdf:/xxx/file_location/...},
}

甚至有些参考文献会有很多不同之处,以及额外的我们不需要的filed。如果后期参考文献一多,一个一个修改就很麻烦,而Better BibTex正好完美解决这样一个问题。

实现

在安装插件之后,选择Zotero->preference->Better BibTex->Export->postscript,在此处填入自定义代码即可。

Talk is shit, show me the code:

if (Translator.BetterTeX) {
    if(tex.has['eventtitle']){
        tex.add({
            name: 'booktitle', 
            value: tex.has['eventtitle'].value
        });
        delete tex.has['eventtitle'];
    }
    if(tex.has['date']){
        tex.add({
            name: 'year',
            value: tex.has['date'].value
        });
        delete tex.has['date'];
    }
    if(tex.has['journaltitle']){
        tex.add({
            name: 'journal',
            value: tex.has['journaltitle'].value
        })
        delete tex.has['journaltitle'];
    }
    else if(tex.has['shortjournal']){
        tex.add({
            name: 'journal',
            value: tex.has['shortjournal'].value
        })
        delete tex.has['shortjournal'];
    }
    delete tex.has['shortjournal'];
}

导出文献之前,右键点击选择Better BibTex->Refresh BibTex key。导出时选择使用Better BibTex导出即可。

效果:

@inproceedings{he2016deep,
  title = {Deep Residual Learning for Image Recognition},
  author = {He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
  pages = {770--778},
  booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  year = {2016}
}

与Google Scholar上别无二致。

上述代码需要一定的javascript基础,另外一些类对象的名称大家可以参照官方文档,有问题欢迎与我交流讨论。

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Zotero是一个开源的参考文献管理工具,可以帮助用户收集、整理和引用学术文献。而BibTeX是一种用于管理参考文献的文件格式。在Zotero中使用BibTeX可以方便地导出和使用参考文献。 要在Zotero中使用BibTeX,首先需要下载并安装一个名为"Better BibTeX"的插件。你可以在https://retorque.re/zotero-better-bibtex/installation/下载.xpi文件,并在Zotero的主页面中的"工具"->"插件"中进行安装。安装完成后,需要重启Zotero。 在安装完成并重启后,你可以在Zotero的编辑菜单中找到"首选项",然后选择"Better BibTex"选项卡。在这里,你可以进行一些基础设置,如设置导出格式和标题字母大小写问题。 要导出BibTeX文件,你可以选择一个或多个文献条目,然后在菜单中选择"导出"->"Better BibTex"。这样就可以将选中的文献条目导出BibTeX格式的文件。 在Overleaf中使用BibTeX文件,你可以将导出BibTeX文件导入到Overleaf项目中。你可以在Overleaf的文件菜单中选择"导入"->"上传",然后选择你导出BibTeX文件进行上传。 如果你的BibTeX文件中有太多的作者,你可以在BibTeX文件的开头加上一段代码来限制作者的数量。另外,在.tex代码中,你可以使用一条代码来引用BibTeX文件中的参考文献。 需要注意的是,如果你在Zotero中选择了"keep updated"选项,导出BibTeX文件将会保持更新,并且手动添加的BibTeX条目将会被覆盖。如果你需要手动添加条目,可以同时使用两个BibTeX文件,一个用于Zotero同步,一个用于手动添加一些Zotero中没有的BibTeX条目。 希望这些信息对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值