LWN:参考文献管理工具Zotero!

关注了就能看到更多这么棒的文章哦~

A look at the Zotero reference management tool

February 27, 2025
This article was contributed by Andrea Ciarrocchi
Gemini-1.5-flash translation
https://lwn.net/Articles/1007270/

Zotero 是一款开源的参考文献管理工具,旨在收集、组织和引用研究材料。它对于那些撰写研究论文、学位论文或书籍,并且需要使用标准格式(如 APA 格式、芝加哥格式 或 MLA 格式)的参考文献目录的人来说,特别有用。Zotero 存储书目元数据、注释和用户数据,并与 LibreOffice、Microsoft Word 和 Google Docs 等文字处理器集成,以生成文中引用和参考文献目录。Zotero 的核心功能包括元数据提取、标签、全文索引和云同步,以实现多设备访问。Zotero 还有一个 插件系统 ,允许任何人扩展其功能。最新的主要版本 Zotero 7 增加了对阅读 EPUB 的支持,带来了用户界面改进(包括暗黑模式)、性能改进等等。

历史

Zotero 最初由乔治梅森大学的 Center for History and New Media 开发。"Zotero" 这个名字源于阿尔巴尼亚语动词,意思是“掌握”,反映了该项目旨在帮助用户管理其研究数据的目标。该项目于 2006 年 10 月启动,并 首次公开发布 为 Firefox 浏览器扩展。现在它由非营利组织 Corporation for Digital Scholarship 维护。

2011 年,开发团队通过引入 Zotero 的 独立版本 解决了浏览器扩展模型的局限性,并通过 浏览器扩展 实现了与包括 Google Chrome、Mozilla Firefox 和 Safari 在内的多个 Web 浏览器的集成。

Zotero 客户端应用程序及其插件主要用 JavaScript 编写;Zotero 使用 SQLite 在本地存储数据。Zotero 在 Affero General Public License (AGPL) 下可用。该项目鼓励用户通过开发代码、在论坛上为其他用户提供支持或编写文档来 贡献 。社区提供并维护了许多插件,这些插件扩展了应用程序的功能和自定义选项,以及它与其他软件的集成。例如,Better BibTeX 增加了使用基于文本的工具链(如 LaTeX 和 Markdown )管理数据的功能,而 Better Notes 扩展了 Zotero 的笔记功能。有数十个社区提供的插件可供选择,用户当然也可以编写自己的插件。

根据该项目的 GitHub 页面 ,有 76 人为其开发做出了贡献。Pull requests 和 issues 部分相当活跃,讨论论坛 也是如此,该论坛是推荐的支持场所。该项目有一个 完整的版本历史记录 ,可以一直追溯到 1.0 版本。

快速上手

要开始使用 Zotero,用户需要安装客户端应用程序,并且可能还需要一个浏览器扩展。该应用程序和浏览器扩展可通过 下载页面 获得。该项目仅提供带有应用程序二进制文件的 tarball,而不提供发行版软件包。必须安装特定于浏览器的扩展程序才能直接从在线资源启用元数据提取。Zotero 使用 JavaScript 编写的 translators(转换器) 解析嵌入在网页中的结构化数据,例如来自期刊数据库或图书馆目录的书目元数据。

完成安装后,用户可以设置一个具有 synchronization(同步) 功能的 Zotero 帐户,尽管这是可选的。注册帐户是免费的,但免费套餐的数据存储空间限制为 300MB。如果用户需要更多存储空间,他们将需要 付费购买存储空间 。同步会将用户的图书馆(包括元数据、馆藏和笔记)镜像到 Zotero 的服务器以及所有已登录的设备。Zotero 还可以单独存储元数据和附件,用户可能希望通过在本地存储附件来节省同步空间。

界面

Zotero 界面专为需要详细控制其书目数据的用户而设计。它由一个三窗格布局组成:一个导航窗格、一个内容窗格和一个元数据编辑器,每个窗格都有不同的功能。

导航窗格提供对库的分层导航。馆藏和子馆藏充当组织节点,允许用户对参考文献进行分类。“Tags(标签)”和“Saved Searches(已保存的搜索)”部分有助于动态查询和标签。

Zotero 支持使用项目类型、标签、创建者或自定义字段等条件创建 saved searches(已保存的搜索) 。我发现在此面板中为我计划处理的每篇文章或书籍创建一个书目文件夹非常方便。每个文件夹都可以包含与特定项目相关的参考文献,从而有助于提供一个组织良好的库,并且将来可以轻松访问。对于书籍,我还创建与其各个章节对应的子文件夹。这使得根据需要查找和更新参考文献变得更加容易。

内容窗格显示所选馆藏或搜索查询的内容。它显示与左窗格中包含的每个文件夹关联的引文列表,并充当主要数据网格,其中列出了标题、创建者、年份和其他元数据字段的项目。用户可以通过列选择器对信息进行排序,从而可以定制数据集的视图。

另一种对信息进行排序的方法是单击列标题,并且可以使用修饰键实现多字段排序。拖放功能提供了馆藏中项目的快速重组。可以使用“New Item(新建项目)”按钮手动添加项目,但我从未需要手动输入项目,这要归功于浏览器扩展。

元数据编辑器窗格有三个选项卡:Info(信息)、Notes(笔记)和 Tags(标签)。“Info(信息)”选项卡允许详细的书目条目编辑,包括自定义字段。要编辑项目,只需单击它并进行所需的更改。“Notes(笔记)”选项卡支持富文本注释,而“Tags(标签)”选项卡支持手动和自动标记。标签是可搜索的,并且可以用颜色编码以进行视觉优先级排序。附件(如 PDF)的全文索引可在此处访问,从而实现精细的搜索功能。

如果 Zotero 不支持开箱即用的功能,则可以使用脚本对其进行扩展。例如,Zotero 本身不支持批量处理,但可以通过 第三方脚本 获得该功能。可以选择多个项目来执行批量编辑,例如更新元数据字段、标记或附加文件。批量操作对于清理导入的数据集或重新格式化馆藏特别有用。

位于右上角的搜索栏支持实时过滤,并且可以在“All Fields and Tags(所有字段和标签)”、“Title, Creator, Year(标题、创建者、年份)”和“Full-Text(全文)”搜索模式之间切换。对于更精确的查询,高级搜索界面提供具有布尔运算符、嵌套条件和特定字段定位的多条件过滤。

工作流程

用户可以通过馆藏和子馆藏以分层方式组织他们的库,从而有效地为研究项目创建嵌套结构。可以通过浏览器扩展自动添加项目到库,也可以使用“New Item(新建项目)”功能手动添加。感谢这种集成,研究人员可以搜索 PubMed (其中包含生物医学文献的引文),只需右键单击一篇文章并选择“Save to Zotero(保存到 Zotero)”即可将其添加到他们的库中。

或者,在任何网页上,用户都可以使用其浏览器的 Zotero Connector 扩展程序保存当前页面的 URL。文档 介绍了如何使用连接器并对其进行自定义。对于手动添加,可以输入标准书目字段,例如标题、作者、出版日期以及标识符,如 DOI (数字对象标识符) 或 ISBN (国际标准书号) 。Zotero 支持 Dublin Core 和 MARC 等元数据标准,从而提供与图书馆系统的兼容性。

为了将 Zotero 集成到研究和写作过程中,该应用程序为 LibreOffice、Microsoft Word 和 Google Docs 等文字处理器提供 插件 。通过使用插件搜索库并选择引文样式,可以快速添加或编辑引文。Zotero 使用 Citation Style Language (CSL)进行格式化,支持大量的样式库,可以通过 XML 编辑对其进行自定义,以满足特定学科的要求。可以动态生成参考文献目录,并在添加或修改参考文献时自动更新。

Zotero 中的数据管理也扩展到文件附件。用户可以将参考文献与 PDF、图像或数据集相关联。这些文件在本地建立索引,从而允许全文搜索,这通过基于 Mozilla's pdf.js 的内置 PDF.js engine 实现。用户可以配置外部工具(如 PDF 注释器)以与 Zotero 集成,从而实现无缝的工作流程。但是,使用此选项会增加存储空间要求,这可能会让用户超过 300MB 的免费套餐。我从未觉得有必要使用此功能,因为我更喜欢将 PDF 和其他补充文件保存在我的本地硬盘上。

对于协作,Zotero 提供了托管在其服务器上的 group libraries(群组库) 。群组库允许多个用户在集中式存储库中共享参考文献、笔记和文件。Zotero 支持基于角色的访问,因此群组可以通过将其限制为某些角色来控制对敏感研究数据(例如)的访问。创建群组和共享库是免费的,但存储空间计入群组所有者的配额。对于那些看不到将文档文件上传到云的必要性的人来说,存储限制是一个可以忽略的限制。

开发人员可以使用 Zotero API 以编程方式与他们的库进行交互,从而实现与机构存储库、内容管理系统或其他研究平台的集成。对于本地使用,甚至可以 直接操作 SQLite 数据库 ,但这需要对 Zotero 的模式有扎实的了解,以避免数据损坏。

最后,适当的备份措施对于长期可靠性至关重要。虽然 Zotero 的同步功能提供了冗余,但用户应定期以 JSON 或 RDF 格式导出他们的库以进行外部存档。数据目录(其中包含 SQLite 数据库和附加文件)也可以手动复制以进行离线存储。这些措施可以确保即使在系统出现故障时,研究材料也能保持完好无损。

缺点

Zotero 有很多优点,但浏览其论坛表明,它的用户已经确定了一些显着的缺点,这些缺点可能会对具有特定要求的用户产生影响。一些用户报告说,当管理包含数万个参考文献的大型库时,界面 可能会变得迟缓 。但是,这似乎是一种极端情况,不会影响常见的用户体验。我已经使用 Zotero 来管理科学论文的参考文献多年,并且发现它非常可靠。在常见的使用场景中,例如撰写文章或书籍,参考文献目录最多包含几十个参考文献,因此该应用程序始终被证明是响应迅速的。

自定义是 Zotero 的另一个缺点。虽然该应用程序支持插件并提供基本的界面调整,但寻求更深入修改(例如创建自定义布局或高级自动化工作流程)的用户通常会遇到限制,这是因为核心元素的自定义选项不足。Zotero 的 API 并非旨在对用户界面进行重大更改。JavaScript API 主要侧重于处理用户库中的项目。

标签和组织系统本身不支持分层或 嵌套标签 ,这对于管理复杂、多维分类的用户来说可能是一个限制。同样,批量编辑功能受到界面设计的约束;某些操作(例如跨馆藏合并重复项或应用高级元数据转换)需要外部脚本或手动干预。

云存储选项很方便,但对于处理大型数据集(尤其是包含大量 PDF 或其他附件的数据集)的用户来说,会带来成本。用户必须在 Zotero 的专有服务、第三方 WebDAV 服务或运行自己的 WebDAV 服务器之间进行选择。

Zotero 对 JavaScript 的依赖给计算密集型任务带来了限制。例如,与用编译语言编写的工具相比,大型文档库的全文索引或批量元数据更新可能会更慢。

最后,虽然 Zotero 通过 CSL 支持引文样式,但样式的高级自定义需要手动编辑 XML 文件,这对于不熟悉技术的用户来说可能并不友好。对于具有现有样式未涵盖的特定格式需求的研究人员来说,这可能是一个重大障碍。与非标准文字处理器或 LaTeX 工作流程的集成(即使可能),也缺乏其主要竞争对手提供的原生修饰,需要用户依赖第三方工具或脚本。

开发

Zotero 的发布基于功能开发,而不是固定的时间表。当完成重大更改(例如新功能或架构更新)时,会引入主要版本。如有必要,会发布次要更新和补丁,以解决错误、保持兼容性或改进现有功能。遗憾的是,没有可用的官方开发路线图。但是,那些有兴趣贡献或只是好奇 Zotero 开发的人可以加入 Google Group 并关注 GitHub 上的讨论。开发过程以技术要求和用户反馈为指导。

自从 7.0 版本发布以来,社区不再为 6.x 系列提供更新。Zotero 为有兴趣在稳定版本中发布之前测试即将推出的功能和改进的用户提供 beta builds(测试版本) 。这些测试版本目前是从 Zotero 7.1 的开发线构建的。此外,Zotero 还提供适用于 Firefox 和 Safari 等浏览器的连接器的测试版本,允许用户测试特定于连接器的功能。

结论

Zotero 是一款用于管理书目数据和集成研究工作流程的有用工具。一些简单的配置步骤就足以满足许多专业人士的需求,包括从事科学论文的学术研究人员、为杂志撰写文章的记者以及希望起草技术书籍的任何人。其开源基础、广泛的功能和跨平台功能使其成为高级用户的合适选择。然而,大数据集的性能限制以及受限的自定义选项是需要改进的领域。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值