Я использую 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
руководство).