2009年07月06日 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の主な不満点が解消されたことになる。
2009年07月09日 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.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 0.0 ] coef.reverse.inject{|ss,a| ss*y+a.reverse.inject{|s,c| s*x+c} }として、最高次の項を0にしておけば、常に数の計算にできるので、多項式部分を単純にできる。しかし、どちらが良いのか微妙なところではある。今回はもう書いてしまったので、初めの方法で良いことにしよう。
2009年07月13日 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}
2009年07月15日 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 optionaljauntyはこの前書いたのに、texlive-publishersを加えた。しかし、インストールすべきパッケージに過不足がある気もする。しかし、とりあえずこれで、presentationの準備と論文書きができる。
_ 2009/7/24追記
eepicをつかうために、texlive-picturesも入れていた。
2009年07月16日 hp mini110
_ やっとhpからmini110が発売された。
海外ではずいぶん前から発売されていたが、遅ればせながらようやく日本での発売となった。期待していたlinux版は無いようだ。これで購入する可能性はかなり少なくなった。
あと気にくわないのは、ACアダプターのACコネクタが、ミッキータイプだということだ。日本でははやっていないし、かさばるので好きではない。
これらを考慮すると、dellのmini10vの方が勝っていると言えるので、これを買うという選択肢は無くなった。
2009年07月18日 dell mini10v
_ mini10vとmini9の比較
知人がmini10vを購入した。mini9との比較がしたかったので、少し触らせてもらった。やはり画面が大きいのは良い感じである。また、キーボードもファンクションキーの列があるのは安心する。しかし、Fnキーを押さないとファンクションキーとしては働かず、そのまま押すとLCDの光量調整などになってしまう。これは普通は逆なんじゃないかと思う。160GのHDDを積んだ機械だったのだが、若干振動を感じる。通常は気にならないと思うが、mini9に慣れていると少し違和感を感じる。
ACアダプタはmini9とほぼ同じ感じで19V。とりあえず、起動時間の測定。ubuntu8.04でログイン画面まで40秒ほど、パスワードを打ってからは16秒ほど。GNOMEだとこんなもんだろう。その後ubuntu9.04のnetbook-remixを入れてみたが、起動時間はそれほど変わらなかった。
XFCE4やLXDEを試してみようとしたが、netbook特有のランチャーが邪魔をしてうまくいかない。いろいろといじっているうちに、GNOMEも立ち上がらなくなったので、再インストール。10インチあると、ランチャーのメリットはほとんど感じられないので、クラシックスタイルに。netbook-launcherをremoveしようとしたら、ubuntu-netbook-remixも消されそうになったので、それは止めておいた。
今度はアプリケーションの最大化が邪魔になって取り除こうとしたけど、weekly recipeに書いてある方法では、セッションが見つからずに一旦断念したが、「自動起動するアプリ」にあって、働かなくすることに成功。でも、結局maximusをremoveした。
また、ネットワークマネージャーをwicdに入れ替えたが、今回もネットワークが切断されてそのままではうまくいかなかった。前回と同様に手動でネットワークを認識させてインストールした。
最後に苦しんだのが、アプリケーションの一覧である。gnomeのパネルを右側に持ってきていたが、そこに表示されるアプリケーションは、アイコンではなく「・・・」になってしまうのだ。幅を30pixel以上にするとアイコンが出てくることを発見するまでに、いろいろと試行錯誤を用した。
やはり、一つの環境を気に入るようにカスタマイズするのは難しい。
2009年07月19日 ubuntu 9.04のタッチパッドの設定
_ gsynaptics
ノートを使っていると、キーボードを打つときに、タッチパッドに触れて、カーソルが変な場所に行ってしまって不便なことがある。タッチパッドの設定を変更するには、若干面倒な作業が必要になるようだ。まず、gsynapticsをインストールする。sudo aptitude install gsynapticsそして、これを有効にするために/etc/hal/fdi/policy/preferences.fdiを編集して、<device>のところに以下を書き加える。
<match key="input.x11_driver" string="synaptics"> <merge key="input.x11_options.SHMConfig" type="string">true</merge> </match>そして、再起動すると、設定が可能になる。lxdeだと、gsynapticsと打って起動するが、gnomeだと、設定のメニューから行けるようだ。とりあえず、タッピングの時間を短くしてみた。偶然触ってしまうときには、ゆっくりだろうと予想しているのだが、しばらく様子をみよう。
2009年07月20日 mini9のタッチパッドon xubuntu
_ タッチパッドの細かい設定
昨日は、gsynapticsを使ってタッチパッドの設定を行ったが、 synclientを使うと、さらに細かい設定ができるようだ。これをhalに組み込めば、起動時に反映される。まず、現在の設定を見るには、
synclient -lとする。様々なパラメータが出てくるが、trueは1、falseは0に対応しているようだ。これを眺めていると、いくつか疑問が解けた。たとえば、RTCornerButton=2となっており、右上をタップすると、中ボタンが押されたことになる。入力中にいきなり変な文字列がペーストされることがあったが、これが原因のようだ。四つのコーナーにボタンを割り振ることができるので、
RBCornerButton = 3 LBCornerButton = 1としてみた。すぐ下のボタンを押せば良い気がするのだが、しばらく使い勝手をみてみよう。
ほかに有用なパラメータを探してみたが、RightEdgeを変えると、VertEdgeScrollができる範囲が変わるようだ。VertTwoFingerScrollも試してみたが、よく分からなかった。 TouchpadOffは有用かもしれない。これを1にすると、タッチパッドが使えなくなる。文字入力のときに誤動作を防ぐことができる。これをショートカットに割り当てておけば便利かもしれない。PalmDetectで手のひらで触ったときの誤動作を防げるようだが、これもよく分からなかった。
このあたりのパラメータの意味を書いてあるサイトは無いかな。
2009年07月23日 実行できない。
_ noexec
メインのPCでシェルスクリプトを実行可能にして、実行すると、bash: ./temp.sh: /bin/sh: bad interpreter: 許可がありませんと出て実行できないことに気がついた。データを保存するためのHDDの中で実行していたのだが、
cat /etc/mtab |grep noexeとするとそのHDDが出てくるので、noexecとしてマウントされているのが原因と分かった。そこで、/etc/fstabに、execオプションを付け加えてみた。これで動くかな。
2009年07月26日 xubuntu9.04のprosperで日本語
_ gs-cjk-resourceがポイントらしい
最近、プレゼンテーションはlatexのprosperを使っている。prosperは比較的派手な視覚効果が使えるので、powerpointなんかを使う必要がなくなる。rb->dvi->ps->pdfと変換していて、rubyのソースを書き換えれば良いので、気軽に書くことができるのだが、psの中間ファイルが大きいのが難点である。
しかし、linuxで使うときには、日本語の設定で苦労する。debianのときにはjisftconfig addとすることと、dpkg-reconfigure cmap-adobe-japan1でoptionalを選ぶのが重要だった。普段はdebianで使えれば問題無いのだが、出張中に使おうと思うとnoteに入れているubuntuで動くと便利である。これまで、なかなかうまくいかなかったが、gs-cjk-resourceをインストールすれば良いようだ。2009/7/13の日記ではインストールしていたが、実際にはなぜかインストールされておらず、これを再度インストールしたらうまく行った。つまり、ubuntuのprosperで日本語を使うには、2009/7/13の通りで良いということだろう。