直到最近,我的主要设备运行 Ubuntu (15.x) 和 VIM (7.x)、TeX Live (2016) 和vim-latex
. 由于我的所有文件都调用fontspec
,因此我~/.vimrc
包含以下几行:
filetype plugin on
let g:tex_flavor='latex'
let g:Tex_CompileRule_pdf = 'xelatex --interaction=nonstopmode --shell-escape $*'
允许我通过在正常模式下xelatex
键入从 VIM编译。\ll
这行得通。
我现在已经在新硬件上安装了 Arch(内核版本 4.14.7-1),安装了来自 repo 的gvim
(VIM 8.0.1415)、texlive-most
(TeX Live 2017) 和vim-latexsuite
(1:1.9.0-2) 包。我拼凑了一个新的.vimrc
并包含了上述行,没有任何东西可以取消它们。我可以从运行 Tex_CompileRule 中定义的命令的命令行成功编译(即xelatex --interaction=nonstopmode --shell-escape filename
)。我也可以通过运行从 VIM 编译:r! xelatex --interaction=nonstopmode --shell-escape filename
。但是,改为\ll
执行pdflatex
,因为我的tex
文件包含行而失败\usepackage{fontspec}
。我需要它运行xelatex
。我的有错字Tex_CompileRule
吗?还有其他方法可以选择我的排版引擎吗?我错过了什么?
需要明确的是,我在修改后重新启动了 VIM,.vimrc
并检查了CompileRule
是否已通过输入 进行处理,这与我想要的语法:echo Tex_CompileRule_pdf
相呼应。xelatex
我看到一个线程建议 mytex_flavor
应该设置为xelatex
而不是latex
,但这会产生相同的结果。默认输出格式显然是 PDF,否则不会执行pdflatex
.