Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3360280
  • 博文数量: 258
  • 博客积分: 9440
  • 博客等级: 少将
  • 技术积分: 6998
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-03 10:28
个人简介

-- linux爱好者,业余时间热衷于分析linux内核源码 -- 目前主要研究云计算和虚拟化相关的技术,主要包括libvirt/qemu,openstack,opennebula架构和源码分析。 -- 第五届云计算大会演讲嘉宾 微博:@Marshal-Liu

文章分类

全部博文(258)

文章存档

2016年(1)

2015年(4)

2014年(16)

2013年(22)

2012年(41)

2011年(59)

2010年(40)

2009年(75)

分类: LINUX

2010-01-06 13:48:44

作者:杨文博 <http://blog.solrex.cn>
地址:http://blog.solrex.cn/articles/jabref-quick-guide.html

摘要:这篇博客主要介绍文献管理软件 JabRef 及其使用方法,适用对象为 LaTeX 用户、非 Windows 操作系统用户和用不起 EndNote 的 Windows 用户。

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

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

1. 软件介绍

JabRef 是一个开源的参考文献管理软件,使用 Java 语言编写,所以天生具有跨平台特性,通用于安装有 Java 支持的 Windows, Linux 和 Mac,软件主页在:。它可以很方便地管理下载到本机的文献,生成 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 还有很多特性可以加以发掘,就留给大家一起探索吧。

阅读(3224) | 评论(0) | 转发(0) |
0

上一篇:vim C++自动补全脚本

下一篇:LaTeX/常用宏包

给主人留下些什么吧!~~