学姐的叨逼叨
每次到写作的时候,整理引用文献就是一个非常头秃的工作。完全在word里手动编辑引用,不仅很耗时而且容易出错。所以耐下心来整理了一下,哪些工具可以提高做文献引用的效率。
目标读者 如果你只是写一次论文就完事,不追求高度自动化,就不用往下看了。直接百度如何做文献引用,经验里面的“交叉引用”已经够写毕业论文了。但是如果你打算长期做科研,还是可以系统的了解一下,提高工作效率。
工具方案选择
首先你需要根据自己的情况选择合适的工具,这里列出了我认为比较靠谱的几种备选方案。但后面我只会针对我自己选的方案写具体的教程。
先列一下我的需求,和我需求比较像的更适合参考我的解决方案:
- 文末reference根据文内引用自动生成
- 自动关联文内引用和文末reference,点击可以跳转
- 一键切换全文引用样式(APA/JON)
Latex + VS Code
格式化写作首选了吧,熟练掌握这个语言之后全文排版(包括文献引用)没烦恼。有多好用呢,因为看到它这么好用我才来写了这个教程,企图找到word的类似解决方案。
它的用法大概是这样的。一个文件编辑文章,里面用代码定义哪些是标题,哪些是正文,哪些是公式等等;另一个文件编辑样式,定义字号,行距,引用样式这些。重要的是这个编辑样式的文件,目标杂志或会议通常会提供,所以丝毫不用在排版上花时间了。
不适合的人 (比如我)导师和同学都不用这个语言的人。因为和word不一样,这个语言导致可编辑状态下,文字中间有很多代码和符号,非常不利于阅读和批改。稍微可以改善的方案是Overleaf,这个在线编辑的平台提供类似word的编辑界面,但是需要帮你修改文章的人他们也愿意用Q Q。
Latex在VS Code编辑器里的代码看起来是这个亚子的——
% What is going to be the paper title
\title{ What makes an object memorable? }
% What is going to be the paper author
\author{ Dubey, Rachit and Peterson, Joshua and Khosla, Aditya and Yang, Ming-Hsuan and Ghanem, Bernard }
Endnote + Word
最多人推荐的文献管理软件,集成了包括文献阅读和引用等所有用得到的功能。关于Endnote我自己没有长期的使用经验,所以也没有详细评价,可以百度一下,有很多人写测评和教程的。
不适合的人 (比如我)个人觉得它太复杂了,大多数功能我用不上,而且老是出各种问题。可能是已经我用惯了mendeley的原因,这个软件的学习成本显得太高了。
Zotero + Word (我的选择)
Zotero可以复制谷歌的bibtex一键导入文献信息,在写作的时候导入需要的文献即可,配合word插件使用。是我目前找到最适合我的解决方案。
不适合的人 暂时不想装两个软件的人?讨厌word的人?
Word 的文献引用功能
其实word本身就有citation的功能,已经可以满足绝大部分需求。我刚刚列的3点需求它全都可以满足,详细的操作方法见我的另一篇教程《倔强——只用Word完成文献引用》。那为什么还需要装其他软件?原因有两个。
- 导入问题 word要批量导入文献信息只能用微软学术下载,出错的可能性比谷歌大
- 样式问题 可以选的样式有限,一般会议和杂志不提供给word使用的样式文件
所以我需要其他软件的帮助来帮我解决这两个问题。
文献信息导入
先来看下谷歌支持哪些导入的方法。点击文献的引用,会看到这个弹窗。以往我都是直接复制这个APA,然后要改其他样式就自己手动改,但这样很麻烦。而下面这一排则是导出文献的元信息,具体按给定的样式来生成引用需要靠别的软件。
后面3个是他们对应的软件专用的格式,而BibTex更为通用,前面提到的Latex就是使用的这种格式,各大文献管理软件也全部都支持。它打开长这样。
@inproceedings{dubey2015makes,
title={What makes an object memorable?},
author={Dubey, Rachit and Peterson, Joshua and Khosla, Aditya and Yang, Ming-Hsuan and Ghanem, Bernard},
booktitle={Proceedings of the ieee international conference on computer vision},
pages={1089--1097},
year={2015}
}
可以看到它包含了文献的所有元信息,其他都好理解,最上面那个dubey2015makes是文献的标识码,也就是在编辑器里用来唯一标识每篇文献的“名牌”。总之整个copy就对了。
根据我的调研,不同的软件导入BibTex信息的方式各有不同。Zotero是可以直接读取剪贴板上的BibTex信息,而Mendeley/EndNote等必须读.bib文件。这个.bib文件就是自己开一个txt,然后把所有这个BibTex信息黏贴在里面就好了。所以从导入的速度来讲,这些软件没有太大的差别,Zotero读剪贴板这个操作稍微更简便,因为不用另外制作.bib文件。
引用样式的定义
文献管理工具最给你省时间的功能之一,就是可以一键转换样式——也就是用APA还是MLA,还是Nature或者JON的特殊样式。这个样式文件也有很多种格式(比如.csl/.xsl/.ens),其中.csl是最通用的,所有会议和杂志都会提供这个样式文件。APA的.csl(的一小小部分)大概是长这样。
<macro name="year-date">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year"/>
</date>
</if>
<else>
<text term="no date" form="short"/>
</else>
</choose>
</macro>
虽然说word里已经内置了一些样式,但是word只支持.xsl,而这个格式大多数会议和杂志都不提供,这让样式转换变得极其繁琐(得自己写样式文件)。Zotero/Mendeley/Endnote等软件都是支持.csl的,所以需要添加一个软件的插件,来达到灵活使用各种样式的效果。
写到这里不得不吐槽一句,这些格式就不能统一一下吗!!!累skr人子!!!
用Zotero+Word完成文献引用
对比了Mendeley和Zotero的引用工具,Zotero真的不要太顺滑,而Mendeley就有点一言难尽。具体的比较知乎大佬们也写了很多,所以我在这里只介绍Zotero的使用方法。
首先下载安装一个Zotero,总共才50Mb,小巧玲珑!然后我们先在Zotero里添加一篇文献,在谷歌学术(其他网站也都有)里复制文献的Bibtex信息,点击文件=从剪贴板导入,一篇文献就导进来了。
然后打开word,你会看到Zotero的插件已经安上了。
点第一个Add/Edit Citation添加文内引用。首先你会需要设置一下引用的样式,这个列表里面没有的话就点击管理样式-获取更多样式。
输入你需要的样式,有的是杂志或会议的名称。选取下面列表中符合你要求的样式就可以了。
再点一次添加,选择你刚刚导入的新样式。
然后在搜索框中检索你要的文献,然后选择-回车,一个引用就生成啦。
再点击Add/Edit Bibliography添加文末引用列表,直接就是只生成你文内引用过的文献列表。
需要更改样式的话,点击Document Preferences修改就可以统一改掉了~是不是超级方便!
在多台设备切换的话,可以把Zotero里的引用信息同步到坚果云,这样同步也很顺滑了。具体方法参见官方说明,如何在Zotero中设置webdav连接到坚果云?
总结
现在网上做文献管理的软件非常多,我还会做关于文献管理的教程,这个就放到文献管理再说吧,知乎大佬们也总结了非常非常多了。但是实际做文献引用的教程还是比较少,光是搞清楚word本身的引用功能我都花了快一天。这个教程不能说是提供了最好的解决方案(因为没有每个软件都去尝试),但是绝对足够好了!
你要做的就是【下载Zotero】+【Copy谷歌的Bibtex文献信息】。节省大量手动改样式的时间,以及减少人工检查容易搞错而付出的代价。希望对大家有用。