というわけで、息抜きに前々からやりたかったことをやることにした。
1つ目は部屋の片付けと模様替え。こいつはすぐ終了。
2つ目はpdfを作るのに全て同じシェルスクリプトでやってしまいたいというもの。
具体的には、最近は下の3つを扱うことが多くなりvim上でいちいち変えていたコンパイルしていたものの、結構面倒になった。
- dvipdfmxを使う
- dvips& ps2pdfを使う
- lilypond を使う(楽譜作成)
というわけで、ひとまとめにすることにした。
lilypond の拡張子はly、texファイルは texなので、その二つで読み分けることにする。
ちなみにtex2pdf.shは前に書いた もの。
--------- ここから ----------
#!/bin/bash
export FILE=$1
echo $FILE
export NAME=$(echo $FILE |sed s/\.[a-zA-Z0-9]*$//)
echo $NAME
export FILETYPE=$(echo $FILE |sed s/$NAME\.//)
echo $FILETYPE
if [ "$FILETYPE" = "tex" ]; then
tex2pdf.sh $FILE
elif [ "$FILETYPE" = "ly" ]; then
lilypond $FILE
else
echo "cannot convert to pdf file"
fi
------ここまで-------
いつも思うけど、もっと綺麗で簡潔な書き方があるんだろうな。
あとは適当に名前をつけて実行権限を付加。(手元の環境ではConvert2pdf.shという名前にした)
chmod +x Convert2pdf.sh
あとはパスの通っている場所に置いて使う。
いつもvimを使っているので、vimのコマンドモードとかで
:!Convert2pdf.sh %
で実行させている。例えば編集ファイルが test.lyならlilypond を、 test.texならtex2pdf.sh、それ以外の場合は終了するはず。
コンパイルが数秒ならいいけど、30秒ぐらいかかる場合はソースファイルを眺めたいので、別の軽いターミナル上でコンパイルしてもらい自分は元のvimの画面を眺める、というようにしている。
:!xterm -e Convert2pdf.sh % &
vimを使っているのでついついescキーを押す癖ができてしまった。
0 件のコメント:
コメントを投稿