203びぼーろく;名探偵ポアロ

名探偵ポアロのDVD全集を買ってしまった。50話ぐらい入って25,000なので安い(と思う)。
個人的には全てを収録したものを作って欲しかったけど、一番まとまっているものを買って、後は買い足していくのが良いかと思い、とりあえず買うことにした。

しばらくはDVDが楽しめそう。

202びぼーろく; wheezy リリース

という情報が入る。最近アップデートが落ち着いてきてたので、もしやと思って調べてみたら(5/4) リリース されていた。

いつも使っているPCは以前からリリースを見越して + 最新版のtexlive2012を使いたかったのでアップグレードしていた。
(その時点ではfrozenの状態だったので、素人考えで大丈夫だろうと強行した)

サブで使っている方はsqueezeのままなので、アップグレードする。
というわけでサブで使っているサーバー用のPCもアップグレードする。
ただ、いつも途中で/var/cache/ がいっぱいになってインストールできなくなるので、今回は一時的に~ にaptが使う/var/cache/apt を移動してアップグレードすることにした。

やったのは以下の通り。


  1. /var/cache/apt/archives の退避

    mv /var/cache/apt/archives ./
    cp -r ./archives ./archives_old        #念のためバックアップをとっておく。
  2. シンボリックリンク作成

    ln -s ~/archives /var/cache/apt/archives

    うまく行っているか確認。

    ls -l  ~/archives
  3. アップデート開始

    /etc/apt/sources.list をwheezy用に書き換えてアップグレード開始。

    apt-get update
    apt-get upgrade
    apt-get dist-upgrade
  4. 元に戻す

    rm  /var/cache/apt/archives
    cp -r  ~/archives  /var/cache/apt/

    これでもう一度aptitude 等を動かして問題なければ、 バックアップも消して大丈夫だと思う。

以上で終了。

実際にやってみると、アップデートする途中で /var/chache 以外もあふれたので、結局の所、/usr も/homeへ移した。

etchが不安定版だったころに使い始めたので、大方7年近くdebianを使っていることになる。
いままで本当にお世話になったので、ほんの少しだけど、寄付をすることにした。

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

200びぼーろく;dvips & ps2pdf か dvipdfmx か

いつもlatexを使ってるけど、以下のように2系統でpdfを作っている。

通常のファイル: dvipdfmx でdvi-> pdf  
スライド作成: powerdot なので dvi-> ps -> pdf 

それぞれ処理が違うのでいつも別のスクリプトを作って処理させていた。
けど、いちいち切り替えるのは非常に面倒なので、コンパイルするtexファイルの先頭に手でコメントを追加して、その内容で切り替えることにした。


dvipdfmxを使う場合には先頭行に %% dvipdfmx を入れ、  dvips, ps2pdfを使う場合には  %% dvipsを入れておいて、それで判断させて切り替える。


実際にはこのスクリプトはdvips が先頭行に含まれているかどうかで判定しているので、ps経由でコンパイルする場合だけ、先頭行に%%dvipsを追加すればOK。

さて後々のためにスクリプトを残す。といってもすぐ書ける内容なので残すほどでもないと思うけど...。

platex, dvipdfmx ,dvips ,ps2pdf にパスが通っていることが前提。


--------------ここから-------------------

#!/bin/bash

export TEXFILE=$1  
## tex ファイルの指定

export DVITYPE=$(head -1 $1 |grep dvips )   
## dvipsが含まれているかどうか

platex --shell-escape $TEXFILE && platex --shell-escape $TEXFILE 
## 2回platex にかける


if [ "$DVITYPE" = "" ]; then  
        dvipdfmx $(echo $TEXFILE|sed s/\.tex$/\.dvi/)         
        ##dvipsが含まれていない時、dvipdfmx でpdfを生成
else 
        dvips $(echo $TEXFILE|sed s/\.tex$/\.dvi/) && ps2pdf $(echo $TEXFILE|sed s/\.tex$/\.ps/) 
        ##dvipsが含まれている時、dvips, ps2pdf経由でpdfを生成
fi

export FILENAME=$(echo $TEXFILE|sed s/\.tex$//)
for i in $FILENAME.*
        do(
        if [ "$i" = "$FILENAME.tex" ]; then 
                        echo "TEXFILE"
                elif [ "$i" = "$FILENAME.pdf" ]; then 
                        echo "PDFFILE"
                elif [ "$i" = "$FILENAME.dvi" ]; then 
                        echo "DVIFILE"
                else  
                        rm $i
                fi
        )
        done

## tex, dvi,pdf ファイル以外は全て削除

pdfopen $FILENAME.pdf

##pdfを開く



--------ここまで--------------




さて、とうとう200回も書いてしまったけど、あまり内容は変わってない。
ま、備忘録なので変える必要もないんだけれど。

最近matlabのクローンとしてscilabというものがあることを教えてもらった。
行列の計算に定評があるらしい。
ちょっと勉強してみようかと考え中。

744びぼーろく; どうやら昨日が

 バッハの誕生日だったらしい。おめでとうございます。