Paperlib teaser,来自Paperlib

Paperlib 是一个免费的,开源的,简洁的学术论文管理工具,由 GeoffreyChen 开发,主要针对计算机科学学科;这篇文章我想聊一下我使用文献管理工具的心得,以及为什么在这里推荐 Paperlib。

导语

无论是在开源社区还是应用市场,文献管理的工具都已经发展的相当成熟了;有老牌的 EndNotes,相信大部分这是大部分高校会选择购买的平台;还有 MendelyZotero 这些,相当程度上是可以说完全免费使用的;以及我之前很喜欢的一款叫做 ReadCube Papers 的软件,它的前身是 Papers,曾在 App Store 以买断制提供服务,被卖给 ReadCube 之后,改为每年 24 美元(学生优惠)的订阅制;还有由粤港澳大湾区数字经济研究院的同学们开发的 Readpaper 在最近这段时间,也有了比较多的流量。

实际上,很大程度上决定用户选择的,还是个人喜好。今天讨论的这个工具 Paperlib 也有一部分是出于我自己的喜好。Paperlib 在 GitHub 上开源,开发和维护都只有作者一个人,作者目前提供了 Windows、Linux 和 macOS 的支持。

这个工具让我眼前一亮的是它的界面,足够简单,但是功能又足够丰富,完全不需要任何学习成本,你可以方便的增删查改,管理你的论文。同时,由于开发者也是计算机系的学生,在开发之初就表示主要针对自己计算机领域的论文,所以我在使用过程中也是得心应手。

我是一个计算机专业的博士生,会议论文在我的研究领域里占主要地位。很多会议例如:NIPS,ICLR,并没有 DOI 编码。因此现有的文献管理软件几乎无法匹配他们的发表信息元数据。在我写论文的时候,我不得不一次次得搜索 Google Scholar,DBLP 来确保引文的发表信息无误。

对比于 Zotero, Mendely?

一个好的文献管理软件应该能够自动匹配文献的发表信息,而不是需要用户手动输入。这样可以大大减少用户的工作量。

现代 UI,没有无用的功能。

也许我们需要的只是:导入论文,自动匹配发表信息,简单管理文献库,写论文的时候方便地生成参考文献。

这就是 Paperlib。

——来自 Paperlib 官网介绍

我对文献管理工具的期待

组织与管理:我的论文被放在足够整洁的表格中,表格的行高,宽度都在保证包含充分的信息的同时,带来赏心悦目的体验;其次,它能提供丰富的查看方式、过滤与排序等,同时要有强大的搜索功能,全文搜索、标题搜索,或者自定义搜索;再有,针对论文的分类,可以有不同文件夹、嵌套文件夹、标签支持、论文智能分类等等;而这些都要我一打开工具就能看到在哪里。论文的添加要提供浏览器扩展、直接拉入论文等多种方式。

预览与阅读:能够在管理工具中快速打开论文查看,并且能保存我自己阅读论文后的笔记到管理工具中以归纳,最好是管理工具就可以为我提供像 PDF Expert 一样丝滑的 PDF 操作体验。

发现新论文:最好可以根据我工具里的论文情况,为我推荐可能有帮助的最新论文。

多平台同步:我的论文可以保存在这个工具内,并且在多个平台间同步,无论是移动端、桌面端还是网页版,都可以随时操作。

信息与引用:可以快速的得到论文的 Bibtex 信息用以导入 LaTeX 或者是 Word 里面,方便写论文;其次,一个好的文献管理工具,要可以包含一篇论文足够多的信息,甚至包括论文的引用量这些指标,最好还可以为论文增加一些链接,到对应的 GitHub 项目等等。

Paperlib 是这样做到的

作为文献管理工具,Paperlib 的界面足够简单,无论是从界面,还是从使用上,都给我一种恰到好处的感觉,不会有冗余的东西,你一打开就是论文的主页面,它不会要求你登录,也 没有检查账户信息等扰人的提醒。这也是我最喜欢它的一点。由于采用的是 Electron 的框架,三个桌面端的界面也保持高度统一。它最强大的功能就是论文元数据的抓取,我们可以自定义不同的论文数据抓取源,针对论文的下载同样如此,你可以选择使用 arXiv,SemanticScholar,X-Hub 等工具来帮助你获取论文的 PDF 文件。

Paperlib 论文元数据抓取器自定义界面

组织与管理

Paperlib 首页

这是 Paperlib 的首页,界面相当简单,左侧涵盖了自己的存储库与订阅库,库下面有依据不同的标签或者文件夹进行分类的论文;中间用来显示论文的信息,包括作者,年份,发表期刊或者会议,以及标题信息;顶部的搜索栏可以帮助我快速找到对应的论文;右侧栏有详细的论文信息,我可以给论文以评分,为它添加对应的 code 来源(一般是 Paperlib 自动抓取),也可以修改 Paperlib 抓取到的 PDF 文件。右键论文,可以进行论文数据的编辑,添加 Flag 等。而在右上方,我可以调整对应的预览视图,选择以 List、Table 或者其他方式,也有一些快速对论文进行操作的快捷键,像是删除、修改、添加 Flag 等。

在 Paperlib 里面添加论文可以有多种选择,

  1. 你可以直接将你的 PDF 文件拖入到 Paperlib 的主视图,Paperlib 会根据你自定义的元数据抓取器自动给论文配置好对应的信息。PDF 解析可能存在问题,因此这是我用的比较少的一种方法。
  2. Paperlib 提供了浏览器扩展,我们可以在浏览论文的界面,直接点击 Paperlib 的图标,对应的论文就会加入到文献管理工具中。Paperlib 的扩展同样没有任何多余的存在,只是一个图标,你一点击,就自动添加论文。这在 arXiv 的网页上极其好用。
  3. 浏览器插件对于一些论文网页的支持还存在问题,例如像是科学指引 Science Direct,即 Elsevier 论文数据库里面的对应期刊,使用第二种方法添加就有可能失败。你也可以在 Google Scholar 中直接点击 Add to Paperlib,这也是我目前使用的最频繁的添加方式,绝对不会出错,配合 Google Scholar 的浏览器插件,在任何一个论文页面,点击 Google Scholar 的插件,来到谷歌学术网页,都能完成添加。
Paperlib 插件在谷歌学术网页上的使用

而如果添加的论文抓取不到对应的 PDF 文件,你可以直接拖 PDF 文件到 Paperlib 中。

替换文件或者添加笔记文件

预览与阅读

在 Paperlib 里面,它不提供内置的阅读器,而是依赖于电脑上现有的 PDF 阅读软件,你可以自定义点击文件后以何种应用打开,然后在对应的软件里面对 PDF 进行阅读和批注。你可以将你的批注、用其他软件写下的论文阅读笔记拖入到 Paperlib 中,自动保存。正如我在前面提到的拖入 PDF 文件一样,在替换文件右边的入口,就是将我们的笔记添加到论文上的一种方法。

但是如果你只是想快速预览论文,你可以按空格键,打开 PDF 文件的快速预览。

Paperlib 论文快速预览

发现新论文

和 Mendeley 每周给你发一封邮件告诉你哪些论文与你最近阅读有关这种方式不同,也与 ReadCube Papers 内置的推荐系统不同,Paperlib 完全依靠用户的自定义。它为我们带来了一个订阅阅读器,这意味着可以我们自由订阅来自不同的期刊、arXiv 上的与自己研究课题相关的论文。这里我简单的举个例子关于我自己的一些订阅。

例如这个 Feed 链接:https://export.arxiv.org/api/query?search_query=cat:cs.CV+AND+abs:splicing+AND+abs:image+AND+abs:localization&start=0&max_results=30&sortBy=submittedDate&sortOrder=descending

如你所见,在这个链接里面,我们在 search_query 中对一些项目进行了自定义的指定,首先是 cat:cs.CV 这就表示我们将 arXiv 上面的论文的 Subject Category 指定为 计算机科学下面的计算机视觉领域;同时,我们可以看到后面还添加了更多的查询变量控制,包括像 abs, sortBy 等等查询变量。 abs 代表的是摘要,我希望给我的 arXiv 论文里面,摘要要包括这个关键词,如果有更多的关键词,我们用 AND 进行连接。最后是,我希望给我的查询结果控制在 30 条就可以,结果的排序必须是按照提交的日期来排序,这就意味着,arXiv 会给你最新的符合你的查询限制的论文。

在这里我也给出 arXiv 上关于如何自定义自己的 Feed 的相关资料

arXiv User Manual

search query: https://info.arxiv.org/help/api/user-manual.html#search_query_and_id_list

Appendices: https://info.arxiv.org/help/api/user-manual.html#5-appendices

Subject: https://arxiv.org/category_taxonomy

sort: https://info.arxiv.org/help/api/user-manual.html#sort

除了订阅 arXiv 上面的论文,我们还可以订阅期刊的论文,期刊的订阅链接通常在它们期刊的官网给出,例如在这里,我订阅了有像 ACM TOG,IJCV,IEEE TIP,IEEE TMM,JMLR,IEEE TIFS 等期刊的论文。同时,在你的 Feeds 里面,你可以再次使用搜索,来找到符合自己需要的文献。

我使用过程中的订阅到的一些期刊和 arXiv 论文

大部分的期刊,都会提供对应的订阅源,用户可以根据自己需要订阅不同的期刊。

快速就能找到对应期刊的订阅链接,图中最右边的图标

多平台同步

对于应用数据的同步,作者给出了使用 MangoDB 的教程,我们跟着教程走,就可以在自己的多台桌面端设备上,完成这些论文数据的同步,包括标签信息,文件夹信息,论文信息,自己的配置信息等。

但是对于 PDF 文件的同步,我使用的是坚果云,因为坚果云支持多个平台,包括 Linux;Paperlib 也提供了 WebDAV 的功能,来同步不同设备之间的文件。

就我目前的使用情况 (200 多篇论文)来说,坚果云足够实现多个平台的 PDF 文件同步,但随着论文数量的上升,存储空间也会受到坚果云的限制,所以我也在考虑使用其他的云服务来实现多平台同步。

信息与引用

我很喜欢 Paperlib 提供的快速复制粘贴插件。我是使用 LaTeX 来写论文的,将论文放到 reference 里面很方便。而对使用 Microsoft Word 写论文的需求,对应的扩展也在公测当中。

只需要点击CMD/CTRL+SHIFT+I, 搜索选择一个论文按 Enter 或者 SHIFT + Enter 来复制 BibTex 或者 BibTex 键值。你可以把插件链接到一个组,该组将会存放你所有复制的论文。当你完成写作之后,你可以一次性复制这个组的所有 BibTex 字符串。

一个理想的写作流程是:1)首先将插件链接到一个组,2)写作过程中不断搜索,复制 BibTex 键值到你的 LaTex 文件中,3)写作完成,打开插件,复制全部 BibTex 到 .bib 文件中。

Paperlib 在丰富论文信息上,给我们提供了一个添加 GitHub 项目的入口,同时 Paperlib 也会自动寻找对应的 GitHub 项目来匹配对应的文献。

Paperlib 会自动抓取论文对应的 GitHub 项目

VS Others

除了 Paperlib,我用过的文献管理工具包括 EndNote,Mendeley,ReadCube Papers,ReadPaper。我最早接触到文献管理这个概念就是在 EndNote 里面,当时我们学校购买了 EndNote 的某一个版本给学生使用,从学校图书馆的公众号里面了解到一个介绍如何使用 EndNote 的活动,出于尝鲜的目的,我把它下载下来使用了一会儿,直到写我的本科毕业论文之前,我都是用 EndNote 放着不多不少的几篇论文。所以使用上其实不算深入,我一直觉得 EndNote 有一定的入门门槛,功能太多,我刚接触甚至不太知道从何处入手。

直到后面我发现了 Mendeley,它完全伴随着我的本科论文到研究生一年级的整个阶段,我还专门为 Mendeley 分享了一期我使用它的 视频,当时的 Mendeley 是支持全平台的,我可以在手机上随时检查我的论文,电脑的客户端采用的是应用程序的开发设计,而不是现在的 Manger 所采用的 Web 形式。

随着 Mendeley 放弃了之前的 Desktop 版本,我也刚好发现了 ReadCube Papers,果断地从 Mendeley 转移。ReadCube Papers 目前仍然是我非常喜欢的一款软件,我订阅了它一年,在这一年里,我的使用频率也相当高,体验也很好。当时一年期限到了,我犹豫要不要续期的时候,信用卡已经把钱扣了,但我又看到了 ReadPaper 这款产品,自己也面临毕业,所以就在想取消订阅,ReadCube Papers 也相当人性化,我给他们一封邮件,就把扣的钱退回来了。

于是又开始了 ReadPaper 的使用历程,ReadPaper 很不错的是 PDF 标注,以及记笔记的功能,但它更不像是帮助我管理,更像帮助我读论文,但是读论文的工具明显有更好的选择。直到某天我在 GitHub Feeds 里面,看到有朋友 Star 了这个项目,我一下载,安装,这就是我想要的工具。

下面我会简单介绍一下,前面几款工具的特点,由于 EndNote 我没有深入使用,所以暂时不作特别的评论。

Mendeley

Mendeley 主页

其实 Mendeley 对我来说,使用那段时间,也离现在比较远了,因此对它的印象可能还是两三年前的 Mendeley。不可否认它带给过我惊艳的感受,在随着更加符合我使用习惯的工具出现后,我对 Mendeley 甚至还有了一些些不满,这些不满大多是,文献的组织和管理总是滞后显示,给我一种力不从心的感受;除此之外,是当时它可以把 PDF 文件拖入到软件界面来自动添加论文,但往往需要你对文件以合适的文件名命名,还要是期刊类的英文文献,才能有好的效果。

  1. 在更新之前,是全平台都支持的 Mendeley Desktop,更新之后是 Mendeley Reference Manager for Desktop,虽然是应用程序,但是使用体验却和网页差不太,给我感觉甚至就像是用 Mendeley 内置浏览器打开的味道。现在支持的平台也仅限三大桌面端。
  2. 和所有文献管理工具一样,Mendeley 提供了浏览器插件,Word 插件来帮助你添加论文和写论文;Mendeley 本身也提供了论文的同步,也可以从 PDF 文件里面提取到对应的论文数据,例如期刊,作者,年份等信息。
  3. 正如前面提到的,即便是桌面端,和网页版没有任何区别,一点开就是 Elsevier 的登录界面,当网页受到影响,桌面端是完全不能使用的,网页类带来的效果就是这个工具不像是工具,各种处理,都会变得比较滞后。

ReadCube Papers

ReadCube Papers 网页主页,其客户端也采用同样的布局

这个软件目前仍然是我最喜欢的一个,Paperlib 和它的界面甚至都很像,当然大部分文献管理工具通常都是这样的布局。

  1. 全平台支持(Android, iOS, iPadOS, macOS, Windows, Web, SmartCite (Word, Google Docs), Browser Extension (Chrome, Firefox, Safari, Edge))
  2. 推荐机制,Papers 根据内置的推荐算法,会为你推荐你的论文库里面相关的论文,缺点是大多数为期刊论文,arXiv 以及各种会议论文比较少。
  3. 自动下载,在 Papers 里面,你可以配置自己学校图书馆的代理信息,如果你就处于校园,它会为你自动下载学校已经购买的数据库的论文 PDF 文件,例如像是 IEEE Xplore 或者 ACM Digital Library 等收费数据库的论文原文。
  4. 全平台自动云同步,在 Papers 里面,你不需要考虑像 Zotero、Paperlib 或者其他工具提供有限容量等,要连接像坚果云,Dropbox 类似的云服务这个问题,Papers 直接为你提供了无限的云存储空间。
  5. 简单的笔记功能,PDF 的批注目前仍然不够好,很大程度上,这也是我放弃它的一个原因。Papers 提供了内置的论文阅读,有基础的 PDF 批注功能,可以使用高亮,下划线,删除线,添加笔记以及手写,这几种选择。但是 Papers 的手写体验是很糟糕的,甚至要比 ReadPaper 的体验还差,一部分原因我想可能是 Papers 没有像 ReadPaper 一样,对论文进行全文的抽取,将文本彻底放到一个新的层次上进行处理,所以无论是高亮,还是划线,常常比较难选中。但是 Papers 同样做到了可以提取参考文献,在侧边栏显示参考文献等信息,而不需要你滑到最下面。
  6. 内置的搜索,这对我来说不是文献管理工具的刚需,尽管内置的搜索可以像 Google Scholar 一样,提供尽可能详细的数据,但是我搜索论文一般不会专门到文献管理工具里面去搜索论文。

ReadPaper

ReadPaper 主页

社区文化突出,一开始的全文翻译、相似论文等功能还需要分享给其他新用户才能解锁,然后文献管理的界面我觉得显示的内容太少了,很多信息的排版其实可以以更紧凑的方式呈现。

  1. 可以加好友,加入不同的学习组别,和自己的朋友一起读论文,社区味道比较浓,我们可以在学术社区里面找到自己的论文,也可以和朋友一起读,有问题直接提出,等待其他用户的解答。
  2. 有 Windows,macOS,以及 iPad 三个平台的支持。
  3. 内置阅读器,对论文进行了信息提取,我们可以快速进行论文翻译,选择不同的翻译服务;同时图表自动被提取,参考文献也能一键定位,也支持手写笔记(仅 iPad),和添加键盘输入的文字笔记;也可以修改颜色模式,即黑底白字等。
  4. 有一个 ReadPaper 小程序,可以提供最新的 arXiv 订阅,订阅的方式是从一些列举出来的领域里面进行选择,小程序可以看到论文标题,作者和摘要信息,但是没有原文的链接。
  5. 文献管理上,表格会根据内容自动选择行高,有文件夹,嵌套文件夹,标签,等等。

Paperlib 的缺点

可能有一些用户希望加入 PDF 批注编辑的功能,或者是觉得当前支持的会议或者期刊不够丰富,以及其他的一些需求;对我来说,这些还暂时算不上 Paperlib 作为一个面向计算机学科的文献管理工具的缺点。我在使用 Paperlib 的过程中觉得可以被列为缺点的内容如下:

  1. 不支持多平台,例如我想在手机上查看我的论文的时候,就没有办法;作者也提到他没有 Apple Developer 的账号,同时只有作者自己一个人在开发和维护,面对学业也有点精力不足。
  2. 没有推荐机制,正如我在前面提到的 ReadCube Papers,我很喜欢它的一点,就是推荐;但其实在 Paperlib 里面,推荐机制这一点也可以很好的用 Feed 里面的 RSS 订阅来解决。更好的方式或许可以从自己订阅的 Feed 里面,软件会根据推荐算法,论文的标题,摘要,作者等信息里面为你进行粗糙的论文推荐。

当然,这是一款开源软件,free 的意思,不仅仅代表免费,更意味着我们都可以自由地对它进行更改,设计成我们自己喜欢的样子。

你更喜欢 ReadCube Papers,ReadPaper 还是 Paperlib 呢,其实我觉得他们都是相当出色的工具,正如我一开始提到的,很多时候就是自己的喜好,或者说第一印象的问题。无论如何,欢迎大家推荐自己正在使用的工具。

> 下载 少数派 2.0 客户端 、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀