如何配置vim-latex以使用便携式MiKTeX进行编译

时间:2013-12-15 13:38:15

标签: vim miktex

最近我在vim-latex安装了gVim插件。我使用可移植的MiKTeXtex文档编译成pdf个文档。直到现在,我已经使用命令提示符来编译tex文件。安装vim-latex插件后,我发现Tex-Suite>Compile菜单下有一个编译选项。但点击它不会做任何事情。 那么如何配置vim-latex以使用便携式MiKTeX编译器呢?

2 个答案:

答案 0 :(得分:1)

您需要在vim中设置一些变量来配置vim-latex。

这个设置您要导出tex文件的顺序:

let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf'

请注意,它会将* .tex转换为* .dvi,然后将* .dvi转换为* .ps,然后将* .ps转换为* .pdf。

您需要设置的下一个是vim-latex的编译规则。这些规则中的每一个都定义了用于编译每个输出文件的程序(和参数):

let g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*'
let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'

当您从* .tex转换为* .dvi时,vim-latex将使用'latex'命令。然后,当它从* .dvi转换为* .ps时,它将使用dvips。最后,它将使用ps2pdf将* .ps转换为* .pdf。

看起来MikTex的可执行文件名为“latex”,因此您可以使用上述设置。请确保您的系统上安装了“dvips”和“ps2pdf”。

输出* .pdf文件将位于包含源* .tex文件的目录中。

答案 1 :(得分:0)

首次使用Google搜索链接:http://vim-latex.sourceforge.net/documentation/latex-suite/customizing-compiling.html#Tex_CompileRule_format。但是,我找不到任何实际配置此变量的线索。但最后我找到了位置。对于我的情况,它是

C:\Program Files (x86)\Vim\vimfiles\ftplugin\latex-suite\texrc

texrc 文件包含链接中描述的所有变量。正如我在我的问题中所说,我使用miktex portable所以首先我需要更改编译器。所以我在文件中搜索g:Tex_CompileRule_pdf并找到了这一行

TexLet g:Tex_CompileRule_pdf = 'pdflatex -interaction=nonstopmode $*'

所以,我刚用完整路径替换pdflatex

TexLet g:Tex_CompileRule_pdf = 'E:\full\path\of\miktex\pdflatex -interaction=nonstopmode $*'

需要更改的下一件事是告诉vim-latex默认使用pdflatex进行编译。所以,我在文件中搜索了g:Tex_DefaultTargetFormat变量并找到了这一行

if has('macunix')
    TexLet g:Tex_DefaultTargetFormat = 'pdf'
else
    TexLet g:Tex_DefaultTargetFormat = 'dvi'
endif

无需保留所有这些检查。所以我评论了大部分内容

"if has('macunix')
    TexLet g:Tex_DefaultTargetFormat = 'pdf'
"else
"   TexLet g:Tex_DefaultTargetFormat = 'dvi'
"endif

在此之后,vim-latex能够编译我的文件。但观众没有工作。所以,需要做出更多改变。搜索g:Tex_ViewRule_ps并将if has('win32')下的行更改为这样。

if has('win32')
    TexLet g:Tex_ViewRule_ps = 'gsview32'
    TexLet g:Tex_ViewRule_pdf = 'E:\Share\PortableApps\SumatraPDF-2.4\SumatraPDF.exe'
    TexLet g:Tex_ViewRule_dvi = 'yap -1'

我必须使用SumatraPDF因为某些原因导致Adobe Reader 11错误Unable to find the file。但是Sumatra并没有那么糟糕。现在我可以安心使用vim-latex:)