Программа просмотра PDF, которая выполняет обновление в реальном времени PDF / не блокирует файл

Я работаю над латексным документом (с pdflatex, cygwin, acrobat reader) и устала от процесса создания и закрытия.

На osx с Preview У меня нет этой проблемы, так как я могу скомпилировать .tex файлы, в то время как полученный PDF открывается в программе просмотра (которая обновляется после процесса сборки).

Тогда как на Win7, с Acrobat Reader, мой pdflatex (tex-live 2012) жалуется, что это [...] can't write on file xxx.pdf. Я предполагаю, что читатель блокирует файл PDF.

Как эффективно создавать / редактировать файлы .tex на Win7? Я бы предпочел использовать make-файлы и текстовый редактор вместо среды сборки из латекса.

5 ответов

Решение

SumatraPDF может использоваться в вашем текущем рабочем процессе. Он не будет блокировать файл. Он также поддерживает синхронизацию между редактором и PDF-документом.

Начиная с 2017 года, Firefox/Chrome может выполнять свою работу. Firefox даже сохраняет текущую страницу после F5 - Обновить.

Хотя уже есть ответ, предоставляющий нативную неблокирующую программу чтения PDF окон, я следовал cygwin/xpdf подойти и взломать вместе небольшой сценарий.

Основано на xpdf"s -remote вариант, по которому можно перезагрузить уже открытый файл. Итак, нам нужно только определить, когда файл изменяется. Как нет родного inotify на окнах вам нужно установить inotify-win, который является C# программа.

Мой сценарий xpdf-f кажется, работает нормально, однако вы должны закрыть оба, xpdf и сценарий (через Strg+C) после просмотра PDF.

#!/bin/bash

if [[ "$1" = "" ]]; then
  echo Usage: $0 FILE
  exit 1
fi

if [[ ! -e "$1" ]]; then
  echo Error: File $1 does not exist.
  exit 2
fi

xpdf -remote filewatch "$1" &
XPDFPID=$!

while [[ -e /proc/$XPDFPID ]]; do
  inotifywait `dirname $1` | grep "MODIFY $1"
  [[ $? = 0 ]] && xpdf -remote filewatch -reload
done

Похоже, что Chrome не совсем то же самое, что программа просмотра PDF в Linux.

Хотя Chrome не блокирует файл, кажется, что он снова открывает его каждый раз, когда он изменяется. (Отображается с самого начала в новой вкладке.)

Оба основных дистрибутива TeX включают в себя встроенную комбинацию Editor Viewer, которая, естественно, не блокирует файл от собственных изменений.

Когда вы запускаете Windowstl-tray-menu.exeвы увидите опцию «Редактор». Аналогичный редактор с синхронизированной с PDFsync программой просмотра TeXworks Viewer включен в MiKTeX.

Если вы просто передадите TeXworks.exe PDF-файл, он откроется первым и откроет редактор только по запросу обратного (обратного) поиска.

Другие вопросы по тегам