Meadow+YaTeXでLatexmk使うための設定

LaTeXで数式や文献の参照番号を処理するにはplatexやjbibtexを何度か実行しないといけなくて面倒くさい.
「何回platexやjbibtex動かしたらいいの」っていうのを適当に判断して適当に実行してくれるperlスクリプトとしてLatexmkというものがあるらしい.すばらしい.
早速インストールしたのでメモ.

いるもの

  • perl: ActivePerlとかcygwinperlとか.私はActivePerlを使っている(ハズ
  • Latexmk: Latexmkからダウンロードしてきましょう

やること

latexmk-410.zipを落としてきたら解凍し,中身をパスの通った場所に置く.
次に,.latexmkrcという設定ファイルを$HOMEに作成する.もともと欧文用なのでこの設定ファイルでlatexbibtexplatexやjbibtexに置き換える必要がある.私の設定は以下の通り.

$latex = 'platex';
$pdflatex = "c:/Meadow/dvipspdf.bat %S";
$bibtex = 'jbibtex';
$makeindex = 'mendex';
$dvipdf = 'dvipdfmx';
$dvips = 'dvipsk';
$dvi_previewer = 'dviout';
$pdf_previewer = 'SumatraPDF.exe';

私はPDFビューワとしてSumatraPDFを使用しているので$pdf_previewerにSumatraPDF.exe*1を指定している.
$pdflatexに設定しているバッチファイルの中身はこんな感じ*2

rem for YaTeX
set src=%~n1
platex %src%.tex
dvipsk -Pdl -D 600  -f -z -t a4 %src% | bkmk2uni > %src%.ps
call ps2pdf -r600 -dNOPAUSE %src%.ps  %src%.pdf 

そして.emacsはこんな感じ.

;; latexmk
(setq tex-command "latexmk -pv -pdf")
(setq dvi2-command "SumatraPDF.exe")

これでMeadowを起動してYaTeX-modeにし,C-c tjと入力すればplatexとjbibtexを適当に実行してpdfまで作成し,プレビューしてくれる.
Latexmk実行時に与える引数で作成対象(dviかpsか,それともpdfなのか),プレビューの有無などを指定できる.詳しくはLatexmkにあるマニュアルを参照のこと*3

*1:プログラムファイルがあるディレクトリにはPATHを通してある

*2:presentation using TeX with powerdotにあるものに少し手を加えています.Meadowディレクトリに突っ込むとかマジセンスないと思うので各自適当にもっとマシな場所に置いて下さい.

*3:長いのであまり読んでない…