最近のlatexのコンパイルにはLatexmkを使うと良いようです.
platex
-> bibtex
-> platex
-> dvipdfmx
のような一連の処理をまとめてやってくれます.
カレントのディレクトリに.latexmkrc
を作成することでプロジェクトごとの設定を行います.適切な設定ファイルを配置することで,WindowsでもUnixでも(たぶんMacでも)常に1コマンドでPDFを生成することができます.
$ latexmk TEX_FILE.tex
さらに
.latexmkrc
@default_files = ('TEX_FILE.tex');
と指定することで,build対象の指定を省略できます.
(ここではTexLiveがインストールされている前提です)
英語のみの場合
pdflatex
を使う場合
.latexmkfc
#!/usr/bin/env perl
$pdf_mode = 1
pdflatex
でPDFを出力するようにモードを変更します.
latex
を使う場合
.latexmkfc
#!/usr/bin/env perl
$pdf_mode = 3
$dvipdf = 'dvipdfmx %O -o %D %S';
latex + dvipdfmx
で出力します.
日本語を含む場合
platex
の場合
latex + dvipdfm
でPDFを出力するモード3に変更し,platex
とdvipdfmx
を使うように設定します.
.latexmkrc
#!/usr/bin/env perl
$pdf_mode = 3;
$latex = 'platex -halt-on-error';
$latex_silent = 'platex -halt-on-error -interaction=batchmode';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
uplatex
の場合
.latexmkrc
#!/usr/bin/env perl
$pdf_mode = 3;
$latex = 'uplatex -halt-on-error';
$latex_silent = 'uplatex -halt-on-error -interaction=batchmode';
$bibtex = 'upbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';