工作流严重依赖 emacs pdf-tools的出来交流下

自己是一个PHD candidate,经常和pdf打交道,每天要看很多的pdf论文。但是这个pdf-tools速度性能方面实在是卡的很,已经严重到使用体验很差的程度。如果pdf-tools速度方面提升很多的话,这个插件真的是一款pdf神器,给广大研究者带来的福音。但是现在这个插件貌似打开稍微大一点的pdf文件,还要等个几十秒钟,浏览过程中还是又一点卡顿,简直对于现在繁忙的人们不可忍受的。

4 个赞

你在什么OS下用?我在linux上用着还算马虎。 不过性能确实是有点问题。

我也是在Linux下使用这个软件,我的系统是Manjaro系统。这个插件和emacs搭配是比较好,感觉可以和其他很做emacs的插件整合道一起,方便一起工作。但是现在这个插件连最基本的浏览pdf都感觉道卡顿,严重影响自己的使用体验。我觉的一个软件哪怕功能在强大,在完美,如果老是卡顿,速度很慢,这个软件也是又问题的。唉。。。

1 个赞

解决方法有两种

  1. 配个牛逼的PC 我Ryzen 2700X + 16G 3200内存的PC跑起这个来比macbook 2015 late快很多很多
  2. 迁移工作流 这就要看你主要用些啥功能了 不如分享一下?

PS 用pdf-tools翻页的时候记得把evil mode切换成insert或者emacs mode 好像会快点

你说的 Evil-mode, 我在使用这个插件的时候已经把 evil-mode 关闭了。我的工作流主要是 科研方面的。首先,涉及的插件有 Latex-mode, magic-latex-model, org-ref, helm-bibtex, ivy-bibtex, pdf-tools, org-mode, Auctex.

(1) 参考文献管理。我的主力 插件是 Helm-bibtex. 这个插件实在是太好用了,对于参考文献的管理很强大。这个插件是 一整套的文献管理方案,大家感兴趣的可以自己谷歌看看。另外,自己也偶尔使用 Org-ref, 这个插件是卡内基梅陇大学一个化学教授维护的。此外,自己也会使用 Org-mode 在对自己的文献进行管理一次,在 org 中管理,主要是一些 org-mode 的特性使得搜索文件 很方便。

(2) pdf 阅读。这个现在在 Emacs 中我是使用 Pdf-tools 这个插件。主要是这个插 件可以和 Helm-bibtex, org-reg, org-mode 配合一些,感觉很方便自己对 pdf 文件的管理, 标注等管理起来。另外,我在 Manjaro 系统上也经常使用到的一个 pdf 阅读器是 Zathura, 自己也非常喜欢这个软件, vim 风格的按键,简洁的风格,参考的速度,也是我的主力 Pdf 阅读器了。Evince 这个也会偶尔使用下。

(3) 写 Latex 文档。这个是搞科研的人必备的一个技能。我使用的插件主要是 Latex-mode, bibtex-mode, Cdlatex-mode, magic-latex-buffer, Auctex. 书写 latex 文档,我看过很 多编辑器,比如 Ctex, 等,我觉得使用 Emacs 来写 Latex 是最好的解决方案。另外,可以 可一些插件结合起来,非常好用。比如:flyspell-mode (自动拼写检查), Yasnippet-mode (可以插入代码片断),youdao (可以在写 Latex 的时候在当前文档直接 翻译,不需要在切换到百度或者谷歌翻译了),等等。

(4) org-mode. 这个也太强大了。我现在科研方面的一切事物都是靠这个 org-mode 来管理 的。知识片断的捕获,idea 捕获,每天任务的管理,密码的管理,笔记的管理,制作一些 Presentation, 一些日常文档的书写 等等,可以说,我整个的科研都要靠 Org-mode 来组织 起来的。

17 个赞

看起来是个大拿呀,我们只是拿 pdf 看看文章 :joy:

楼主说了这么多,并没有说出怎么卡顿的(pdf文档有多大?进行哪个操作?按键用的什么?你的机器的配置?最好配上动图),你说的那些插件基本上用 emacs 的科研狗都知道的,没必要大力安利了。

  • 配置 我的 Emacs 版本是 27, 使用的是 Spacemacs 配置加上自己的一些配置。我的有关 pdf-view-mode 的配置可以看这里 dotfiles-manjaro/fg-pdf-tools.el at master · fu123456/dotfiles-manjaro · GitHub 另外还有一些配置是 Evil-collection-pdf 了,参看这里 https://github.com/emacs-evil/evil-collection/blob/master/evil-collection-pdf.el 这里的配置和 Evil-mode 兼容性比较好一些。
  • pdf 大小 这个不一定,一般来说肯定是文件越大这种卡顿的情况说严重,越小浏览越流畅。我平时看 的 pdf 大的有 50M+, 小的可以是几百 k, 大部分的大小在 5-9M 大小。但是浏览 pdf 的时候 会感觉到卡顿。这个插件我使用了大约半年以上,每天大量使用这个插件。这种卡顿我感觉 貌似没有什么规率,不知道什么时候抽风似的就又来了。我再使用过程中凡是容易产生 Hang Emacs 的操作我都尽量避免了。我总似感觉这是 Pdf-tools 插件自身的问题,性能问题,确 实捕拿么流畅。不知道你使用这个是否流畅,这种流畅可以和 Evince 这个软件比较。这两 者都是使用相同的后端,理论上来说速度应该差不多了,但是实际上 Evince 的响应速度还 是比这个插件快一些,这个仅仅似使用的体验。
  • 机器配置 Thinkpad T450, CPU i5, SSD Intel, 12G 内存 总的来说我的电脑配置应该还可以,基本满足自己平时的需求。
  • 操作 使用这个插件这个一些包绑定的快捷键,参考我的配置文件,这些快捷键我全部经常使用, 因为我使用这个插件实在太频繁了,打开 Emacs 就是浏览 pdf. 至于我按键是什么导致了这 种卡顿,这个好像并没有发现。之前使用发现使用鼠标可能导致卡顿,我现在基本上不在 Pdf-view-mode 下怎么使用鼠标了,除非到万不得已需要选中文本内容才会使用鼠标,平时 浏览 pdf 都是使用的纯键盘操作了。我的感觉或许这是这个插件自身的一些问题,性能问 题。
1 个赞

打开一个50M大小的pdf文件,cpu迅速从5%暴张到50%,笔记本风扇立马响了。此时,浏览的pdf会出现卡顿的情况。这种卡顿不是彻底卡死,你稍微等几秒钟在按下,还是又点反应的。

建议用 profiler 看一下出现卡顿是哪个命令/函数造成的,我用的电脑配置比你的要差,但是并没有频繁出现严重卡顿。也许是用它看 pdf 的时间没有你看的时间长。当然要想让它和 evince 比应该是不现实的,除非你改用懒猫的 eaf。

50M pdf 是有点大了,pdf 内容是扫描的图片?还是说图片比较多?

我看的论文pdf是图像方面的,不可避免里面有一些图标之类的。高清的论文pdf一般也得几十M,一般20~30M左右,一般论文都是这么个大小,除非是地分辨率的了。这个还是自己遇到的pdf大小。

linux 下 Zathura的相应速度是非常快的,即使是50M+大的pdf也是速度非常快,特别是放大,相应很快,这个在pdf-tools简直是灾难,一定严重卡顿。 下面的gif图片就是Zathura打开的。pdf-tools如果能达到这样就完美了。eaf虽然速度很快,但是我没有使用这个插件主要有两点原因:(1) 和evil-mode兼容性不那么好(2) 没有 pdf-tools 功能强大全面,eaf貌似只提供了浏览的功能,一些标注选中的功能都没有提供了,这个在使用使用过程中很操单啊。

如果图很多,标注又很多的话感觉你这种情况是可能的,可以考虑把 pdf 拆成几部分,分别打开

按论文的章节,每一章/小节或者每几章一个 pdf 文件

另外不要同时打开多个 pdf 文档

恩,也是没有办法的办法了。一个拆分,这个对自己不太显示,我的paper都是一个十几页左右的论文,拆开太麻烦。另外自己一般不太会打开过多的pdf,一般除非写论文的时候需要调动那么多的论文,才回打开很多的pdf,平时一般自己工作也就打开七八的pdf。

这个你平时都是怎么来管理自己的参考文献的,这个对于科研狗确实比较关注的一个事情。

我给helm-bibtex打call!(同时给PhD candidate疯狂打call!)

之前就听到有关pdf-tools慢的情况,我在linux浏览30M左右大约400页的pdf,是没有问题的。至于再大点的pdf文档,我手上还真没有。

实在不行就先用别的软件打开太大的pdf文件吧。批注是可以被通用识别的(文字框的不可以),回头再用Org-noter抽到org。我在没emacs的电脑上看pdf是这波操作。

重要的pdf文献同步到网盘,尽可能抽时间看。赶dealine的时候,根本顾不上是什么工具了……我的pdf和bibtex文件是分开放在不同的文件夹里,不过pdf文件名是和bibtex的key一样的,所以找起来也方便。

1 个赞

我现在是使用Helm-bibtex 来进行管理自己的参考文献。如果太大的文件我一般使用Zathura 来打开文件了。你说的org-noter之前一直听说,被来想使用下,不过helm-bibtex 已经集成了笔记功能了。

pdf的话 感觉 llpp 比 zathura 强 https://repo.or.cz/w/llpp.git

2 个赞

没查到manual,一些使用教程?

https://wiki.archlinux.org/index.php/Llpp