VimでLaTeX使おう!
Vimでレポート書きたい
最近、大学の実験レポートをLaTeXで書いているのですが、TexShopは微妙...やっぱりエディタはVimで書きたいですよね?
だからといって、コンパイルのたびにターミナル立ち上げてplatexしてからdvipdfmxするのも面倒だし、式番号を使うたびに複数回コンパイルするのも無駄。Vimを使ってるなら定番のQuickrunを使って<leader>+rで自動コンパイルを走らせたい。
というわけで、Vimで良い感じにコンパイルしてpdfファイルを生成してくれるように設定しました。
VimでLaTeXを扱うプラグインって言ったら、vim-latexらしいんですがプラグインがあまりに巨大プラグインでカスタマイズしづらかったのでVim+Quickrunでやりました。(´ω`)
latexmkの設定
texファイルからpdfを良い感じに生成するために、latexmkを使います。
latexmkはTeXの複数回コンパイルを自動で処理してくれるperlのスクリプトで、TeXLiveとかでMacにLaTeXをインストールするともれなく付いてくる。
latexmkを設定するには、.latexmkrcファイルを作業したいディレクトリごとに置くか、ホームディレクトリに置くからしいのですが、毎回置くのも大変なのでホームディレクトリに置きました。
下記の内容を記載したテキストファイルをホームディレクトリに.latexmkrcとして保存しました。
#!/usr/bin/perl $latex = 'platex -synctex=1 %O %S'; $bibtex = 'pbibtex %O %B'; $dvipdf = 'dvipdfmx %O %S'; $pdf_mode = 3; # use dvipdf $pdf_update_command = 'open -a /Applications/Skim.app %S';
PDFビューワとして、Skimを使っているので最後にSkimで開くように設定していますが、Skimを使いたくない人はPreviewとかに設定したら良いと思います。Skim使うと更新時に自動でリロードしてくれるので僕はSkim使ってます。
これで、ターミナルからlatexmkコマンドを叩くと複数回コンパイル等を自動で処理してくれるようになったのですが、Quickrunから使えないので、引き続きQuickrunの設定をします。
Vim-Quickrunの設定
Quickrunの設定のため、.vimrcに以下の内容を追加しました。
let g:quickrun_config = { \ "_" :{ \ "runner" : "vimproc", \ "runner/vimproc/updatetime" : 60 \ }, \ "tex" : { \ 'command' : 'latexmk', \ "outputter/buffer/split" : ":botright 8sp", \ 'outputter/error/error' : 'quickfix', \ 'hook/cd/directory': '%S:h', \ 'exec': '%c %s' \ }, \}
texファイルがあるフォルダにpdfファイルを生成したかったので、hook/cd/directoryでtexファイルを保存しているディレクトリでlatexmkを実行するように設定しています。
これを設定しとかないと、ホームディレクトリにdviファイルとかpdfファイルが生成されることになります。
あとは、TeXでレポートを書いて<leader>+rでコンパイルするだけ!vimprocで非同期実行されるのでコンパイル中もvimが固まることは無いので良い感じです。これにgitを組み合わせたら、バージョン管理しながらVimでレポートが書けますね!ヾ(・ω・)ノ