Installing imaxima on Snow Leopard

先日のエントリにてMac OS X 10.6に数式処理システムのMaximaをインストールする方法を記載しました。今回のエントリでは、Cocoa EmacsとteTeXにて構築している環境にimaximaをインストールする方法を記載します。


imaximaは本田康晃さんががメンテナンスされているMaximaEmacsフロントエンドです。Maximaは数式を一種のアスキーアートとして出力しますが、imaximaではこの出力をLaTeXレンダリングし、バッファに埋め込んでくれます。

アスキーアートでの出力は多少難解で数式を誤読することが少なくないですが、imaximaを併用することにより明瞭な数式にて考えを進めることが出来るようになります。作業効率はアスキーアートを併用したものと比較にならないほど改善します。


さて、私の環境はCocoa EmacsとteTeXで構築しています。この環境でimaximaを用いるにはimaximaそのものをインストールする他に、mhというTeXのパッケージのインストールが必要でした。正確にはmhパッケージに含まれているbreqnパッケージがインストールされていればよいとのことでしたが、mhパッケージごとインストールすることにしました。

mhパッケージはMorten HoegholmさんがメンテナンスをされているTeXパッケージで、CTAN: directory: /tex-archive/macros/latex/contrib/mhから入手可能です。まずパッケージを展開し、.dtxファイルを元に.styと.symファイルをコンパイルします。

> unzip mh.zip
> cd mh
> ls -1 *.dtx | xargs -L1 tex

コンパイルの過程で、.styと.symファイル以外にも中間ファイル等の様々な拡張子のファイルが生成されますが、私の環境では以下のように配置することにしました。

/usr/local/teTeX/share/texmf-dist
+ doc
| `-- latex
|     `-- mh
|         +-- README
|         `-- *.pdf
+ source
| `-- latex
|     `-- mh
|         `-- *.dtx
` tex
  `-- latex
      `-- mh
          +-- *.sty
          `-- *.sym

さて、この方針にしたがってファイル群をコピーします。

> sudo mkdir -p /usr/local/teTeX/share/texmf-dist/{doc,tex,source}/latex/mh
> sudo cp *.sty *.sym /usr/local/teTeX/share/texmf-dist/tex/latex/mh
> sudo cp *.dtx /usr/local/teTeX/share/texmf-dist/source/latex/mh
> sudo cp *.pdf README /usr/local/teTeX/share/texmf-dist/doc/latex/mh

その後にmktexlsrをルート権限にて実行し、TeXにパッケージ群を再検索させます。

> cd /usr/local/teTeX/bin
> sudo ./mktexlsr

最後に、kpsewhichコマンドを用いて新たにインストールしたパッケージが本当に検索されたか確認しておくとよいでしょう。以下では、imaximaから使用されるbreqnを検索しています。

> kpsewhich breqn.sty
/usr/local/teTeX/share/texmf-dist/tex/latex/mh/breqn.sty

以上でmhパッケージのインストールは終了です。


さて、ではimaximaをCocoa Emacsにインストールしましょう。まず、Download and Install (imaxima and imath homepage)からimaximaのtarボールを取得します。本エントリ執筆時にはimaxima-imath-1.0.tar.gzが最新ヴァージョンでした。

以前、Muse Installation with Cocoa Emacsでも記述したように、Cocoa Emacsはバンドルという形式を用いているため、インストールするパスは環境によって様々です。本エントリでも、環境変数EMACS_APP_PATHにEmacs.appディレクトリのパスが指定されているものとします。例えば、私の環境ではCocoa Emacsを~/Applications以下に格納しているため、環境変数EMACS_APP_PATHは以下のようにします。

> export EMACS_APP_PATH=~/Applications/Emacs.app

それではimaximaをビルドしましょう。configureには環境変数EMACSにて指定されているバイナリを用いることと、インストール先を指定します。また、make installの際にはsudo伴わないほうがよいでしょう。

> tar zxvf imaxima-imath-1.0.tar.gz
> cd imaxima-imath-1.0
> EMACS=$EMACS_APP_PATH/Contents/MacOS/Emacs ./configure \
    --with-lispdir=$EMACS_APP_PATH/Contents/Resources/site-lisp/imaxima \
    --infodir=$EMACS_APP_PATH/Contents/Resources/info
> make
> make install

以上でimaximaのインストールは終了です。


最後に.emacsの設定を行います。Download and Install (imaxima and imath homepage)Set up your Emacsを参考にして、.emacsに以下の設定を追加しました。

;; maxima

;;; add autoload of imaxima and imath.
(autoload 'imaxima "imaxima" "Maxima frontend" t)
(autoload 'imath "imath" "Interactive Math mode" t)

この他にもload-pathを設定しておかなければなりませんが、その設定方法は個々人の環境で様々であると思います。本エントリでは割愛します。

まとめ

今回はMaximaEmacsフロントエンドであるimaximaをCocoa EmacsとteTeXを基調としたMac OS 10.6環境にインストールする方法を紹介しました。

Maximaとimaximaの組み合わせは、数式を扱うプロトタイプの作成を行なう場合、またPostScriptを用いた作図の際に大変重宝しています。