llpp

出自 ArchWiki

llpp 是一个轻量级、快速且功能丰富的 PDF、EPUB、XPS 和 CBZ 查看器,基于 MuPDF

安装

安装 llppAUR 或(静态构建) llpp-gitAUR 软件包。

用法

llpp 使用键盘快捷键和鼠标在文档中导航。默认情况下,按下 F1h 将会显示帮助页面,其中描述了所有其他按键绑定。

查看以下页面以获取 完整帮助文本

配置

llpp 使用配置文件来存储设置:$XDG_CONFIG_HOME/llpp.conf~/.config/llpp.conf。此文件存储以下内容

  1. 应用程序默认设置。
  2. 按文件区分的用户偏好设置(例如,上次查看的页面)。

每个文档的选项

按下 i 将进入信息模式,您可以在其中检查和修改当前文档的显示设置。

或者,按下 -X(其中 X 是帮助屏幕中显示的可调整选项之一)允许您直接设置单个设置。

UI 字体

可以通过在配置中指示大小和文件名来设置 llpp 使用的字体。例如

<llppconfig>
  <ui-font size='16'><![CDATA[/usr/share/fonts/TTF/DejaVuSansMono.ttf]]></ui-font>
  <defaults ... >
  ...
  </defaults>
</llppconfig>

自定义快捷键绑定

可以配置快捷键绑定。例如,要禁用 Esc 退出 llpp,请在 defaults 标签之间添加 keymap 元素,如下所示

<llppconfig>
  <defaults ... >
    <keymap mode='view'>
      <map in='esc' out=/>
    </keymap>
  </defaults>
</llppconfig>

更多示例可以在 llpp 的示例文件 keys.txt 中找到。对于类似 vi 的快捷键绑定,请参见 此示例

提示: 可以为特定模式设置绑定,包括 birdseyeglobalhelpinfolistviewoutlineview。示例 此处

将注释保存到 PDF

您可以通过在按住 Shift 的同时单击鼠标右键来注释 PDF 文件。要允许保存注释,请添加

savepath-command='echo %s'

到您的 llpp.conf。在注释文件后,按 w 保存更改。这会将当前 PDF 文件路径 echosavepath-command 选项。

在 Web 浏览器中打开链接

默认情况下,llpp 不会在默认浏览器中打开链接。llpp.conf 中的 uri-launcher 选项负责处理此操作。要在默认 Web 浏览器中打开链接,请将其设置为

uri-launcher='xdg-open "%s"'

技巧和窍门

重新加载文件

可以通过三种方式重新加载文档

  • 按下 r
  • 向 llpp 进程发送 HUP 信号
$ killall -SIGHUP llpp
  • 使用“远程”接口(见下文)

多列

对于并排双页查看,请按 -C2(或在信息模式下将 columns 设置为 2)。

如果页面偏移错误(左侧页面显示在右侧),请将列设置为 2,1,0

llpp 的一个独特功能是能够通过将列设置为 -2 来在中间拆分单个页面。使用 -3 拆分 3 列文档。

远程接口

以下命令将设置远程接口并使用它来重新加载文件“image.pdf”。

$ mkfifo /tmp/llpp.remote
$ llpp -remote /tmp/llpp.remote image.pdf & disown
$ sleep 1
$ echo reload >/tmp/llpp.remote

有八个远程命令

  • reload - 重新加载
  • quit - 退出
  • goto <页码> <x 坐标> <y 坐标> - 跳转到
  • goto1 <页码> <相对 y 坐标> - 跳转到
  • gotor <文件名> <页码> - 跳转到其他文档
  • gotord <文件名> <远程目标> - 跳转到其他文档中的命名目标
  • rect <页码> <颜色> <x0> <y0> <x1> <y1> - 绘制矩形
  • activatewin - 提升并切换到 llpp 的窗口

使用 Synctex 和 Vim/Emacs 的反向搜索

要使用 llpp 的 synctex 功能,请将以下行添加到您的 ~/.config/llpp.conf 中的 defaults 标签下

<defaults
    ...
    synctex-command='SyncTeX-inverse.sh'
    ...>
    ...
</defaults>

其中 SyncTeX-inverse.sh 是以下脚本

#!/bin/bash
pdf_file=$1
page=$(($2 + 1)) # The page number star at zero in llpp
x=$3
y=$4

# for vim
synctex edit -o "$page:$x:$y:$pdf_file" \
       -x "gvim --servername synctex --remote-wait-silent +%{line} '%{input}'"

# for emacs
# synctex edit -o "$page:$x:$y:$pdf_file" -x "emacsclient +%{line} '%{input}'" 

确保 SyncTeX-inverse.sh 是一个可执行脚本,并将其添加到您的 PATH 环境变量中。要使用 synctex 命令,您需要来自 Arch 官方仓库的 texlive-bin 软件包。

参见