编辑乳胶文件时自动重新加载pdf查看器

问题描述 投票:3回答:1

编辑我的LaTeX文件时,我使用llpp pdf查看器。为了让我在编译时自动刷新pdf文件,我使用包装器来启动它(参见this)。

处理等待和刷新的部分是这样的:

inotifywait -m -e close_write $1 | while read; do
    kill -HUP $pid_llpp
done &

我的问题如下:每当tex文件的编译中发生错误时,都不会生成pdf输出并且llpp正在关闭。我试过这样的事情:

inotifywait -m -e close_write $1 | while read; do
    if [ -a $1 ]
    then
        kill -HUP $pid_llpp
    fi
done &

它部分工作:当编译期间发生错误时,llpp不会关闭但不再刷新...

任何人都可以帮我解决这个问题吗?

pdf latex inotifywait
1个回答
1
投票

更新:自发布v26以来,llpp以精美的版本发布包装脚本!你在llpp发行版中发现它是misc / llpp.inotify。


我推动部分修复您的问题(完整脚本here):

inotifywait -m -e close_write "$PWD" | while read dir ev file; do
if [ "$file" = "$pdf" ] && [ -e "$pdf" ]; then
    kill -HUP $pid_llpp
fi
done &

这将检查当前的pdf文件是否仍然可用,然后才会触发更新事件。这与您所做的类似。但是我仍然可以看到llpp将关闭,因为文件可能会在检查后直接消失。我不知道如何解决这个问题。

通过观察包含pdf的文件夹并过滤掉pdf的事件,解决了错误修复后不刷新的问题。如果直接在文件上调用inotify,它似乎会错过delete之后的所有事件。

如果您仍然对它感兴趣,请告诉我它是否适合您。

(作为旁注:包装器现在也能够将标志传递给llpp)

© www.soinside.com 2019 - 2024. All rights reserved.