145びぼーろく;参加か不参加か

7月末に研究会があるというので、参加か不参加で悩む...が参加ボタンを押してしまった。なんとか授業をやりくりすることを決意。その前に結果が出ていないから何とか結果を出さないとなぁ。

ところで、次回の演奏会の曲目解説を担当することになった。何とか書き上げてみたもののちょっと恥ずかしい。時間が見つかればどこでも編集できるようにGoogle drive を利用することにした。

以前はGoogle docだったけど、どうやら最近は無料のオンラインストレージとして利用できるらしい。
フォルダごとアップロードできて非常に便利。

これで講義ノートとかのやり取りも自由にできるようになった。



さて、いつもtexの編集はvimでやっているんだけど、講義ノートのコンパイルは20秒ぐらいかかっていまう。
なので、一気にpdfまで直してしまうようにスクリプトを書いておくことにした。すぐ忘れてしまうのでびぼーろくとして残しておく。

bashでは 引数 $1が 入力ファイルになるらしいので、後はそれを適当に使うことにした。
あと、tikzでプロットをすると大量にファイルが生成されるのでそれらも削除。

ただし、このままだと、 hoge.tex.old みたいなバックアップファイルも削除されるのでもう少し改良する必要があるかも。


#!/bin/bash 
export TEXFILE=$1 
platex --shell-escape $TEXFILE  && platex --shell-escape $TEXFILE  &&dvipdfmx $(echo $TEXFILE|sed s/\.tex$/\.dvi/) 
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" 
                else   
                        rm $i 
                fi 
        done

144びぼーろく;tikz環境でプロット

tikzではgnuplotを利用して関数をプロットできるらしい。
という訳でそのびぼーろく。

例えばsin(x) を xが2から3までプロットしたいときには以下のようにする。

\\begin{tikz}
 \\draw plot[id=sin,domain=2:3] function{sin(x)};
\\end{tikz}


idはプロットしたい関数の名前を書く。(名前は何でも良いらしい。)
domainはx軸の範囲で functionがgnuplotに渡す関数を表す。

また、platexがgnuplotを利用できるように、オプションとして --shell-escape をつけておく。
もちろんgnuplotもインストールが必要。

platex  --shell-escape hogehoge.tex


また、gnuplotをエンジンとしているので、多彩な指定が可能らしい。
plot のオプションにraw gnuplot を追加して、functionにgnuplotのコマンドを書く。


\\begin{tikzpicture}

\\draw [very thick,color=red,smooth]
        plot [raw gnuplot,id=dump6,domain=0:3]
        function{set xrange[0:3];plot 1.8*(1+2*x)*exp(-2*x)}
        node [below right]{臨界減衰($\gamma=\omega_0=2$)};
\\end{tikzpicture}


こうしておくと、gnuplotのコマンド通りに図がかけるので便利。
このときdomain オプションがどのように反映されるのかは不明。

143びぼーろく;知り合いの結婚+ps2pdfで埋め込まれるフォントの変更

昨日突然電話がかかってきた。誰だろう、と思って出てみると、高校時代の部活の友人からだった。

どうやら同期が結婚したらしく、その二次会のようだった。しかも結婚相手は僕の一年下の後輩(同じ部活)とのこと。
以前から連絡を取ろうとしてたらしいが、宛先不明で帰ってきたそうな。なぜだろう?

せっかくだから行ければよかった。残念。まあでも電話越しにでも喋れたので良し(?)としよう。



さて計算ミスにより、連休中の成果がパーになってしまったので、やけになって、ps2pdfで埋め込まれるフォントの変更を試みた。


texlive2011をインストールし、tikz も使えるようになったので、あとは発表用のスライドで使う環境を整えるだけ...なんだけど、ps2pdfで埋め込まれるフォントはIPA明朝でどうやって変更していいのか分からない。
しかもこのフォントはどうも線が細いので発表資料には向かない。

ということで、別のフォント(ゴシック&明朝 MoboGothic / MogaGothic / MogaMincho)を使わせてもらうことにした。

大分悩んだので びぼーろくとして残しておく。



  1. cidfmapを探す

    ps2pdfで埋めこまれているフォントは cidfmapに記述されているらしい。
    というわけで、まずcidfmapを探す。

    locate cidfmap

    手元の環境では、/var/lib/ghostscript/fonts/cidfmap にあると返事が返ってくる。
  2. 参照しているフォントを探す。

    見つかったcidfmapの記述の中から/Ryumin-Light /GothicBBB-Medium 等が参照しているフォントを探す。僕の場合は

    /usr/share/fonts/truetype/ttf-japanese-mincho.ttf   (ゴシック体)
    /usr/share/fonts/truetype/ttf-japanese-gothic.ttf     (明朝体)

    を見ていることが分かった。 ls -l で調べてみるとこれは別のフォントのシンボリックリンクらしい。よって別のフォントをインストールして、このリンクを変更すれば良さそう。
  3. フォントのダウンロード&展開

    適切なフォントを探してインストールする。今回はこちらのフォント(ゴシック&明朝 MoboGothic / MogaGothic / MogaMincho)を使わせていただくことにした。どうやらIPAフォントを下にして新しく作成されたらしい。ありがとうございます。

    フォントパックをダウンロードし、展開する。

    wget http://yozvox.web.infoseek.co.jp/MoboMoga-001.02.09.7z
    7z e MoboMoga-001.02.09.7z

    これで、フォント(*.ttf)が展開される。
  4. フォントをコピー

    /usr/share/fonts/truetype/ 以下に専用のフォルダ(mobo)を作成し、全てコピー。

    mkdir /usr/share/fonts/truetype/mobo
    cp *.ttf /usr/share/fonts/truetype/mobo
  5. リンクを変更する

    以前のリンクを退避。

    mv /usr/share/fonts/truetype/ttf-japanese-mincho.ttf /usr/share/fonts/truetype/ttf-japanese-mincho.ttf.old
    mv /usr/share/fonts/truetype/ttf-japanese-gothic.ttf /usr/share/fonts/truetype/ttf-japanese-gothic.ttf.old

    リンクを張る。
    ln -s /usr/share/fonts/truetype/mobo/mogamb.ttc /usr/share/fonts/truetype/ttf-japanese-mincho.ttf
    ln -s /usr/share/fonts/truetype/mobo/mobogb.ttc /usr/share/fonts/truetype/ttf-japanese-gothic.ttf
(追記:wheezyでは少し変わったようなので、こちら に改めてメモを残しています。)


手元の環境ではこれでうまく行った。これで心置きなくpowerdotを使える。

さて、することもなくなったし計算を再開しよう...。

一生懸命複素関数の正則性について勉強してたけど、正則じゃなくてもいいんだね。(本当か?)
知らなかった。

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

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