revtex4
debianとubuntuのrevtex
以前、debian lennyとubuntu jauntyのlatexでrevtex4を使いたくて、revtexを入れたが、依存関係がうまくいかなかった。どうやら、revtexではなく、texlive-publishersを入れれば良いということが分かった。実際にやってみたら、revtex4もうまく動くようになった。lennyでのtexのインストールは今のところこんな感じ。
aptitude -y install ptex-bin xdvik-ja dvipsk-ja prosper
aptitude -y install texlive-publishers okumura-clsfiles
aptitude -y install dvi2ps-fontdata-ja ptex-jisfonts
aptitude -y install dvipdfmx xpdf xpdf-japanese
aptitude -y install ghostscript gs-cjk-resource gv ps2eps
jisftconfig add
dpkg-reconfigure cmap-adobe-japan1 # select optional
jauntyはこの前書いたのに、texlive-publishersを加えた。しかし、インストールすべきパッケージに過不足がある気もする。しかし、とりあえずこれで、presentationの準備と論文書きができる。
2009/7/24追記
eepicをつかうために、texlive-picturesも入れていた。
xubuntu 9.04にlatexをインストール
latex-env
ubuntuでlatexをインストールするのには、latex-env-jaとかを使うと良いという話だったので、aptitudeで探してみたら見つからなかった。私の環境はxubuntuで日本語remixではなかったので、おそらくJapanese Teamによる追加パッケージにあるのだろうと思って、それを使えるようにした。
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo aptitude update
sudo aptitude upgrade
そして探すと、latex-env-ja等が見つかった。というわけでインストール。
sudo aptitude install latex-env-ja latex-extra-ja
sudo jisftconfig add
sudo aptitude install ghostscript gs-cjk-resource gv
sudo aptitude install adobereader-jpn
こんなもんかな。しかし、debian lennyと同様に、revtexとは相性が良くないようだ。
2009/7/20追記
参考のために、インストールされたパッケージを書いておこう。
latex-env-ja
dvi2ps-fontdata-ja{a} dvipdfmx{a} dvipsk-ja{a} lacheck{a} latex-beamer{a}
latex-env-ja latex-xcolor{a} lmodern{a} pgf{a} prosper{a} ps2eps{a}
ptex-base{a} ptex-bin tex-common{a} texlive texlive-base{a}
texlive-base-bin{a} texlive-base-bin-doc{a} texlive-common{a}
texlive-doc-base{a} texlive-extra-utils{a} texlive-fonts-recommended{a}
texlive-fonts-recommended-doc{a} texlive-generic-recommended{a}
texlive-latex-base{a} texlive-latex-base-doc{a}
texlive-latex-recommended{a} texlive-latex-recommended-doc{a}
texlive-math-extra texlive-pstricks{a} texlive-pstricks-doc{a} tipa{a}
xdvik-ja
latex-extra-ja
cmap-adobe-japan1 dvi2ps{a} jbibtex-base jbibtex-bin jmpost
latex-extra-ja mendexk okumura-clsfiles ptex-jisfonts vfdata-morisawa5{a}
vflib3{a}
Rでfitting
多項式フィット 実験に必要なデータの処理は、rubyとRを使ってやっている。単純な計算はrubyで、グラフなどを扱うときにはRと使い分けている。カーブfittingもRで行うのだが、これが意外に面倒である。Rは統計のためのソフトなので、それほど複雑なfittingは想定していないのであろう。 まだ、Rに不慣れなためということもあるのだが、多項式でのfittingは、次数を変えるためにいちいち書き換えなければならなくて、煩雑に感じる。また、今回は、二変数でfittingしたかったので、さらに複雑になった。結局うまくいったfittingはこんな感じ。
result <- lm( z ~ 1+ x +I(x^2) +I(x^3) +I(x^4) +I(x^5) + y+ I(y*x) +I(y*x^2) +I(y*x^3) +I(y*x^4) +I(y*x^5) + I(y^2)+ I(y^2*x) +I(y^2*x^2) +I(y^2*x^3) +I(y^2*x^4) +I(y^2*x^5) ) ここで、I()はfitting特有の式の解釈をしないために必要になるようです。result$coefで係数を取り出して、もとのデータとの整合性をチェックする。 あとはrubyで計算させれば良いわけだが、fittingに使ったxに関して五次、yに関して二次の式を計算するのに、rubyでは以下のように記述した。
coef=[ [ -1.741370e+00, 7.970617e+00, -4.912943e-01, 3.099862e-02, -6.283200e-04, 5.164492e-06 ], [ -2.927893e-01, 7.592103e-02, -7.253879e-03, 3.186369e-04, -6.577961e-06, 5.171831e-08 ], #y [ -1.592628e-02, 1.488542e-03, -3.180673e-05, -1.340528e-06, 6.018192e-08, -6.055244e-10 ], #y**2 ] sum=0.0 coef.each_with_index{|a,i| sum+=y**i*a.reverse.inject{|s,c| s*x+c} } このとき、injectを二回入れ子にしたら、エラーがでた。当然なのだが、一回目のときに、arrayと数値を計算しようとするためだ。しかし、これを回避する方法も思いついた。
coef=[ [ -1.741370e+00, 7.970617e+00, -4.912943e-01, 3.
emacs21 and emacs22
utf8に対応
以前はxemacs21を使っていたが、それまでのemacsとなんか違う気がして、emacs21に移行した。debian lennyとubuntu9.04になってから、emacs22というのがあることには気がついていたが、特に必要に感じなかったので、emacs21を使い続けていた。
Ubuntu Weekly Recipeでemacsのことが書いてあり、emacs22を薦めているようだったので、emacs22を使ってみた。すると、以下の二点でemacs21よりも使いやすいことが分かった。
まず、utf8に対応したということ。最近、utf8のテキストが増えてきていたが、emacs21では読めなかった。nkfで変換すればあまり苦労しなかったので、気にしてはいなかったが、当然読めた方が便利だ。
また、マウスのスクロールが使えるようになった。page up, page downはキーボードでもできるし、横のスクロールバーを使えば問題無かったのだが、他の多くのソフトでできることは、ついくせでやってしまっていた。
emacsの主な不満点が解消されたことになる。
rubyとGPIB
“ruby gpib"で検索
研究室の自作の測定システムは、rubyで構築している。最初はwindows上で誤魔化していたが、徐々にLinuxに置き換えていき、今ではすべてがLinux上のrubyで動いている。残念ながら市販の測定系はWindowsとして残っている。いずれはWineにしたいのだが。
ふと思い出して、rubyとgpibで検索してみたら、自分のサイトがトップに来ていて驚いた。磁気空間群とかのマニアックな単語ではトップに来て、密かに喜んでいたのだが、こんなメジャーな単語でトップになるとは。逆に言うと、rubyでGPIBを使っている人がそれほどいないということを表しているのかも知れない。もしそうだとすれば、悲しいことである。
確かに、debianに関して言えば、ruby-gpibはパッケージになっていないのに対して、libgpib-perlやphp5-gpibやpython-gpibはあるので、これらの言語で制御する方が標準的なのであろう。pythonでGPIBを試しに使ってみようとしたことがあるが、アドレスでは指定できず、gpib.confで指定した装置の名前を使う必要があって、不便に感じたものである。一方、ruby-gpibでは、数字だとアドレスと解釈し、文字列だと名前だと解釈してくれて、便利である。pythonに慣れていないので、アドレスでの指定が分からなかっただけかも知れないけど。
いずれにせよ、rubyで計測をする人がより多くなってくれると良いと思う。homepageに計測機器のclassのソースでも載せようかとも思ったこともあるが、まだ載せていない。正確には数えていないが、これまでに20種類ぐらいの装置を扱うクラスを書いているようだ。しかし、あまり綺麗なソースではないので、公開したくないという気持ちもある。その時の気分で書き方が違うし。
アニメーションの作成
gif,mpeg,and flv
gifアニメは、imagemagickのconvertで簡単に作ることができることは知っていたが、同様にgifアニメからmpegを作ることができる。
convert temp.gif temp.mpeg
さらにこれをffmpegでflvに変換すれば、画像からflvの動画を作ることができる。
ffmpeg -i temp.mpeg temp.flv
本当は直接ffmpegで画像からflvを作ることができるようなのだが、うまくいかなかったので、今回はmpegを介して変換を行った。
inspiron miniシリーズの違い
mini9とmini10v
inspiron mini10vが出て、VGAの外部出力ができるようになったが、mini9が終焉の兆しを見せてきた。mini10vの細かい仕様の情報があまりないので、内部を見ればだいたいわかるだろうということで、デルの分解のサイトを調べてみた。
四機種すべてについて解説のページがあり(mini9、mini10、mini10v、mini12)、サービスマニュアルを見ると分解の仕方が説明してある。mini10vは、基板の形はmini10と似ているが、メモリ等はmini9に似ている。また、HDDは2.5inchのSATAのようだ。拡張性をかうならば、10vが一番優れているだろう。
cronでntpdate
時刻のずれ
久しぶりに
sudo ntpdate-debian
を実行してみたら、三分もずれていた。ntpを入れてからは、PCの時刻を正確だと思っていたのだが、予想よりもずれるようだ。そこで、cronに登録して、自動的にntpに問い合わせるようにした。/etc/cron.daily/ntpdateを作成して、
#!/bin/sh
ntpdate-debian
と内容で保存して、
sudo chmod +x ntpdate
として実行権限を与える。これで、一日一回、時刻を合わせてくれるはずだ。一時間に一回ぐらいの方が良いかな。
n進法表記
linuxでの16進数の計算
WindowsとLinuxのソフトを比較すると、多くの点でLinuxの方が使いやすい。しかし、標準で入っているソフトの中で、唯一Windowsの方が勝っていると感じるのが計算機である。binaryをいじっていると、16進数の計算をしたくなるが、Windowsのcalcでは計算できるが、Linuxのxcalcだとできない。kcalcだとできるようだが。
そこで、rubyを使って計算することになる。これまでは、
ruby -e 'p "%x"%(0xa+0xb)'
とやっていたが、実はもっと便利なmethodがあることを知った。to_s(n)で、n進数の表記に変換できるのだ。すると、
ruby -e 'p (0xa+0xb).to_s(16)'
とすれば良いことになる。でもこちらの方がbyte数が多いな。ちなみに、1-zまでで表せる36進数まで対応しているようだ。99じゃなくてffの表を作るプログラムはこんな感じ。
n=16
for i in 1...n
for j in 1...n
print "%2s "%(i*j).to_s(n)
end
puts
end
これで、nを変えるだけでzzの表まで作ることができる。
lennyのtex
ptex-jisfontsとrevtex
論文を書くためにaptitudeでrevtexを入れたら、文句を言われた。ptex-jisfontsとかちあうとかなんとか。すると、platexが使えなくなってしまった。まあ、英語の場合はlatexで問題ないだろうが、日本語のprosperが動くのか心配だ。
texのパッケージも日々変化していると思うので、lennyになったときにどれを入れようかと迷って、結局ptex-bin, xdvik-ja, ptex-jisfonts, gs, gv, gs-esp, gs-cjk-resource, xpdf, xpdf-japaneseを入れた。しかし、revtexを入れたことによって、ptex-binとptex-jisfontsがはずれたはずなので、何が残っているのやら。
いつか、インストールすべき適切なパッケージが何かを調べなければ。