Выполнить отдельную компиляцию латексных документов - PullRequest
5 голосов
/ 27 мая 2010

При компиляции латексных документов компилятор испускает много «объектных» файлов. Это загромождает каталоги, над которыми я работаю, и затрудняет использование VCS, например SVN. Когда я работаю с кодом C ++, у меня есть отдельные каталоги для кода и объектов, я могу запустить make в исходном каталоге, но файлы .o идут в каталог сборки.

Есть ли правильный способ выполнить эту отдельную компиляцию с латексными документами? Это можно сделать с помощью Makefiles или путем передачи опций в латексный компилятор?

Спасибо

Ответы [ 4 ]

4 голосов
/ 27 мая 2010

Вы можете использовать:

pdflatex --output-directory=tmp file.tex

и все файлы будут храниться в папке tmp (включая PDF).

Поскольку это не оптимальное решение, я создал свой собственный инструмент, pydflatex , который компилирует исходный код LaTeX, сохраняя вспомогательные файлы (используя вышеприведенный прием), и возвращает pdf обратно в текущий каталог, поэтому после компиляции в вашем каталоге есть только file.tex и file.pdf. Это очень хорошо работает с контролем версий.

2 голосов
/ 27 мая 2010

Я ничего не могу поделать с LaTeX (имея последнего пользователя серьезно 20 лет назад ;-), но для Subversion вы должны прочитать о свойстве svn: ignore - это облегчает задачу чтобы игнорировать файлы с расширениями, которые вы не хотите версии (объектные файлы, файлы байт-кода, которые Python может часто помещать в тот же каталог, что и исходные файлы, файлы резервных копий, используемые некоторыми текстовыми редакторами, & c).

0 голосов
/ 27 мая 2010

Два варианта, кроме вышеперечисленных.

  1. Использовать Lyx: он ищет отдельные файлы. Я думаю, что он копирует файл Latex в свой личный каталог и запускает на нем латекс. В любом случае в текущем каталоге ничего не создается.
  2. Используйте make-файл или одну из специальных программ Latex make, и ваши обычные цели запускаются make clean.
0 голосов
/ 27 мая 2010

Латекс генерирует временные файлы в каталоге, где находится основной документ. Если вы хотите, чтобы содержимое было размещено в другом месте, попробуйте использовать основной файл, как показано ниже.

\documentclass{article}
\input{src/maindocument.tex}

Используя этот метод, вы можете сохранить структуру каталогов, как показано ниже

/
    main.tex
    /src
         maindocument.tex
...