最近我vim-latex
在gVim
. 我使用便携式MiKTeX
将文档编译tex
成pdf
文档。到目前为止,我已经使用命令提示符来编译 tex 文件。安装vim-latex
插件后,我发现Tex-Suite>Compile
菜单下有一个编译选项。但是点击它没有任何作用。那么如何配置 vim-latex 以使用便携式 MiKTeX 编译器?
2 回答
你需要在 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 文件的目录中。
最初的谷歌搜索让我看到这个链接: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 了 :)