Imaxima
Imaxima とは?
Imaxima は Maxima の出力結果を美しく表示するための Emacs Lisp です。 利用にはインライン画像表示に対応した Emacs のほか、Maxima および TeX と Ghostscript が必要です。
インストール方法
Carbon Emacs パッケージ には imaxima.el が同梱されているので、Maxima のほか、TeX + breqn と Ghostscript を追加導入するだけで済みます。
また、MacOSX_WorkShop では Maxima なども含めた全ファイルを以下のコマンド一つだけで一括してインストール出来ます。
$ sudo apt-get install imaxima
Maxima のインストール
Maxima のページをご覧ください。
TeX + breqn (mh) のインストール
Mac OS X に TeX 環境を導入し、加えて breqn パッケージをインストールします。
breqn は現在 mh パッケージに含まれており、Morten Hoegholm によってメンテナンスされていますので、そちらのバージョンを利用したほうがよいでしょう。
MacPorts をお使いの場合には、
$ sudo port -d selfupdate $ sudo port install pTeX +utf8 $ sudo port install tex-mh
などとします。(tex-mh のインストール前に、/opt/local/share/texmf-local/tex/latex/breqn 配下に古い breqn パッケージをインストールしていた場合には、アンインストールしておくのを忘れないように。)
TeX を独自にインストールしているような場合には、
$ mkdir ~/Sources $ cd ~/Sources $ curl -O http://www.ctan.org/get/macros/latex/contrib/mh.zip $ unzip mh.zip $ cd mh $ find . -name "*.dtx" | xargs -L1 tex $ sudo install -m 0755 -d /usr/local/share/texmf-local/tex/latex/mh $ sudo install -m 0755 -d /usr/local/share/texmf-local/doc/latex/mh $ sudo install -m 0755 -d /usr/local/share/texmf-local/source/latex/mh $ sudo install -m 0644 *.sty *.sym /usr/local/share/texmf-local/tex/latex/mh $ sudo install -m 0644 *.pdf breqn-technotes.tex eqlayouts.tex README /usr/local/share/texmf-local/doc/latex/mh $ sudo install -m 0644 *.dtx /usr/local/share/texmf-local/source/latex/mh $ sudo mktexlsr
といった手順になるかと思われます。
kpsewhich を実行して、TeX に認識されているかどうかを確認した方がよいでしょう。
$ kpsewhich breqn.sty /opt/local/share/texmf-local/tex/latex/mh/breqn.sty
Ghostscript のインストール
Imaxima で数式を画像表示できるようにするため、Ghostscript を導入してください。
MacPorts をお使いの場合には、
$ sudo port install ghostscript
などとします。
Imaxima のインストール
Carbon Emacs パッケージ をお使いの場合には、既にインストール済みなので、この項は読み飛ばしてください。
Imaxima のサイトから imaxima-imath-0.99.tar.gz を取得し、適当なディレクトリに展開します。
$ cd ~/Sources $ curl -O http://members3.jcom.home.ne.jp/imaxima/Site/Download_and_Install_files/imaxima-imath-0.99.tar.gz $ tar xvfz imaxima-imath-0.99.tar.gz $ cd imaxima-imath-0.99 $ ./configure $ make $ sudo make install Carbon Emacs を Applications フォルダにインストールした場合: $ env EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs \ ./configure --with-lispdir=/Applications/Emacs.app/Contents/Resources/site-lisp/imaxima \ --infodir=/Applications/Emacs.app/Contents/Resources/info $ make $ make install
~/.emacs の設定
Carbon Emacs パッケージ をお使いの場合には、既に設定済みなので、この項は読み飛ばしてください。
ホームディレクトリの .emacs ファイルに以下のような行を追加。
(setq exec-path (cons "/opt/local/bin" exec-path)) (autoload 'imaxima "imaxima" "Image support for Maxima." t)
起動方法
M-x imaxima で起動します。下の図は Carbon Emacs パッケージ 2005/2/16 版で cmucl + Maxima を使っているところです。 なお、テキストベースに変更するには、変数 display2d に maxima を代入します。デフォルトは display2d:imaxima です。
各種設定
普通は必要ありませんが、マニュアルに書いてある設定のうち、主なものをまとめておきます。
imaxima-fnt-size
LaTeX の命令に準拠した名前(tiny から Huge まで)で、フォントの大きさを設定します。
(setq imaxima-fnt-size "large")
imaxima-latex-preamble
Imaxima が出力画像を生成する際に利用する LaTeX 文書のプリアンブルを設定します。
(setq imaxima-latex-preamble "\\usepackage{concrete}")
ただし、数学記号(インテグラルとか)は変更されないようです。pxfonts や txfonts の場合は、brenq.sty の最初の方に
\RequirePackage{pxfonts}\relax
などと書き込んでしまえば一応機能するようです。
imaxima-image-type
画像形式(png、tiff、jpeg)を指定します。ただし、jpeg だとあまり美しくないようです。
(setq imaxima-image-type 'tiff)
imaxima-maxima-options
maxima に渡すオプション引数を指定します。例えば、複数の lisp を共存させている場合に、利用する lisp を指定することが出来ます。
(setq imaxima-maxima-options "--lisp=clisp")
複数のcommon lisp 処理利用して切り替えを行いたい時は~/.emacsの(require 'imaxima)の後に
(setq imaxima-lisp-file imaxima-maxima-options) (defmacro defmaxima-exec (name lisp-options) `(defun ,name () (interactive) (setq imaxima-maxima-options (concatenate 'string imaxima-lisp-file " " ,lisp-options)) (let ((maxima-buf (get-buffer "*imaxima*"))) (if (bufferp maxima-buf) (let ((maxima-proc (get-process "imaxima"))) (if maxima-proc (message "imaxima is working now") (progn (kill-buffer maxima-buf) (imaxima)))) (imaxima))))) (defmaxima-exec imaxima-sbcl "-l sbcl") (defmaxima-exec imaxima-cmucl "-l cmucl")
と付け加えてください。(defmaxima-exec 関数名 オプション(文字列) )となっています。clispも同様に記述できます。これでimaxima-sbclでsbclを使ったimaxima , imaxima-cmuclでcmuclをつかったimaximaが起動します。他のimaximaが起動している時は動かないようになっています。また、処理系に関係ないデフォルトのオプションは imaxima-lisp-fileに記述すればいいです。(ここではデフォルトのimaxima-maxima-optionsに割り当てています。(imaxima.lispを最初に読み込むようにオプションが設定されているようです。)
各種色の設定
(setq imaxima-bg-color "PaleGreen4") (setq imaxima-fg-color "LightGoldenrod1") (setq imaxima-equation-color "DarkOrange1") (setq imaxima-label-color "DarkOrange1")
数式イメージの拡大率
(setq imaxima-scale-factor 1.2)
トラブルシューティング
FreeType2 を有効にした gs 8.15 を使っている場合、正しく機能しない
FreeType2 を有効にした gs 8.15 を使っている場合、正しく機能しないかもしれません。 その場合は、とりあえず imaxima.el の 478 行目を次のように変更すれば問題を回避できます。
修正前:(string-match "\\(GNU\\|ESP\\) Ghostscript 7.05" 修正後:(string-match "GPL Ghostscript 8.15"
注意 7.05 や素の 8.15 などを使っている場合は変更しないで下さい。
その他
- 本田康晃さんが Jesper Harder さんから Imaxima の開発を引き継がれたそうです。(2005/08/01)