1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Zotero设置毕业论文/中文期刊参考文献格式

Zotero设置毕业论文/中文期刊参考文献格式

时间:2023-09-09 21:29:01

相关推荐

Zotero设置毕业论文/中文期刊参考文献格式

大家在使用zotero时很容易遇到的问题:

英文参考文献中有多个作者时出现“等”,而不是用"et al"引文最后面有不需要的DOI号,或者论文链接对于一些期刊分类上会出现OL字样,即[J/OL]作者名为全大写

本文主要解决以上几个问题,有下面几个特性:

根据中英文文献自动切换用“等”还是用"et al"引文最后去掉了DOI号以及文章链接去掉期刊分类的OL字样作者名改为首字母大写

为了节省大家时间先提供我修改好的cls文件:gitee链接

样式预览:

如果达到目的,下面就可以不用看了。

这里分享两个别人的zotero一些使用经验: zotero软件教程、

Chinese-STD-GB-T-7714-related-csl

1. word 参考文献样式

如果默认的话,把参考文献放进去,它的缩进是这样的

如果通过手工调整,下一次再刷新引文目录,它又会恢复成原样。

所以这种情况,我们可以在word中使用自带的参考文献专用的样式【书目】:

该样式可能需要修改的地方就是段落里面的悬挂缩进大小了,我用的0.68cm:

其它就基本就保持和正文一样。然后选择全部参考文献,应用样式即可

这样它就会自动变为标准缩进了,之后即便刷新引文目录它也能一直保持这个格式。

2. Zotero引文变交叉引用

已知Zotero插入的引文是没办法跳转的(就是点一下文件标号就跳转到引文目录对应文献的位置)。

这个可以用宏来解决:Zotero如何在word中引用跳转到参考文献/建立超链接

上面这个贴子我自己照着操作了一遍,确实有效。但最好是在所有文献插入完毕后再使用,使用前最好备一下份。

3. csl文件使用方法

csl是zotero引文样式文件,使用时依次点击【编辑】> 【首选项】>【引用】,然后点上面的加号

再选中刚才下载的csl文件即可。

导入时可能会提示:"D:\Downloads\GBT-7714--En-NoDOL_URL_OL.csl"不是一个有效的 CSL 1.0.2 样式文件,你可能不能和Zotero一起正常工作。,请忽略提示,点击OK继续即可。

然后样式列表里就会有刚才导入的文件,若不想要了点下面的减号即可删除。

上面给的链接是gitee的,若是不会下了,也可以打开后全选复制到一个本地文件,将扩展名改为csl再导入也行。

4. 引文样式修改

其实在zotero中自带有几个中文期刊引文样式:China National Standard GB/T 7714-

但是依然会出现上面的几个问题,所以咱们可以在它官方提供的引文样式文件中进行修改,即可满足咱的使用要求。

首先我们点击上上面截图页面里面的【样式编辑器】,选中一个基础样式,进行更改。

也可以复制到本地编辑器里改了再导入。主要修改以下几个地方:

<macro name="accessed-date"><date variable="accessed" form="numeric" prefix="[" suffix="]"/></macro> -->

上面这个是引用日期,不需要了直接注释掉

<macro name="author"><names variable="author"><name><!-- 这一行是姓名全大写 ,可取值:“lowercase”,“uppercase”,“capitalize-first”,“capitalize-all”,“sentence”,“title”--><!-- <name-part name="family" text-case="uppercase"/> --><!-- 这一行是姓名首字母大写 --><name-part name="family" text-case="capitalize-first"/><name-part name="given"/></name><substitute><names variable="composer"/><names variable="illustrator"/><names variable="director"/><choose><if variable="container-title" match="none"><names variable="editor"/></if></choose></substitute></names></macro>

上面这个是作者更改,主要修改text-case=“”,默认是uppercase表示全大写

<!-- 获取和访问路径以及 DOI --><macro name="url-doi"><group delimiter=". "><text variable="URL"/><text variable="DOI" prefix="DOI:"/></group></macro>

上面是显示DOI号,这一整段注释掉就可以

<choose><if variable="URL DOI" match="any"><text value="OL"/></if></choose>

上面是显示OL的,咱也将它一整段注释掉

<layout locale="en"><text variable="citation-number" prefix="[" suffix="]"/><text macro="entry-layout"/></layout>

上面这一段是用来自动识别中英文的,默认是注释掉的,咱把它取消注释即可

以上这些内容也是本人修改的主要内容,其它的基本没动。

再推荐一个可视化编辑csl文件的网站:Visual CSL Editor

5. 批量设置文献语言

上面这个虽然能根据中英文自动切换"等"和"et al"。但它是根据文献元数据里的【语言】来判断的,所以如果文献的【语言】显示不准确或为空,则这个判断就会失效。导致有部分英文文献仍然会出现中文的“等”。

为解决这个问题,可以使用一个插件【jasminum】它们把这个叫茉莉花插件,下载地址:github

使用它可以批量识别文献语言,使用方法如下图,在文献上右键即可,也可以先全选所有文献再右键

插件安装方法:

zotero工具栏【工具】>【附加组件】>Install Add-on From File,然后选择下载的xpi格式的插件即可

6. js脚本使用

如果还想要对文献做一些其它的批量修改操作,可以考虑使用javascript。

比如刚才的想要批量修改文献语言的操作,可以使用如下js代码:

/*【功能】: 批量修改文献的[语言]字段,根据文献标题识别中英文文献,将中文文献的[语言]字段更改为"zh-CN"或"中文"或"zh",英文文献更改为"en"或"en-US".以便在文献引用时区分“等”和"et al".【使用方法】:在zotero工具栏中选择[工具]>[开发者]>[Run JavaScript],然后将本代码粘贴到[Code:]框中,再在zotero文献库中选择想要修改的文献,再点击[Run]即可。【注意】:它仅对在zotero被选择的文献生效,若想作用于所有文献,则需在zotero中切换到[我的文库],然后ctrl+a全选所有文献,*/var items = ZoteroPane.getSelectedItems();let reg = /^[\u4e00-\u9fa5]+$/; // 正则表达式,用于匹配中文字符let ch_ls = [];let en_ls = [];let num_ch = 0;let num_en = 0;let num_file=0;for (let item of items) {var title = item.getField('title');//跳过没有元数据的文件,默认只要有元数据就有摘要,这个可能也不准if (!item.getField("abstractNote")){num_file += 1;continue;} item.setField("language", "en");try{if (reg.test(title)){item.setField("language", item.getField("language").replace(/.*/, 'zh-CN'));num_ch += 1;ch_ls.push(title);}else {item.setField("language", item.getField("language").replace(/.*/, 'en-US'));num_en += 1;en_ls.push(title);}} catch(error){console.error("Error: ", error.message);return title;}await item.saveTx()}return "修改中文 "+num_ch+" 个,英文 "+num_en+" 个"+"跳过文件 " + num_file + "个";// return [ch_ls, en_ls];

使用时,只需要粘贴到:zotero工具栏 > 【工具】 > 【开发者】>【Run JavaScript】

然后在zotero文献库里选择需要修改的文献,再运行即可

需要注意的一点是,对于上面的代码,如果某文献的时间或什么字段本来没有填入值的时候,它就会获取不到这个字段。还有些文献可以是直接把pdf拉进去的而没有识别到它的元数据,需要注意会不会报错。

更详细的api,请查看官方文档:Zotero JavaScript API

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。