Ubuntu 10.10 のpLaTeXは、EUCにしか対応していない。
一方で、Ubuntu側の日本語文字コードはUTF-8が標準になっているわけで、ちぐはぐなわけですよ。
まぁ僕の場合、TeXを書くのはYaTeX on Emacsに限るわけだし、Emacs上では文字コードは特に意識しなくてもいいので、これまではEUCで書いてやったtemplateファイルを.texファイル作成時に自動的に読み込んでやって、対処してた。
けれど、org-modeを使うようになって、latex出力させてやることになると、このままではまずいのだ。
だって、UTF-8で出力されてしまうから。
なので、web上を色々あさってみて、以下のようにしてみた。
1) 以下のスクリプトを作成 (~/bin/platex.sh)
---
#!/bin/sh
name=`echo $1 | sed 's/\.tex$//' | xargs basename`
temp=`mktemp /tmp/$name.XXXXXXXX`
nkf -e $1 > $temp
/usr/bin/platex $temp
rm $temp
---
実行許可しておく (% chmod +x platex.sh )
2) 次に、 .emacs.elに以下の行を追加。
(setq tex-command "/home/***/bin/platex.sh")
***はユーザー名。絶対パスで指定してやった方が無難かなと。
以上で、YaTeX上で、現在のUbuntuの標準文字コードであるところのUTF-8でTeXを書いても、問題なくコンパイルできるようになります。
ただしこの方法だと、文字コードをUTF-8からEUCに変換後のテンポラリファイルにTeXをかけていることになるので、仮にエラーが出た場合、当該行にジャンプするYaTeXの機能が使えません。
ちょっと不便。
となると、emacsの文字コードをEUCに固定してやった方が楽なのかな・・・。
No comments:
Post a Comment