2013-03-16 38 views
3

編輯我的LaTeX文件時使用llpp pdf查看器。爲了讓我在編譯時自動刷新pdf文件,我使用了一個包裝來啓動它(參見this)。在編輯乳膠文件時自動重新加載pdf查看器

部件處理的等待和耳目一新的是這一個:

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

我的問題是:每當在TEX文件的編譯出現錯誤,不PDF輸出procuded和llpp正在縮小。我想類似的東西:

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

它的工作原理部分:在編譯過程中出現錯誤,llpp關不上,但不會再刷新......

誰能幫我解決這個問題?

+0

我已經使出了Evince使用,它會自動刷新。儘管如此,llpp呈現出令人難以置信的更好。 – djeikyb 2013-04-04 22:12:15

+0

我建議使用texniccenter作爲乳膠編輯器,然後按CTRL-F5進行刷新。 – Veridian 2013-08-13 15:36:10

回答

1

我推了部分修復您的問題(完整的腳本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)