我曾经非常愚蠢地认为手工维护自己的参考文献库就可以了,但随着看过论文的增加,文献的管理成为一件痛苦的差事。最近才领略到使用文献管理软件的方便。 JabRef 的中文教程比较少而不全,所以就写了这篇博客,简要介绍一下这个软件的使用方法。

目录
1. 软件介绍
2. 建立数据库
3. 导入文献条目
4. 管理文献条目
5. 与 vim 结合使用
6. 其它应用
7. 结语

1. 软件介绍

JabRef 是一个开源的参考文献管理软件,使用 Java 语言编写,所以天生具有跨平台特性,通用于安装有 Java 支持的 Windows, Linux 和 Mac,软件主页在:http://jabref.sourceforge.net/。它可以很方便地管理下载到本机的文献,生成 BibTeX 文献数据库,供 LaTeX 或其它软件使用,可以与 Kile, Emacs, Vim, WinEdt 等多种软件结合使用。

JabRef 适合什么人使用?总的来说 JabRef 最大的特点就是使用 BibTeX 格式的数据库,所以它最适合 LaTeX 用户使用;如果仅仅使用它的管理功能,也可以用于本地电子书的管理;对于使用 M$ Office 写论文的用户来说,EndNote 是最好的选择,它能集成到 M$ Word 中,所以不推荐使用 JabRef。

JabRef 当前最新版本是 2.4.1,如果你发现自己的 JabRef 不支持某些特性,最好检查一下版本信息。本文使用 Linux 下的 JabRef 演示,其它系统下应该没有什么不同。

2. 建立数据库

JabRef 的文献数据库是纯文本的 bib 文件,可以将该数据库文件放在该主题文献的目录下。比如要建立一个 p2p 方向相关文献的数据库,只需建立一个 p2p 目录,在 JabRef 中选择 File->New Database,然后 Ctrl-s,将该数据库起名 p2p.bib,保存在 p2p 目录下。然后将 File->Database properties 中的 Database Encoding 设置为 UTF-8(这是因为论文的作者可能是法国人和我们会经常用中文写些注释,所以最好用国际化的字符集), Directory 都设置成点号 .(表示当前目录,这样你就可以将整个目录打个包,扔到另一台 Linux/Win/Mac 机器上照常使用)。

3. 导入文献条目

文献数据库的内容自然是一篇一篇的论文,每篇论文在数据库中占一条记录。那么如何添加论文呢?自然不必全部手工添加,几乎所有的数据库在提供论文下载的同时都有该论文 citation 信息的下载,下面这张图上是计算机科学类常用数据库网站的 citation 下载链接示例。也许你以前不知道它们是做什么用的,但你总能在文章下载页面的某个地方找到它们。

聪明如你,肯定知道该怎么做吧。点开 citation 的链接,将内容保存为相应的文件名。比如 BibTeX 格式的 citation 信息,将其保存到名为 xxx.bib 的纯文本文件中,然后到 JabRef 里选择 File->Import into current database,将该文件导入当前数据库,你就会发现数据库中多了一条记录。当然,JabRef 支持很多 citation 信息格式,但是既然 JabRef 采用 BibTeX 格式管理数据库,我们还是尽量下载 BibTeX 格式的 citation。

每次只导入一条记录未免太麻烦了些,由于很多参考文献信息都是纯文本格式的,那么我们可以将很多条记录分段拷贝到 xxx.bib(或者 xxx.ris 等) 里,然后集中导入。

如果你已经下载到了论文的 pdf 文件,知道论文的标题名和数据库名,那么你就不用再去网站下载 citation 信息,可以直接在 JabRef 中用标题名搜索该论文。比如你知道论文标题叫做 A Survey of xxxxxxx,可以从 IEEEXplore 数据库中获得,那么你可以直接在 JabRef 中选择 Web search->Search IEEEXplore,然后用标题名搜索,点 Fetch,就可以直接得到 citation 信息(但搜索可能出现错误,那么你就需要用 Google Scholar 并且到论文网站上下载了)。

4. 管理文献条目

文献数据库的条目建立起来了,但是这只是一些 citation 和 abstract 信息,那么如何将下载下来的论文 pdf/ps 文件和它们对应的条目关联起来呢?

只需要将下载下来论文的文件名保存成特定的格式,一种方法是文件名中包含 BibTeXkey,如果是 A. Yao 在 2005 年发表的文章,文件名就起为 xxx-Yao2005-yyy.pdf;一种方法是文件名包含论文名。然后修改匹配规则:Options->Preferences->External Programs->Use Regular Expression Search 文本框,比如在当前目录下匹配包含 BibTeXkey 的文件:“./.*[bibtexkey].*\\.[extension]”,在当前目录下匹配包含论文名的文件:“./.*[title].*\\.[extension]”,在子目录中匹配包含 BibTeXkek 的文件:“**/.*[bibtexkey].*\\.[extension]”。如果我们把文献数据库 bib 文件和 pdf 文件放在同一目录下,只需要使用在当前目录下匹配即可。

文件名和匹配关系修改好了,那么我们就可以将论文记录关联到文件了。如果是一次导入很多文献,可以使用批量处理:Tools->Scan database->Sychronize file links,但是同步的时候不要选择 Check existing file links,那样会很慢;处理单一记录的方法是:双击某论文条目,或者选中后按 Ctrl-e,就可以编辑该条目。进入 General 选项卡,在 File 条目后面点 Auto,JabRef 就会按照匹配规则搜索匹配的文件,关联到该条目。如果能搜索到 pdf 文件,关联后该条目的前面会出现一个 pdf 图标,点击该图标,就可以直接打开该论文的 pdf 文件。除了自动匹配以外,也可以使用 Auto 旁边的 + 号手动添加文件。

当然了,文献条目的其它信息我们也可以编辑。比如 ACM 的 BibTeX 中往往不包含摘要信息,我们可以在 Ctrl-e 以后的 Abstract 选项卡中添加对应论文的摘要信息;Springer 的 ris 信息往往过于简单,我们也可以通过网页信息添加一些条目;如果你对某篇文献有深刻印象或者想记一下笔记,可以在 Review 选项卡中记录下自己的想法。

在一个文献数据库中,文献还可以分组。View->Toggle groups interface,可以新建、修改分组,这样有一个好处是可以将该数据库所属大方向的很多小方向分组浏览,对初期准备了解研究方向大致轮廓的研究人员很有帮助。

5. 与 vim 结合使用

前面说过,JabRef 可以和很多软件结合使用,但是有一些软件我并不熟悉,所以这里仅仅介绍一下 JabRef 和 vim 关联使用的技巧。

JabRef 是使用 vim server 和 vim 通信的,所以这要求双方使用同样的 vim server 名。在 JabRef 一端,Options->Preferences->External Programs->Vim Server Name 文本框中就是 vim server 名,你可以使用默认的 vim 服务器名 vim,也可以修改成任意名字,比如 solrexvim;在 vim 一端,编辑 LaTeX 文件时不要使用通常的命令启动 vim,要加上 vim 服务器名,比如 vim --servername solrexvim --remote-silent xxx.tex,这条命令的意思是:使用 vim 连接到服务器 solrexvim 修改 xxx.tex 文件,如果该服务器不存在,就创建它。

等 JabRef 和 Vim 都启动了以后,如果在编辑 tex 文件的时候想加入某条文献的引用,只需要在 JabRef 上方的工具栏中先选择出 Vim,然后再点击该图标,vim 光标所在位置就会自动加入该文献的引用。

6. 其它应用

总的来说,JabRef 的作用主要是参考文献管理工具,但是也可以使用它来做一些其它的工作,比如个人数字图书馆。每个人电脑里可能都有一些电子书,有的人特别多。为了查阅方便,一般都会把电子书分门别类放到一个目录树中,每次找文件都要进到很深的目录下;有时候为了系统兼容性,避免使用中文文件名,理解一个文件对应哪本电子书成为一件痛苦的事。如果使用 JabRef 作为文件管理工具,就可以根据作者,书名排序或者直接检索,会方便很多。

7. 结语

本文简要介绍了 JabRef 的基本使用方法。我也是刚刚接触这个软件,对其体会并不深刻,可能 JabRef 还有很多特性可以加以发掘,就留给大家一起探索吧。

2009年6月6日添加:JabRef 在 2.5beta 版之后已经可以支持中文,中文界面是由我翻译的。

文献管理软件 JabRef 快速入门相关推荐

  1. 文献管理软件Endnote X9入门使用

    文献管理软件Endnote X9入门教程 ​ Endnote是一款被广泛使用的文献管理软件,它可以在本地建立个人文献数据库,实现文献及引文信息的保存.分组整理.标记.检索等功能.在撰写Word版的毕业 ...

  2. 超好用的免费文献管理软件Mendeley 简易入门教程

    文章目录 背景 下载及注册 使用 背景 大家在科研的过程中一定会阅读大量的文献,这样一来进行文献管理就是十分必要的一件事了,今天我要来和大家分享一个免费又好用的文献管理器--Mendeley . 先来 ...

  3. 常用文献管理软件比较

    from  http://jiangzhanyong.com/2006/09/reference-manager-compare-19.html  http://publish.it168.com/2 ...

  4. 文献管理软件 Endnote 简易上手

    刚开始写论文的时候,文献引用插入那简直是千奇百怪,尾注.脚注和交叉引用等等方法都有,效果看起来似乎不佳. 如何像我们平时阅读的文章那样进行文献引用呢? 今天分享一下,文献管理软件 Endnote的入门 ...

  5. JabRef文献管理软件简明教程

    本文转载自:https://www.cnblogs.com/tsingke/p/4523908.html JabRef 文献管理软件简明教程 大多只有使用LaTeX撰写科技论文的研究人员才能完全领略到 ...

  6. JabRef 文献管理软件简明教程

    JabRef 文献管理软件简明教程 大多只有使用LaTeX撰写科技论文的研究人员才能完全领略到JabRef的妙不可言,但随着对Word写作平台上BibTeX4Word插件的开发和便利应用,使用Word ...

  7. 计算机类文献管理软件,你和学霸只差一款好用的文献管理入门软件

    小伙伴们的眼中只有国外的 Endnote,却忽视了这款国产的文献管理神器.今天向大家安利的是中国知网的「数字化学习与研究平台 CNKI E-study」.对于科研小白来说,这不得不说是一款很好的文献管 ...

  8. endnote中科大版区别_研究生科研入门Endnote文献管理软件使用

    Endnote文献管理软件 国外软件,SCI(Thomson Scientific 公司)的官方软件.研究生阶段若编写SCI论文 ,推荐采用此软件.系统资源占用小,有很强的功能扩展, 能管理的数据库没 ...

  9. 参考文献管理软件Jabref和Zotero使用笔记

    参考文献管理软件Jabref和Zotero使用笔记 1.摘要 2.关键词 3.前期准备 4. 重点来了,制作bib文献数据库. 5.另一个重点是在TeX源文件中使用生成的参考文献列表. 6. 编译 7 ...

最新文章

  1. 网络游戏程序中解决加载卡顿的有效方法
  2. 突破三个自我,你就不光是老板的料
  3. Google图片搜索的原理
  4. 批处理之坑爹的感叹号和变量延迟扩展
  5. JDBC学习笔记(6)——获取自动生成的主键值处理Blob数据库事务处理
  6. Oracle11g新特性:在线操作功能增强-Oracle11g的只读表功能
  7. java 自带jar命令打包class文件
  8. service network restart重启失败_NodeManager 启动失败问题处理
  9. coreldraw水涟漪怎么做_不懂怎么挑选水处理设备?跟贝斯沃了解这3点再做决定,轻松挑出适合自己的...
  10. 一步一步asp.net_删除模块设计
  11. CATIA_CAA_RADER26+VS2012安装教程
  12. 字节跳动A/B实验背后的秘密:样本量计算
  13. android上如何多开微信,手机微信多开怎么弄 安卓手机微信多开教程
  14. 计算机woyd打不开,word打不开怎么办?word文档打不开的几种解决方法
  15. 音响常用电解电容转发
  16. Big Faceless Java Pdf报表生成器控件介绍
  17. android 服务端技术,移动应用服务器端开发(基于JSP技术)-2017 Android系统构架 Android系统构架.docx...
  18. linux 写操作系统 pdf,Linux操作系统概述.pdf
  19. 精通移动App测试实战:技术、工具和案例
  20. 因为计算机中丢失6595,windows 10 安装CVE-2021-34527漏洞补丁后,开机任务栏丢失,补丁无法卸载...

热门文章

  1. Java笔记14:泛型初探
  2. eclipse中编辑properties文件无法看到中文
  3. 等号赋值与memcpy的效率问题
  4. Centos安装tomcat,haproxy,jdk
  5. jFreeChary初探
  6. 【观点】开发人员的测试悖论
  7. C# 用户控件之温度计
  8. Java实战equals()与hashCode()
  9. 项目感言--功能的模块化
  10. 如果让我重新设计一款Android App