(Vim+latex) Как скомпилировать один tex-файл в каталоге проекта с помощью \ll

(Vim+latex) Как скомпилировать один tex-файл в каталоге проекта с помощью \ll

Я использую Vim+latex. В моем каталоге проекта есть еще один отдельный файл tex (например, файл tikz/PGF для рисования фигуры). Когда я ввожу \ll, вместо компиляции моего текущего файла система компилирует файл проекта. Можно ли указать системе скомпилировать мой текущий файл?

Большое спасибо!

решение1

Некоторые могут посчитать это обходным решением, но я думаю, что это подойдет для ваших целей.Справочник LaTeX-Suite:

Каждый раз, когда LaTeX-Suite открывает новый файл LaTeX, он пытается определить, является ли он частью многофайлового проекта, выполняя поиск вверх (в корень файловой системы) от текущего каталога файла, чтобы найти файл в форме *.latexmain. Если такой файл найден, то считается, что текущий файл является частью более крупного проекта.

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

Итак, давайте назовем ваш основной документ mydoc.texи отдельный файл myfig.tex. Если вы настроите структуру каталогов следующим образом:

project-dir/
    mydoc.tex
    mydoc.latexmain
    myfig/
        myfig.tex
        myfig.latexmain
    myfiles/
        ch01.tex
        ch02.tex

все должно работать так, как вы хотите. Если myfig.texэто активный буфер и вы нажимаете \ll, LaTeX-Suite найдет myfig.latexmainи скомпилирует myfig.tex. Если mydoc.texэто активный буфер, mydoc.latexmainбудет найден и документ будет скомпилирован. Если что-либо в myfiles/это активный буфер, LaTeX-Suite не найдет *.latexmainфайлов в текущем каталоге и перейдет на один уровень вверх. Затем он найдет mydoc.latexmainи скомпилирует документ так, как нужно.

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

\includegraphics{myfig} 

чтобы включить скомпилированный вывод файла рисунка в ваш документ. Теперь вам нужно будет изменить его на относительный путь, поскольку файлы находятся в разных каталогах. Если графика включена из уровня project-dir/, используйте

\includegraphics{myfig/myfig}

или, если графика включена в myfiles/уровень, используйте

\includegraphics{../myfig/myfig}

для включения скомпилированного вывода.

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

Все это говорит о том, что если вам нужно сделать это для многих файлов с рисунками, структура каталогов может быстро стать слишком сложной. Возможно, лучше взглянуть на методы экстернализации TikZ (гл. 50 текущегоpgfруководство).

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