使用 Sioyek

摘要

本文介绍Sioyek,一款专注于科研的PDF阅读器。

https://github.com/ahrm/sioyek

Sioyek is a PDF viewer with a focus on textbooks and research papers.

引言

PDF阅读器对于一名科研牛马而言非常重要,尤其是当他每天都要面对数不清的论文时。在 Ubuntu 使用 PDF 那篇文章中,我调研了网上能够找到的常用的PDF阅读器(编辑器)。于我而言,PDF阅读器不需要具备很强的编辑能力,偏颇一点,我甚至认为PDF本身的属性就不太适合编辑。在我阅读论文时,常用的功能如下:

  • 简单注释(即不同颜色高亮)
  • 预览链接

在阅读时,我往往会用不同颜色的高亮标记出文章重要的句子和单词,这可以便于下次阅读时抓住重点。而预览链接可以帮助我们在不打断原有的思路情况下了解链接内容。从原位置被迫跳转到引用位置,再往回翻到原位置将是一件非常痛苦的事。简单注释功能相对常见,在多数PDF阅读器例如Edge、Okular都有实现。然而预览链接功能则相对罕见,据我所知,仅有Evince和Obsidian上有所实现。对于我而言,Evince的简单注释功能非常贫瘠(仅有黄色高亮),而Obsidian又过于复杂(对我这个渣渣不友好)。

而Sioyek能够满足上述的要求(好吧,笔主能力一般,却热衷于各种工具。。。)。第一次了解到它是来自于豆包的推荐(绝对是有动机的,但的确是没料到的)。第二次遇到它,则是在 A PDF reader with preview when hovering over link (like in Obsidian)?

安装

我的系统是Ubuntu 24.04。

进入https://sioyek.info/,左上角有一个大大的Download。如果使用便携版本Sioyek-x86_64.AppImage,则需要安装FUSE(见 Can’t run an AppImage on Ubuntu 20.04)。

sudo apt install libfuse2

然后根据 Ubuntu 通过 ssh 传输文件 这篇文章的方法制作Desktop。事实上,在 https://github.com/ahrm/sioyek/tree/main/resources ,我们可以找到图标和.desktop。因此修改为自己的路径即可。

sudo ln -s /home/moon/Tools/Sioyek/Sioyek-x86_64.AppImage /usr/local/bin/sioyek

使用

接下来,我们根据官方提供的 tutorial.pdf,学习如何使用 Sioyek。我感觉和Edge这样的可见即可用的方式相比,Sioyek还是有点复杂,好比 vim 和 gedit。

(1)打开文件
打开文件(open),按 oshift+o。注意这是 o 不是 .,也不是 0 (没错,说的就是我自己)。
(2)打开目录

直接按 t 打开目录(table of content)。

(2) 搜索
搜索。按 ctrl+f 进行搜索。不过需要注意,这里使用 nshift+n 表示下一个和上一个搜索结果(n表示next)。这个和 vim 有点类似。

(3)高亮

添加高亮:选择文本,然后按 h+任意的一个小写字母,h表示highlight,这个小写字母决定了高亮的颜色。颜色定义在 prefs.config。目前我还没找到 prefs.config 这个文件,不过根据多年牛马经验,我猜测 hr 表示红色高亮(red),hg 表示绿色高亮(green),hb 表示蓝色高亮(blue),hy 表示黄色高亮(yellow)。这些颜色基本够用了,后续有时间我再研究下具体设置。

删除高亮:只需要选中高亮,然后按 dh (delete highlight)就可以。

Sioyek的一个非常重要的特征是所添加的高亮和书签并非被嵌入到原始PDF,而是保存在shared.db(一个sqlite数据库中)。这点与传统的PDF阅读器不同,我们暂且搁置不谈优劣——后续应该会继续研究下,该方式下的注释是否具备迁移性值得进一步探索。见 prefs.config location and where u save hightlight? 。所幸,作者也提供了一个命令让我们能够把数据潜入到原始PDF中,即 embed_annotations。关于如何使用命令,见(4)。

(4)命令

命令功能使得它具备更多拓展功能。这里我们以上述的 embed_annotations 为例。

在需要保存注释的PDF页面,输入 : ,然后输入 embed_annotations,再输入文件名,保存即可。

(5)数据迁移

在文档中 https://sioyek-documentation.readthedocs.io/en/latest/usage.html#data-and-synchronization ,可以看到如下内容。

Sioyek stores your data in two database files named local.db and shared.db. As the name suggests, local.db stores system-specific data (for example the location of PDF files in your filesystem) while shared.db stores all other data including marks, bookmarks, portals, etc.

这种存储方式是否能够方便快捷地迁移值得进一步探索。所幸,作者提供了很多接口。这里我暂时搁置,后续再探索下。

(5)兼容性

https://github.com/ahrm/sioyek/issues/160

Sioyek和其它软件的兼容性也值得进一步探索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值