這是歷史版本頁面 — 看 JabRef 最新版本

寫 LaTeX 論文文獻亂糟糟?JabRef 能幫你整理什麼

JabRef 軟體圖示 JabRef 5.10 資料更新 2023-09-02 閱讀約 6 分鐘

你正在寫學術論文,手邊累積了幾十篇 PDF 和上百條參考文獻。過去你習慣把 BibTeX 條目直接貼進 .bib 檔,但現在條目一多,重複的 key、漏掉的欄位、格式不一致的引用,讓編譯時老是跳出警告。你想找個方式把這些文獻好好管起來,卻不確定該從哪裡下手。

手動維護 BibTeX 檔案不是不能做,只是當文獻量超過某個程度,出錯的機率會高到讓人煩躁。這類工具切入的點,是讓你把文獻資料集中在一處管理,用介面代替純文字編輯,再自動產生格式正確的引用條目。你不需要記住 BibTeX 語法,也不用擔心某條引用少了必要欄位。

JabRef 操作介面
JabRef 的操作介面

01JabRef 到底能幫我做到什麼程度?

它是一套以 BibTeX 為基礎的文獻管理工具,主要功能是建立、編輯、整理書目資料庫。你可以手動新增條目,也可以從 DOI、ISBN 或線上資料庫自動抓取引用資訊。它支援 BibTeX 和 BibLaTeX 兩種格式,也能把 PDF 連結到對應的條目上,讓文獻庫不只是文字資料,還包含全文檔案。

02它可以從 Google Scholar 直接抓文獻資料嗎?

可以。官方說明指出它支援從 Google Scholar、PubMed 和 CrossRef 等學術資料庫檢索並匯入參考文獻。實際使用時,你可以在軟體內輸入關鍵字搜尋,找到後直接加入你的文獻庫,省去手動複製貼上條目的步驟。不過不同資料庫的匯入成功率可能會有差異,建議自己試過再決定主要用哪個來源。

03我有一堆 PDF 論文,它能幫我整理嗎?

它提供 PDF 與檔案連結功能,可以把全文 PDF 附加到對應的文獻條目上。另外有 metadata 擷取功能,能從 PDF 中自動讀取 DOI、ISBN 等資訊,再從線上資料庫補齊引用細節。這表示你不需要逐筆手動輸入,只要把 PDF 丟進去,它有機會自己找出這篇論文是誰寫的、發表在哪裡。

JabRef 介面畫面 2
JabRef 介面畫面

04在 Word 或 LibreOffice 裡寫論文,能用它插入引用嗎?

可以。JabRef 有直接與 Word 和 LibreOffice 整合的功能,可以在文件裡插入引用,並產生格式化書目。這對不用 LaTeX 的人來說是重要的替代路徑。不過要注意,它主要還是以 LaTeX 使用者為核心設計,Word 整合的完整度可能不如 Zotero 或 Mendeley 那類以 Word 為主的工具。

05多人一起寫論文,文獻庫要怎麼共用?

它沒有內建雲端同步功能,但官方說明提到可以把資料庫檔案放在 Dropbox、Google Drive 或 GitHub 上,透過雲端儲存或版本控制系統來同步。也就是說,共用方式是「檔案層級」的合作,不是多人同時編輯同一份資料庫。如果你需要即時協作,可能要考慮其他方案。

06我不用 LaTeX,只寫 Word 文件,適合用這套軟體嗎?

官方說明明確表示,它雖然主要為 LaTeX 使用者設計,但也支援將引用匯出到 Word 及其他格式。如果你只是偶爾需要插入引用,它可以用;但如果你整個寫作流程都依賴 Word,Zotero 或 Mendeley 的瀏覽器擴充功能和 Word 整合會更順手。JabRef 的優勢還是在 BibTeX 生態系裡。

JabRef 介面畫面 3
JabRef 介面畫面

07它介面只有英文,會不會很難上手?

介面確實只有英文,但它的操作邏輯不算複雜:上方是工具列,中間是表格形式的文獻列表,右側是 metadata 面板。對習慣英文介面的人來說,學習成本不高。如果你對英文介面感到吃力,可以考慮 Zotero,它有完整的中文介面,社群文件也比較多。

08它跟 Zotero 比起來,主要差在哪?

兩者都是免費開源文獻管理工具,但定位不同。JabRef 以 BibTeX 為核心,適合 LaTeX 工作流程;Zotero 則以瀏覽器整合和 Word 外掛見長,對一般學術寫作更直覺。Zotero 有內建雲端同步(免費帳號有容量限制),JabRef 沒有。另外 Zotero 的 PDF 註記功能比 JabRef 完整,後者官方說明也承認這點是弱項。

09我習慣用瀏覽器擴充功能一鍵儲存網頁上的文獻,它能做到嗎?

官方功能說明中沒有提到瀏覽器擴充功能。它的匯入方式主要是從學術資料庫檢索、載入 BibTeX 檔案或手動輸入。如果你很依賴「在瀏覽器看到論文,一鍵存進文獻庫」的工作流程,Zotero 或 Mendeley 的瀏覽器外掛會更符合你的需求。JabRef 的匯入路徑比較偏向「先有條目,再整理」。

JabRef 介面畫面 4
JabRef 介面畫面

10它更新頻率好像不高,會不會有相容性問題?

根據版本紀錄,近 24 個月只有 1 次更新,確實不算頻繁。它需要 Java Runtime Environment 11 以上才能執行,如果你系統的 Java 版本太舊,可能無法啟動。另外它支援 Windows 10/11,官方也提供 Mac 和 Linux 版本。如果你擔心長期維護問題,可以觀察社群是否活躍,或考慮更新更頻繁的替代方案。

11我文獻量不大,大概幾十條而已,需要特別用工具管理嗎?

幾十條文獻用手動維護 .bib 檔還算可行,但如果你會持續累積,或需要從多個來源匯入資料,早點建立管理習慣會比較省事。JabRef 的學習曲線不算陡,安裝後把現有 .bib 檔載入就能開始用。不過如果你只是偶爾寫一篇短文,用純文字編輯器也夠用,不必多裝一套需要 Java 環境的軟體。

12這套軟體有內建雲端同步嗎?我需要在不同電腦間同步文獻庫。

沒有內建雲端同步。官方說明明確指出,它不提供雲端儲存功能,但你可以把資料庫檔案放在 Dropbox、Google Drive 或 GitHub 上自行同步。這表示你必須手動管理檔案版本,多人同時編輯時可能會有衝突。如果你需要無縫的跨裝置同步,Zotero 或 Mendeley 的內建同步功能會更省心。

下載與官方連結

前往官方網站 下載 JabRef

JabRef-5.10.msi · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Added:
- We added a field showing the BibTeX/biblatex source for added and deleted entries in the "External Changes Resolver" dialog
- We added user-specific comment field so that multiple users can make separate comments
- We added a search history list in the search field's right click menu
- We added a full text fetcher for IACR eprints
- We added "Attach file from URL" to right-click context menu to download and store a file with the reference library
- We enabled updating an existing entry with data from InspireHEP
- We added a fetcher for the Bibliotheksverbund Bayern (experimental)
- We added support for more biblatex date formats for parsing dates
- We added support for multiple languages for exporting to and importing references from MS Office
- We enabled scrolling in the groups list when dragging a group on another group
- We added the option to automatically download online files when a new entry is created from an existing ID (e.g., DOI). The option can be disabled in the preferences under "Import and Export"
- We added a new Integrity check for unescaped ampersands
- We added support for parsing $ackslash$ in file paths (as exported by Mendeley)
- We added the possibility to automatically fetch entries when an ISBN is pasted on the main table
- We added the option to disable the automatic linking of files in the entry editor
- We added the link icon for ISBNs in linked identifiers column
- We added key binding to focus on groups alt + s
- We added the option to unprotect a text selection, which strips all pairs of curly braces away
- We added drag and drop events for field 'Groups' in entry editor panel
- We added support for parsing MathML in the Medline importer
- We added the ability to search for an identifier (DOI, ISBN, ArXiv ID) directly from 'Web Search'
- We added a cleanup activity that identifies a URL or a last-visited-date in the note field and moves it to the url and urldate field respectively. koppor#216
- We enabled the user to change the name of a field in a custom entry type by double-clicking on it
- We added some preferences options to disable online activity
- We integrated two mail actions ("As Email" and "To Kindle") under a new "Send" option in the right-click & Tools menus. The Kindle option creates an email targeted to the user's Kindle email, which can be set in preferences under "External programs"
- We added an option to clear recent libraries' history
- We added an option to encrypt and remember the proxy password
- We added support for showing journal information, via info buttons next to the Journal and ISSN fields in the entry editor
- We added support for pushing citations to Sublime Text 3
- We added support for the Finnish language
- We added the option to automatically replaces illegal characters in the filename when adding a file to JabRef
- We added a privacy policy
- We added a tooltip to show the number of entries in a group

Changed:
- We replaced "Close" by "Close library" and placed it after "Save all" in the File menu
- We upgraded to Lucene 9.7 for the fulltext search. The search index will be rebuild
- 'Get full text' now also checks the file url
- JabRef writes a new backup file only if there is a change. Before, JabRef created a backup upon start
- We modified the Add Group dialog to use the most recently selected group hierarchical context
- We refined the 'main directory not found' error message
- JabRef writes a new backup file only if there is a change. Before, JabRef created a backup upon start
- Backups of libraries are not stored per JabRef version, but collected together
- We streamlined the paths for logs and backups: The parent path fragment is always logs or backups.
- log.txt now contains an entry if a BibTeX entry could not be parsed.
- log.txt now contains debug messages. Debugging needs to be enabled explicitly
- log.txt does not contain entries for non-found files during PDF indexing
- The hostname is now determined using environment variables (COMPUTERNAME/HOSTNAME) first
- We improved the Medline importer to correctly import ISO dates for revised
- To avoid cluttering of the directory, We always delete the .sav file upon successful write
- We improved the unlinking/deletion of multiple linked files of an entry using the Delete key
- The field names of customized entry types are now exchanged preserving the case
- We moved the custom entry types dialog into the preferences dialog
- We moved the manage content selectors dialog to the library properties
- We moved the preferences menu command from the options menu to the file menu
- We reworked the cross ref labels in the entry editor and added a right click menu
- We reorganized the order of tabs and settings in the library properties
- We changed the handling of an "overflow" of authors at [authIniN]: JabRef uses + to indicate an overflow. Example: [authIni2] produces A+ (instead of AB) for Aachen and Berlin and Chemnitz
- We moved the preferences option to open the last edited files on startup to the 'General' tab
- We improved the recognition of DOIs when pasting a link containing a DOI on the maintable
- We reordered the preferences dialog
- We split the 'Import and Export' tab into 'Web Search' and 'Export'
- We moved the option to run JabRef in memory stick mode into the preferences dialog toolbar
- In case the library contains empty entries, they are not written to disk
- The formatter remove_unicode_ligatures is now called replace_unicode_ligatures
- We improved the error message when no terminal was found
- In the context of the "systematic literature functionality", we changed the name "database" to "catalog" to use a separate term for online catalogs in comparison to SQL databases
- We now show more fields (including Special Fields) in the dropdown selection for "Save sort order" in the library properties and for "Export sort order" in the preferences
- We now encrypt and store the custom API keys in the OS native credential store
- We changed the behavior of group addition/edit, so that sorting by alphabetical order is not performed by default after the modification