僕がMacでTeXを書く時は、TeXShopが欠かせない。ここにある通りにインストール・設定すれば、ちゃんと使えるしWindowsで環境作るよりはるかにラク。でも1つだけいまいちな部分があった。
それは、ptex2pdf-utf8でタイプセットしてもpTeXを1回しか実行しないから、PDFにした時にしおりが出来ない。。。WindowsでTeXを使う時は、自作のシェルスクリプトで自動的にplatex3回→dvipdfmxをするようにしてるから、しおりもちゃんとできるんだけど。。。
なんとかしたいなぁと考えてて、ふと自分で設定したptex2pdf-utf8の中身を見てみたら、これシェルスクリプトじゃん。。。じゃあ自分で書いたものを設定すればいいと考えて、作ってみた。
#!/bin/sh
BASENAME=`basename $1 .tex`
ENCODE=utf8
# make .bb file
for i in *.png *.jpg
do
ebb $i
done
# First platex
platex -kanji=$ENCODE $1
if [ $? -eq 1 ] ; then
echo "platex 1 ERROR!"
exit
fi
# Second platex
platex -kanji=$ENCODE $1
if [ $? -eq 1 ] ; then
echo "platex 2 ERROR!"
exit
fi
# Third platex
platex -kanji=$ENCODE $1
if [ $? -eq 1 ] ; then
echo "platex 3 ERROR!"
exit
fi
# make PDF file
dvipdfmx -v $BASENAME
if [ $? -eq 1 ] ; then
echo "dvipdfmx ERROR!"
exit
fi
# *.bb file delete
rm -f *.bb
これを適当な所、例えば~/bin/texshop.shとかに保存して、TeXShopの環境設定→内部設定→TeX + dvips + distillerのLaTeXにパスを書けば、タイプセットした時に使える。
このスクリプトのポイントは、pngファイルがあればebbして、bbファイルを作ってくれること。前はいちいち画像に対してebbしてたんだけど、めんどくさいし画像が変わったらまたやり直しだから、それも解消してくれるようにした。
MacでTeXShop使ってる人は、もし良ければ使ってみてください。TeXファイルの文字コードがUTF-8じゃない人は、ENCODE=utf8のとこをeucにすればOK。
このスクリプトも1つ問題があって、TeXコマンドをptexにするとコンパイルエラーになる。platexだったら大丈夫。でもplatexはptexへのシンボリックリンクだから問題ないはずなんだけど。。。原因が分かる方がいたら教えてください。
0 コメント:
コメントを投稿