Как было предложено здесь, latexmk - это удобный способ постоянно компилировать ваш документ при каждом изменении источника. Но часто, когда вы работаете над документом, вы получите ошибки, а затем latex будет паниковать и ждать ввода пользователя перед продолжением. Это может стать очень раздражающим, особенно недавно, когда я взломал что-то, чтобы скомпилировать latex непосредственно из документа etherpad, который сохраняется непрерывно, как вы печатаете.
Есть ли параметр для latex или latexmk, чтобы он просто прерывался с сообщением об ошибке, если он не может скомпилировать? Или, если необходимо, как мне настроить какой-то Expect script для автоматического отклонения жалоб LaTeX?
(Я думал, что pdflatex опция -halt-on-error выполнит трюк, но, по-видимому, нет.)
Бонусный вопрос: Skim на Mac OSX - хороший просмотрщик PDF, который автоматически восстанавливается при изменении PDF (в отличие от Preview), за исключением того, что всякий раз, когда возникает латексная ошибка, вы подтверждаете, что хотите автовосстановить. У Texniscope нет этой проблемы, но мне пришлось отказаться от Texniscope для других причин. Есть ли способ сделать Skim всегда autorefresh, или есть ли другой зритель, который получает это право?
ADDED: мини-учебник по latexmk на основе ответа на этот вопрос:
-
Получить
latexmkздесь: http://www.phys.psu.edu/~collins/software/latexmk-jcc/ -
Добавьте в свой
~/.latexmkrcфайл следующее:$pdflatex = 'pdflatex -interaction=nonstopmode';(для OS X с Skim)
$pdf_previewer = "open -a /Applications/Skim.app"; -
При редактировании исходного файла
foo.texзапустите в терминале следующее:latexmk -pvc -pdf foo.tex -
Используйте Skim или другой просмотрщик в режиме реального времени для просмотра foo.pdf. Для Skim просто просмотрите вкладку "Синхронизация" в настройках Skims и настройте ее для своего редактора.
Voila! Нажатие save foo.tex теперь вызывает foo.pdf для обновления, не касаясь вещи.