LaTeX

latexmkを使う

More than 3 years have passed since last update.

今更ですが使うようにしてみました。

.latexmkrcを使う

配置場所はホームディレクトリかコンパイルするファイルがあるディレクトリ。
そのディレクトリにあればそのファイルを、なければホームディレクトリにあるファイルを読むみたい。
.latexmkはperlで書くらしい。

#!/usr/bin/perl

$latex = 'platex -synctex=1 %O %S';
$bibtex = 'pbibtex %O %B';
$dvipdf = 'dvipdfmx %O %S';
$pdf_mode = 3;

if ($^O eq 'darwin') {
    $pdf_previewer = 'open -a Preview';
} elsif ($^O eq 'linux') {
    $pdf_previewer = 'evince';
}

実は細かいオプションはあんまり確認していません。
それぞれの変数に使用するコマンドを書けばよさそう。
細かい説明は参考資料の方を。

自分の場合はMacとLinuxで使うから$pdf_previewerは環境に合わせて指定してあげる。

実行する

% latexmk xxx.tex

としてあげれば、pdfの生成までをやってくれる。使えるオプションは

  • -pv
    コンパイルが完了したら$pdf_previewerで指定したコマンドを使ってpdfのプレビューを表示してくれる。

  • -pvc
    -pvオプションと同じ。ただ、ソースファイルが更新されたら自動で再コンパイルをかけてくれる

  • -c
    変換途中に生成したファイルを削除してくれる。logファイルとか。

  • -C
    出来たファイル全部消す。dviファイルとかpdfファイルとか。

よく使うオプションとかはaliasで登録しておくのがいいんじゃないかな。

追記

perlだと$^OでOS名が取れるらしいので、そっちに修正。

参考資料