latexmkとquickrun.vimを使ってVimでLaTeXを書く。
先日TeXShopの記事(TeXShopのSolarize_darkカラースキーマ - Dimension Planet Adventure 最終章 最終話『栄光なる未来』)を書きましたが、 やはりVimを使いたいということで、 やはりVimしかないということで、 VimでTeXを書く環境を整えましょう。 Vim+Texといえば、vim-latexというプラグインもあります。 が、何故か僕の環境では動かず、そして大きいプラグインでよくわかんなかったので 使い慣れたquickrun.vimと、latexmkを使いました。
latexmk
latexmkというのは、おおざっぱにいえば.texから.pdfまでのコンパイルを一回で行ってくれるPerlスクリプトです。 僕はMacTeXをHomebrewからインストールしたので、既に入っているものとして進めます。 latexmkの設定ファイルである.latexmkrcを、以下のように書きました。 これを、.texと同じディレクトリか、ホームディレクトリに置きましょう。
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を閲覧することができます。
また、vimでtexを開いた時に、\thetaなど一部のtex記法文字を勝手に置き換えてくれる(この場合は、\theta→θ)のですが、 ぶっちゃけ鬱陶しいので無効化しました。
以上で設定は終了です。
実践
vimでtexファイルを開いて、ノーマルモードで<Leader>rと押すと、 quickrun.vimが起動しlatexmkを実行し、成功ならPreview.appでpdfを閲覧することができます。
さぁ、楽しい環境設定は終了です。 論文やスライドを書きましょう。 教授にシメられましょう。
参考
Latexmkとquickrun.vimで快適な執筆環境 | ある理系男子の妄言録
latexmkとvim-quickrunとneosnippetでVim-LaTeXを卒業しよう - メモ帳
shabadou.vim を使って quickrun.vim をカスタマイズしよう - C++でゲームプログラミング
【Vim】Conceal機能ってぶっちゃけ見にくいと思う - Qiita
- 作者: DrewNeil,新丈径
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/01/28
- メディア: Kindle版
- この商品を含むブログ (3件) を見る
Vim script テクニックバイブル ~Vim使いの魔法の杖
- 作者: Vim scriptサポーターズ
- 出版社/メーカー: 技術評論社
- 発売日: 2014/08/06
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
遊戯王カード CPL1-JP041 RUM?クイック・カオス(コレクターズレア)遊戯王アーク・ファイブ [コレクターズパック 伝説の決闘者編]
- 出版社/メーカー: コナミ
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る