Estou usando Vim + látex. No diretório do meu projeto, tenho outro arquivo tex separado (por exemplo, um arquivo tikz/PGF para desenhar uma figura). Quando eu insiro \ll, em vez de compilar meu arquivo atual, o sistema compila o arquivo do projeto. É possível dizer ao sistema para compilar meu arquivo atual?
Muito obrigado!
Responder1
Isso pode ser considerado uma solução alternativa para alguns, mas acho que funcionará para seus propósitos. DeReferência do LaTeX Suite:
Cada vez que o LaTeX-Suite abre um novo arquivo LaTeX, ele tentará ver se ele faz parte de um projeto de vários arquivos pesquisando para cima (até a raiz do sistema de arquivos) a partir do diretório do arquivo atual para ver se encontra um arquivo do formato *.latexmain. Se tal arquivo for encontrado, considera-se que o arquivo atual faz parte de um projeto maior.
O que isso significa é que você pode ter vários *.latexmain
arquivos por projeto, desde que estejam em níveis de diretório diferentes.
Então, vamos chamar seu documento principal mydoc.tex
e o arquivo separado myfig.tex
. Se você configurar a estrutura de diretórios da seguinte maneira:
project-dir/
mydoc.tex
mydoc.latexmain
myfig/
myfig.tex
myfig.latexmain
myfiles/
ch01.tex
ch02.tex
tudo deve funcionar como você deseja. Se myfig.tex
for o buffer ativo e você pressionar \ll
, o LaTeX-Suite irá encontrar myfig.latexmain
e compilar myfig.tex
. Se mydoc.tex
for o buffer ativo, mydoc.latexmain
será encontrado e o documento será compilado. Se alguma coisa myfiles/
estiver no buffer ativo, o LaTeX-Suite não encontrará nenhum *.latexmain
arquivo no diretório atual e subirá um nível. Em seguida, ele encontrará mydoc.latexmain
e compilará o documento conforme desejado.
A única outra alteração estará nos arquivos que contêm a fonte do texto do seu documento. Presumo que você esteja usando
\includegraphics{myfig}
para incluir a saída compilada do arquivo de figura em seu documento. Você precisará alterar isso para um caminho relativo agora que os arquivos estão em diretórios diferentes. Se o gráfico for incluído a partir do project-dir/
nível, use
\includegraphics{myfig/myfig}
ou, se o gráfico estiver incluído no myfiles/
nível, use
\includegraphics{../myfig/myfig}
para incluir a saída compilada.
Esta abordagem também pode ser estendida a vários arquivos de figuras: basta introduzir outro diretório para cada figura, de modo que o apropriado *.latexmain
seja sempre encontrado primeiro durante a travessia ascendente da árvore de diretórios.
Dito isso, se você precisar fazer isso para muitos arquivos de figura, a estrutura de diretórios poderá ficar excessivamente complexa rapidamente. Talvez seja melhor dar uma olhada nos métodos de externalização do TikZ (Cap. 50 do atualpgf
manual).