以前からLaTeXの執筆にはvimtexを使っていたのですが、2017年4月頃にアップデートしたらコンパイルできなくなったので原因を探ったときのメモ。
なお、「latexmkでコンパイルはできる」ことが前提です。
環境
uplatex --version #e-upTeX 3.14159265-p3.7-u1.21-160201-2.6 (utf8.uptex) (TeX Live 2016/Arch Linux) #kpathsea version 6.2.2 #ptexenc version 1.3.4
以下のコンパイルには、uplatexを使っているがplatexでも同じはず。
原因と解決策
vimtexのhelpを読んだら解決した。
2017年3月28日のアップデートで、vimtexに、g:vimtex_compiler_latexmkというオプションが追加されたことが原因。これは、latexmkに渡す値を制御しているらしい。デフォルトではpdflatexを使ってコンパイルするように設定されており、しかも、ここで設定された値は.latexmkの設定を上書きしてしまう。結果として、「latexmkでコンパイルできるのに、vimtexからはコンパイルできない」という状況が生まれた模様。
よって解決策は、init.vim(.vimrc)に下記を追加すること。
let g:vimtex_compiler_latexmk = { \ 'background' : 0, \ 'build_dir' : '', \ 'continuous' : 1, \ 'options' : [ \ '-pdfdvi', \ '-verbose', \ '-file-line-error', \ '-synctex=1', \ '-interaction=nonstopmode', \ ], \}
optisonsの”-pdfdvi”が肝心で、デフォルトではここが”-pdf”になっている。