Автоматическое обновление предварительного просмотра Mac при изменении PDF файла
Я пишу LaTeX на машине Mac, используя Mac Preview.app для предварительного просмотра. После скомпилирования файла LaTeX:
- Preview.app не автообновляет,
- Когда я нажимаю окно предварительного просмотра, он обновляется, но переходит в начало документа.
Мне интересно, есть ли способ настроить его, чтобы
- Preview.app автоматически обновляется при изменении базового файла PDF,
- после обновления, Preview.app остается на той же странице.
Ответы
Ответ 1
Меня это раздражало, и (к сожалению) у меня есть только "взломанное" решение для вас.
Вы можете просмотреть PDF файл в режиме одной страницы (cmd 2
), чтобы оставаться на одной странице после набора.
Я надеюсь, что кто-то отправит постоянное решение, которое работает для непрерывной прокрутки.
Ответ 2
Я считаю, что есть несколько вариантов...
-
Установите Skim
, см. здесь.
-
Соберите что-нибудь самостоятельно, используя fswatch
, который вы можете установить с помощью homebrew
, чтобы обеспечить что-то похожее на Linux inotify
и установить, что запущенные файлы мониторинга, а когда они изменены, используйте некоторые Applecript для обновления Preview.
Он будет выглядеть примерно так:
fswatch -iI ./*.pdf | xargs -I{} ./RefreshPreview {}
и RefreshPreview
будут выглядеть следующим образом:
#!/bin/bash
osascript -e 'tell application "Preview" to quit'
sleep 1
open -a Preview "$1"
# If you don't want Preview to come forwards and get focus, use the following
# open -g -a Preview "$1"
Если вы не знакомы со сценарием, вам нужно сделать исполняемый файл script следующим образом в терминале
chmod +x RefreshPreview
Я только что нашел, что несколько более простой и элегантный script будет работать лучше:
#!/bin/bash
osascript<<EOF
tell application "Preview" to open POSIX file "$1"
EOF