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使いの魔法の杖

TeXShopのSolarize_darkカラースキーマ

論文やスライドはTeXで書いてます。

TeXShop、そのままでは味気ないのでカラーを変更しましょう。 世に知られている多くのカラースキーマのうち、特に有名なSolarize_darkに変更するスクリプトを書いたので紹介します。 なお、動作確認はMacOSX mavericksのみです。

Solarized dark color scheme for TeXShop

これをダウンロードしてきて、

$ sh solarize_dark.sh

元に戻したいときは、

$ sh texshop_color_default.sh

これで戻ります。

参考

[改訂第6版] LaTeX2ε美文書作成入門

[改訂第6版] LaTeX2ε美文書作成入門

平塚らいてう評論集 (岩波文庫)

平塚らいてう評論集 (岩波文庫)

Python3 で MeCab を使う

他のブログにも情報が載ってるけどメモ代わりに。

友人の研究を手伝う可能性が出てきたので、OSXMeCabを入れましょう。 Pythonのバージョンは以下です。

$ python
Python 3.4.2 (default, Oct 19 2014, 17:52:17)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Homebrewならサクッと入りますね。

$ brew install mecab mecab-ipadic

MeCab が入ったので、mecab-pythonをPython3に入れましょう。

$ pip install https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz

()
IndexError: list index out of range
----------------------------------------
Cleaning up...

あれ、入らない。

どうやらsetup.pyを書き換える必要があるようです。 tarballをソースからwgetして書き換えましょう。

$ wget https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz
$ tar -zxvf mecab-python-0.996.tar.gz
$ cd mecab-python-0.996
$ vim setup.py

変更点はこのように。 参考→ Python3でMeCab

def cmd2(str):  
    return string.split (cmd1(str))  
#を以下に変更  
def cmd2(str):  
    return cmd1(str).split()  

変更後に、pipでインストール。

$ pip install -e .

入ったかな

$ pip freeze
mecab-python==0.996
$ python -c "import MeCab

入ったようです。

参考

入門 自然言語処理

入門 自然言語処理