(Vim+latex)如何使用 \ll 编译项目目录中的单个 tex 文件

(Vim+latex)如何使用 \ll 编译项目目录中的单个 tex 文件

我使用 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手动的)。

相关内容