直到最近,我的主要设备运行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),安装了gvim
(VIM 8.0.1415),texlive-most
(TeX Live 2017)和{{来自repo的1}}(1:1.9.0-2)包。我拼凑了一个新的vim-latexsuite
并包括上面的行,没有什么可以取消它们。我可以从运行Tex_CompileRule中定义的命令的命令行中成功编译(即.vimrc
)。我也可以通过运行xelatex --interaction=nonstopmode --shell-escape filename
从VIM编译。但是,:r! xelatex --interaction=nonstopmode --shell-escape filename
会执行\ll
,但会失败,因为我的pdflatex
文件包含行tex
。我需要它来运行\usepackage{fontspec}
。我xelatex
中有拼写错误吗?还有其他方法可以选择我的排版引擎吗?我错过了什么?
要明确的是,我已经重新启动了VIM,因为修改了Tex_CompileRule
并通过输入.vimrc
检查了CompileRule
是否已经处理,后者回复了所需的:echo Tex_CompileRule_pdf
语法对我。我看到一个帖子暗示我的xelatex
应该设置为tex_flavor
而不是xelatex
,但这会产生相同的结果。默认输出格式显然是PDF,或者它不会执行latex
。