打开 pdfevince
并对该文档进行更改(在 LaTeX 中重新编译)后,evince
将自动刷新到该文档的最新版本。
mupdf
但是并没有这样做:它一直显示我最初打开的版本。可以使用该命令加载最新版本r
,但是有没有办法让其在这方面mupdf
表现得像呢?evince
说明书上没有提到这一点。
答案1
答案2
在 thrig 的答案中添加一点,这就是我想出的:
f=file.pdf; mupdf $f & while inotifywait -e close_write $f; do pkill -HUP mupdf; done
这将使用 mupdf 打开一个 pdf 文件,并在写入 pdf 时刷新。
使用inotify的想法来自这个答案
答案3
这是我的:
#!/usr/bin/fish
set f $argv[1]
mupdf $f &
set mu_pid $last_pid
while true
inotifywait --event close_write $f &
set in_pid $last_pid
wait --any $mu_pid $in_pid
if not jobs --query $mu_pid
exit 0
end
kill -HUP $mu_pid
end
它仅刷新文件实际更改的 mupdf 实例的特定 PID,而不是刷新所有实例。