694びぼーろく; GWに突入した

ので嬉しい。ゆっくりすることにした。 さて、研究室で 一生懸命  適当に育てていたコーヒーの木が14年目にして花を咲かせ、コーヒーの実をつけた。これも嬉しい。

201びぼーろく; pdfへ変換するのをひとまとめにする(lilypond,latex)

ただいま絶賛原稿執筆中...、のはずだけどなぜか余計なことをしたくなる。
というわけで、息抜きに前々からやりたかったことをやることにした。

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キーを押す癖ができてしまった。

コメント

このブログの人気の投稿

471びぼーろく; ffmpegの音・映像ずれ修正

329びぼーろく; latexでヤング図を書く

531びぼーろく; python上でのヤコビ楕円関数