maxima というフリーかつオープンソースの数式処理システムがある。これは、Common Lisp 上で動いており、sbcl などの高速な Common Lisp 処理系で使えば、非常に快適である。私も授業の教材作りなどで良く使っている。その Emacs の上での洗練されたインターフェースが imaxima で、例えば結果は TeX を利用して美しく表示される。
現在は maxima 本体の取り込まれているので、maxima をインストールした際に、ソースを展開したディレクトリの中の interfaces/emacs/imaxima
に移動し、そこで ./elisp-comp
を実行すれば、バイトコンパイルしてくれる。
後は、その下の emaxima
や
imaxima
や
misc
というサブディレクトリのファイルの下のファイルを、例えば /usr/share/emacs/site-lisp/maxima/
以下にでも入れておけば OK.
私の現在の .emacs.el
の中の imaxima 関連の設定は次の通り。
(autoload 'imaxima "imaxima" "Image support for Maxima." t) (autoload 'imath-mode "imath" "Interactive Math minor mode." t) (setq imaxima-pt-size 12) (setq imaxima-latex-preamble "\\usepackage{cmbright}\n")
maxima が このように設定してあれば、M-x imaxima
で起動する。基本的に後は通常の maxima の使い方と同様。
結果をコピーして使いたいときなど、もし TeX ではなくテキストで出力したい場合は、
(%i1) display2d:true;とし、元に戻したいときには、
(%i2) display2d:imaxima;とする。