В чем разница между латексом и резиной?

В чем разница между латексом и резиной?

Я просто наткнулся на этозапись в блоге оrubberи подумал: "Разве это не то же самое, что и latexmkделает?". Так вот, теперь я задаюсь вопросом: не так ли? Или есть какие-то различия?

решение1

Похоже, что резина обладает следующими характеристиками, которые (пока?) не предлагает latexmk:

  1. Резинаанализирует файл журнала LaTeX, фильтрует его и красиво печатает только "релевантные" сообщения (предупреждения, ошибки). Rubber всегда запускает LaTeX внеинтерактивный режим, в то время как latexmk, похоже, требует дополнительных переключателей или настройки.
  2. С резиной вы можете иметьПараметры конфигурации в виде комментариев в исходном коде LaTeX; latexmk требует вспомогательные файлы конфигурации.
  3. Самое главное, резина позволяет вам указать правильные значенияTEXINPUTS, BIBINPUTS, BSTINPUTS и т. д.для каждого документа, использующего вышеупомянутые параметры конфигурации; latexmk, по-видимому, ожидает, что эти переменные среды уже определены соответствующим образом.

Конечно, многие из этих проблем можно обойти с помощью некоторых скриптов-оберток и вспомогательных файлов. И, очевидно, есть много возможностей latexmk, которые не предлагает rubber.

решение2

Одно важное преимущество latexmk перед rubber заключается в том, что latexmk обнаруживает зависимые файлы гораздо надежнее. Насколько мне удалось выяснить, rubber определяет зависимые файлы, анализируя файл tex, ища макросы , \inputи \include. \includegraphicsНо если эти макросы спрятаны внутри другого макроса, rubber не обнаруживает зависимые файлы правильно. Например, если у вас есть

\newcommand\try[1]{\input{#1}}
\try{sub}

Rubber не определит, что sub.texэто зависимый файл. Таким образом, если файл sub.texизменится, Rubber не определит, что компиляцию нужно запустить снова.

Вместо этого Latexmk анализирует файл журнала и использует -recorderопцию ( pdf) latexдля определения зависимых файлов.

решение3

Latexmk также имеет функцию автоматического предварительного просмотра, которая перекомпилирует (умно) PDF-файл сразу после сохранения tex.

Существуют также более продвинутые функции, например, тесная интеграция с make-файлами.

Связанный контент