1. 程式人生 > >文獻管理軟體 JabRef 入門簡介

文獻管理軟體 JabRef 入門簡介

我曾經非常愚蠢地認為手工維護自己的參考文獻庫就可以了,但隨著看過論文的增加,文獻的管理成為一件痛苦的差事。最近才領略到使用文獻管理軟體的方便。 JabRef 的中文教程比較少而不全,所以就寫了這篇部落格,簡要介紹一下這個軟體的使用方法。

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 下載連結(如果您無法看到此圖,可能因為您無法連線國外網站)

聰明如你,肯定知道該怎麼做吧。點開 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 旁邊的 + 號手動新增檔案。

JabRef 圖例(如果您無法看到此圖,可能因為您無法連線國外網站)

當然了,文獻條目的其它資訊我們也可以編輯。比如 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 版之後已經可以支援中文,中文介面是由我翻譯的

=======================================

大多隻有使用 LaTeX 撰寫科技論文的研究人員才能完全領略到 JabRef 的妙不可言,但隨著對 Word 寫作平臺上 BibTeX4Word 外掛的開發和便利應用,使用 Word 撰寫文章且用 JabRef 推送參考文獻同樣令人十分愉悅。作為新生代的文獻的送和管理工具( 2005 年開發),只有不足 8M JabRef (安裝版 / 免安裝版)不僅功能齊全、各種操作也考慮周到,實現科技研究人員在跨操作平臺和不同寫作環境下終身使用一個“自己的文獻庫”不再是一個奢望。

1) 免費開源軟體,使用 Java 語言編寫,支援 Windows Linux Mac 等多個平臺。可以選擇安裝版本或是免安裝的 JAR 版本(前提是電腦已有 Java 環境支援)。

2) 支援線上抓取和更新題錄。最新的 JabRef 2.6 版本已支援如下圖所示的, CiteSeer JSTOR SPIRES IEEEXplore ArXiv.org ACM Portal Medline 以及 ScienceDirect 八大電子資源資料庫的文獻查詢和索引自動匯入功能。

 

3) BibTeX 檔案儲存格式(字尾名是 .bib )。這一做法的優勢在於 bib 檔案本質上是文字檔案,透明度高,資料結構化強,沒有 JabRef ,用其他支援 bib 格式的軟體或文字編輯器一樣可以開啟,傳統的缺陷認為一個 bib 檔案記錄的條目數不能太多,否則會影響該檔案讀寫速度。但從筆者的使用經驗上看,和電腦的硬體配置有關,實質上一個 bib 檔案幾千條記錄的修改和儲存速度均很快。

4) 軟體支援中文介面,支援中文 GBK 編碼以及國際通用 UTF8 編碼的 BibTeX 格式文獻資料庫,參見下圖例示。

點選看大圖

5) 支援不同文獻索引格式檔案的匯入和匯出。可以廣泛讀取其他文獻管理工具,如 EndNote Reference Manager Refworks 等儲存的文獻索引格式,同時支援對電子版文獻 PDF 格式文件的索引資訊 XMF 源資料的自動收集(見下圖下拉選單的最後一行)。

6) 支援任意分類和自動分類,可自動根據題目、作者、關鍵詞或摘要自動分類。

7) 支援在各種 LaTex 編輯器中和很多文字編輯器( WinEdt Lyx Vim Emacs 等等)中插入文獻記錄,可以很方便的推送文獻索引至寫作文件。

點選看大圖

推薦使用 LocalCopy 外掛,安裝後可以使用“ ArXiv pdf ”或“ Journal pdf ”兩個按鈕直接為自己的 JabRef 文獻題錄下載 PDF 文件,而不用開啟網頁搜尋資料庫,當然這個前提是你文獻索引中包含對 PDF 文件的連結地址( URL DOI )以及你的電腦網路 IP 地址允許對該 PDF 文件具有下載使用權或是 PDF 文件本身是免費的。這對大學校園使用者的文獻檢索和儲存是非常便利的!

安裝很簡單,在 JabRef 的“外掛”選單下點“管理外掛”子選單,在彈出視窗中點選“安裝外掛”,找到下載的外掛即可自動安裝,重啟 JabRef 後即可啟用。

點選看大圖

LocalCopy 外掛自動為下載的 PDF 文件重新命名(使用已定義的 BibTex Key ),並自動存放在 JabRef 的主 PDF 資料夾中,相當的方便。

9) 支援在 Openoffice 中自動插入記錄。在啟用免費開源的巨集 BibTeX4Word 以後,也可以很方便的(類似 EndNote 操作)在 Word 中自動插入記錄。

請參考上述該頁面的幫助文件安裝和使用“ BibTeX4Word ”。

10) 可以增加資料欄位。

11) 一條題錄可以關聯多個不同資料格式的檔案。

12) 方便建立自己的個人電子資源庫。每個人電腦裡可能都有一些電子資源:書,文件,報告, ppt 等等,為了查閱方便,一般都會把這些電子資源分門別類地放到一個資料夾得多個目錄下,每次找檔案都要深入資料夾仔細查詢;而且有時候為了系統相容性,避免使用中文檔名和中文路徑,這對考驗一個人的記憶力以及理解哪個檔案是你需要的資源而言是一件很痛苦的事。由於 JabRef 支援多種檔案格式的關聯和開啟閱讀,並且能自由新增未預設的檔案格式閱讀軟體,因而利用 JabRef 作為檔案管理工具,將這些電子資源建立一個 bib 資源庫,就可以根據作者,標題或類別排序或者直接檢索,會方便自身的閱讀、管理和寫作。

===

相關連結: