更新

更新

我正在使用 vim 和 latex-suite 来编译为 pdf。

filename.tex 中的内容如下:

\usepackage{asymptote}
...
\begin{asy}
...
\end{asy}
...

生成了文件 filename-1.asy(并且日志警告找不到 filename-1.tex),但是我无法弄清楚如何向 latex-suite 添加编译器规则,以便同时编译工作目录中与 filename-*.asy 和 asymptote 匹配的任何内容。

有谁知道如何设置它以便使用 \ll 自动编译渐近线文件?

更新

正如 Marijn 的回答一样,Tex_CompileRule_ 正是我所缺少的。

以下是所要求的完整 MWE:

测试.tex:

\documentclass{article}
\usepackage{asymptote}
\begin{document}
\begin{asy}
    settings.outformat = "pdf";
    label("Hello world!");
\end{asy}
\end{document}

〜/ .vim / ftplugin / tex.vim:

let g:Tex_DefaultTargetFormat = 'pdf'
let g:Tex_MultipleCompileFormats='pdf, aux'
let g:Tex_CompileRule_asy = 'asy %:r-*.asy'
let g:Tex_FormatDependency_pdf = 'asy,pdf'

答案1

您需要添加编译规则和依赖项~/.vim/ftplugin/tex.vim(假设是 Linux)。此文件可能不存在,在这种情况下您应该创建它。任何其他latex-suite可以找到的配置文件也可能有效。添加以下内容:

let g:Tex_CompileRule_asy = 'asy %:r-*.asy'
let g:Tex_FormatDependency_pdf = 'asy,pdf'

您也可以选择添加一些规则以方便处理:

let g:Tex_DefaultTargetFormat = 'pdf'
let g:Tex_ViewRule_asy = 'evince -1'
let g:Tex_MultipleCompileFormats = 'pdf'

然后vim您可以编译以下MWE:

\documentclass{article}
\usepackage{asymptote}
\begin{document}
\begin{asy}
settings.outformat = "pdf";
label("Hello world!");
\end{asy}
\end{document}

可能您必须按\ll两次,因为latex-suite不明白 Asymptote 是否需要重新编译。

另外:请更新您的 MWE 以使其能够编译(替换/\作为开始)。

相关内容