texをpdfにしようと思ったら、ごちゃごちゃ鬱陶しいから、もっとスマートにしてくれや。

texをdviで見ると日本語だと、どうにもならないので
普通はpdfにして印刷やら、なんやらしてると思われるのですが

platex hoge
dvipdfmx hoge

ってな感じで、2回コマンド打たないとダメだったり
platexがゴミファイルをガシガシ吐いたりするので、非常に面倒!!
特に、コマンドはtexを細かく修正しながらやるときにイライラが大変なことになってしまうのではなかろうか!!
というわけで、シェルスクリプトを書いたので書いておく。

#!/bin/sh 
if [ $# -ge 1 ] 
then 
    nkf -e $1.tex > tex2pdfTemp.tex 
    platex tex2pdfTemp 
    dvipdfmx tex2pdfTemp 
    mv tex2pdfTemp.pdf $1.pdf 
    rm tex2pdfTemp.* 
    evince $1.pdf & 
else 
    echo "error:input file name." 
fi

エンコードEUCでないとダメなので、
どんなファイルだってEUCにしてからdvi化するようにnkfコマンドを仕込んでおく。
一時ファイルをもっとらしい名前にしたかったんだけど、
~temp.texとかするとplatexが怒ったので上記のようにした。
あとは、元のファイルの名前でpdfをリネームして
ゴミファイルをさよならしてpdfは完成!
最後の一行は、gnome環境でのデフォルトの文書ビューアのアプリ名
これで、このシェルに実行権限を与えておくと。
おもむろに、

tex2pdf.sh hoge

と実行するとtexがpdfに変換されてpdfが画面に表示される。
もちろん、ゴミファイルは宇宙の彼方!
これで、texによる卒論のレポート作成がはかどるに違いない!!


追記----------
拡張子いりで、ファイルを指定するとハマったので
sedコマンドを利用し、臨機応変に対応出きるようにした。

#!/bin/sh 
if [ $# -ge 1 ]; then 
    fileName=`echo $1 | sed -e 's/\..*//'` 
    nkf -e $fileName.tex > tex2pdfTemp.tex 
    platex tex2pdfTemp 
    dvipdfmx tex2pdfTemp 
    mv tex2pdfTemp.pdf $fileName.pdf 
    rm tex2pdfTemp.* 
    evince $fileName.pdf & 
else 
    echo "error:input file name." 
fi

ついでに、実行権限のあたえ方も書き付けておく。

chmod u+x hoge.sh


さらに,追記----------
.tocと.auxファイルも消すようになっているから必要な場合は適宜書き直すこと!!