Как было предложено здесь, 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
для обновления, не касаясь вещи.