ぽっかめろん

ゲームとかプログラミングとか

latexmkを使ってみた

理系ならTeXを使いなさいという圧力を感じたのでlatexmkを使ってみた話です。

TeXのつらいところ

数年前に何度かTeXを使ってレポートを書いたんですが、

  • vimで書く → 何回タイプセットすれば良いのかわからなくて投げる
  • TeXShopで書く → なんだか挙動が怪しいし落ちる

ので発狂してWordを使ってレポートを書くようになってました。でもやっぱりTeXは見た目が良いし理系として使えた方がいいんじゃないかということで再度環境を整えました。使用エディタはMacVimです。

latexmkって何

Latexmk - TeX Wiki
latexのすごいmake

latexmkの設定

~/.latexmkrc を作って、以下の内容で保存。

#!/usr/bin/env perl
$latex        = 'uplatex -synctex=1';
$latex_silent = 'uplatex -synctex=1 -interaction=batchmode';
$bibtex       = 'upbibtex';
$dvipdf       = 'dvipdfmx %O -o %D %S';
$makeindex    = 'mendex %O -U -o %D %S';
$max_repeat   = 5;
$pdf_mode     = 3;

$pvc_view_file_via_temporary = 0;
$pdf_previewer = 'open -ga /Applications/Skim.app';

LaTeXのことはよくわからないのであちこちからコピペして作ったので内容の説明はできません。ただsynctexというものが使えるpdfビューワとして Skim | Home というものがあるらしく、それを導入してます。

vimの設定

.vimrcで、

autocmd FileType plaintex setlocal filetype=tex

if neobundle#is_installed("vim-quickrun")
  autocmd MyAutoCmd BufWritePost *.tex call quickrun#run() 
endif

let g:quickrun_config = {
          \ 'tex' : {
          \   "command" : "latexmk", 
          \   "outputter" : "error", 
          \   "outputter/error/error" : "quickfix", 
          \   "exec" : "%c %o %s", 
          \ }, 
          \ }

で、保存するとpdf出力されてワイワイ。Skim.appに更新を監視して読み込んでくれる機能があるのでプレビューもはかどります。

微妙なところ

latexmkにpvcという「texファイルの更新を監視してタイプセット、それで出来上がったpdfファイルを開く」というオプションが合ってすごいな〜^と思ってquickrunに登録したら、インサートモードが一定間隔でドゥンドゥン鳴るモードになってしまいました。理由はよくわからないです。