latexmkとquickrun.vimを使ってVimでLaTeXを書く。

先日TeXShopの記事(TeXShopのSolarize_darkカラースキーマ - Dimension Planet Adventure 最終章 最終話『栄光なる未来』)を書きましたが、 やはりVimを使いたいということで、 やはりVimしかないということで、 VimTeXを書く環境を整えましょう。 Vim+Texといえば、vim-latexというプラグインもあります。 が、何故か僕の環境では動かず、そして大きいプラグインでよくわかんなかったので 使い慣れたquickrun.vimと、latexmkを使いました。

latexmk

latexmkというのは、おおざっぱにいえば.texから.pdfまでのコンパイルを一回で行ってくれるPerlスクリプトです。 僕はMacTeXをHomebrewからインストールしたので、既に入っているものとして進めます。 latexmkの設定ファイルである.latexmkrcを、以下のように書きました。 これを、.texと同じディレクトリか、ホームディレクトリに置きましょう。

gist001fd055c466b6606290

quickrun.vim

quickrun.vimは、vimからプログラムをコンパイルして実行してくれるvimプラグインです。 詳しい解説は各Vimmerの方々のブログを参照してください。

NeoBundleなどを使ってインストールしましょう。 ここでは、僕のvimrcにおける設定を記載しておきます。

NeoBundleLazy "thinca/vim-quickrun", {
      \ 'depends': 'osyo-manga/shabadou.vim',
      \ 'autoload': {
      \   'mappings': [['nxo', '<Plug>(quickrun)']]
      \ }}
nmap <Leader>r <Plug>(quickrun)
let s:hooks = neobundle#get_hooks("vim-quickrun")
function! s:hooks.on_source(bundle)
  let g:quickrun_config = {
        \   "_": {
        \     "hook/close_quickfix/enable_success" : 1,
        \     "hook/close_buffer/enable_failure" : 1,
        \     "outputter" : "multi:buffer:quickfix",
        \     "hook/neco/enable" : 1,
        \     "hook/neco/wait" : 20,
        \     "runner": "vimproc",
        \     'hook/time/enable' : 1
        \   },
        \   'tex':{
        \     'command' : 'latexmk',
        \     'cmdopt': '-pv',
        \     'exec': ['%c %o %s']
        \   },
        \ }
endfunction

" texのconcealを無効化
let g:tex_conceal=''

軽く解説をします。 <Leader>r とタイプすると、quickrun.vimとshabadou.vimが読み込まれるようにしています。 単に NeoBundle 'thinca/vim-quickrun’ とするより起動が早くなるのでオススメです。 shabadou.vimとは、「汎用的な quickrun-hook をまとめた」プラグインです。 詳しい解説は、作者であるosyo-mangaさんの記事をご覧ください。

今回はtexコンパイルしたいので、 ファイルタイプがtexのときのみ適用される設定を、 g:quickrun_configの中に記入しました。 latexmkは、 '-pv’ オプションをつけることで、コンパイル後にpdfを閲覧することができます。

また、vimtexを開いた時に、\thetaなど一部のtex記法文字を勝手に置き換えてくれる(この場合は、\theta→θ)のですが、 ぶっちゃけ鬱陶しいので無効化しました。

以上で設定は終了です。

実践

vimtexファイルを開いて、ノーマルモードで<Leader>rと押すと、 quickrun.vimが起動しlatexmkを実行し、成功ならPreview.appでpdfを閲覧することができます。

さぁ、楽しい環境設定は終了です。 論文やスライドを書きましょう。 教授にシメられましょう。

参考

TeXShop からの脱却 - 役に立つかもしれない備忘録

latexmkを使ってみた - ぽっかめろん

Latexmkとquickrun.vimで快適な執筆環境 | ある理系男子の妄言録

latexmkとvim-quickrunとneosnippetでVim-LaTeXを卒業しよう - メモ帳

shabadou.vim を使って quickrun.vim をカスタマイズしよう - C++でゲームプログラミング

【Vim】Conceal機能ってぶっちゃけ見にくいと思う - Qiita

Vim script テクニックバイブル ~Vim使いの魔法の杖

Vim script テクニックバイブル ~Vim使いの魔法の杖