yatex+MacTeX

前まではTeXには小川さんのパッケージ
JIS X0212 for pTeX
を使っていて、
そのおかげでXtexshopというコマンド(シェルスクリプト)で一発でplatexからdvipdfmxまでされていたのだけど、
MacTeXにはどうやらそのようなものはないみたい。
つまり前はC-t-j -> C-t-pにすればpdfが見られたのだけど、
MacTeXを導入することによってdviからpdfに変換する手間が入って
C-t-j -> C-t-l -> C-t-p
といちいちしなければならなくなって少しめんどくさかった。

というわけで小川さんのXtexshopの中を参照に、
platex2pdf.sh

#!/bin/sh
TEX=$*
DVI=`/usr/bin/basename "$TEX" ".tex"`
THECODE=`nkf -g "$TEX"`
case $THECODE in
    UTF-8) KANJI="-kanji=utf8";;
    EUC-JP) KANJI="-kanji=euc";;
    Shift-JIS) KANJI="kanji=sjis";;
    ISO-2022-JP) KANJI="-kanji=jis";;
esac
PLATEX="platex"
CLASS=`sed -n '/documentclass/p' $* | sed '/%.*documentclass/d' | sed -n '1p'`
case $CLASS in
    *{u*) PLATEX="uplatex";;
esac
$PLATEX $KANJI $TEX
dvipdfmx $DVI

なるシェルスクリプトを作って.emacs.d/においた。
init.elをこんな感じで書き換えて、これまで通りC-t-jでpdfまで作られるようになった。

(setq auto-mode-alist (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
;;(setq tex-command "platex")
;;(setq dviprint-command-format "dvipdfmx %s")
(setq tex-command "~/.emacs.d/platex2pdf.sh")
(setq dvi2-command "open -a Preview")
(add-hook 'yatex-mode-hook '(lambda () (setq auto-fill-function nil)))

ちなみにデフォルトだとnkfは入ってなかったから

brew install nkf

でインストールした。スクリプトの中のCLASS=ってところは何をしているかよくわかってない。

ちなみに.emacs.dに入れたのは、環境を移すときに.emacs.dは丸ごとコピーするようにしてるから。