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ファイルも消すようになっているから必要な場合は適宜書き直すこと!!