数式をマークアップ言語で論理的に表現できるMathMLについて簡単に解説したいと思います。まずMathMLとはいったい何なのかから始めて、MathMLの書き方やMathMLの使用例などについて触れていきたいと思います。

MathML概観

MathMLについての概観を簡単に解説したいと思います。まずMathMLとはいったい何なのかから始めて、MathMLのマークアップ方法やMathMLの使用例などについて触れていきたいと思います。

MathMLとは何か?

MathMLとはW3Cが発表した、数式をマークアップ言語で論理的に表現する言語です。これは同じくW3Cが発表したXMLによって表現されているので、XMLが持つ利点(簡単で理解しやすい、ネットワークを通じた情報交換に利用しやすい、オブジェクト指向言語との親和性が高いなど)はそのままMathMLも持っていると考えてもらえればわかりやすいかと思います。冒頭に述べたようにMathMLは数式を論理的に表現する言語なので、MathMLで何ができるのかと問われても、それはあくまで「数式を論理的に表現できる」と言うことだけです。しかしこの「数式を論理的に表現できる」ということによってMathMLが、グラフ表示ソフト・数式印刷ソフト・数式読み上げソフトなどの様々な分野に応用されることが考えられます。しかし多くの人には、それらの応用はMathMLを用いなくともすでに実現されている事ばかりだと感じられるかもしれません。しかしMathMLはXMLによって表現されていることなどから、誰にでも扱いやすく、また標準化されているので、特にネットワークを通じて数式を利用する場合に適していると言えます。
また、そういった応用の中でも注目されている一つがWebブラウザ上での数式の表現です。現在もっとも普及しているWebブラウザであるNetscapeNavigatorInternetExplorerなどは、現在は標準の状態で数式を表現することはできません。しかし、amayaと言うWebブラウザでは数式が表現できますし、techexplorerをplug-inとして用いることでNetscapeNavigatorやInternetExplorerでも数式を表現できるようになります。このように現在、MathMLは数式をWebページ上で表現する技術として利用されつつあります。

MathMLのマークアップ方法

MathMLで数式を表現する方法として、このプレゼンテーション・マークアップとコンテント・マークアップの2つがあります。そのうちプレゼンテーション・マークアップとは数式を見たままの形、見たままの順序で記述していく方法です。具体的に言うならば「a+2」の場合は、「a」と言う変数・「+」と言う演算子・「2」と言う数字、と言う順序で表現します。そして、変数は、数字は、演算子は< mo>、と言うタグで表現されるので、「a+2」はa+ 2という様に表現されます。このような表現の仕方がプレゼンテーション・マークアップです。この表現方法のために28個のタグが用意されています。
次に、コンテント・マークアップについて述べたいと思います。コンテント・マークアップとは、演算子や関数などが既にタグとして用意されていて、そのタグと被演算子を用いて、ポーランド記法のように表現する方法です。具体例を挙げると「a+2」の場合は、「+演算子」・「a」と言う変数・「2」と言う数字、と言う順序で表現します。ここで、数字は、変数は、+演算子はと言うタグで表されるので、「a+2」はa2と言うように表現されます。このような表現の仕方がコンテント・マークアップです。この表現方法のために75個のタグが用意されています。
また、プレゼンテーション・マークアップとコンテント・マークアップは混在して使用することもできます。具体的な方法は、後のそれぞれのマークアップの解説の中で触れていきます。

SoftwareとMathML利用環境

実際にMathMLを利用するためには、どのようなソフトウェアを用い、どうすればよいのかを解説したいと思います。ここではamayaとtechexplorerについて解説します。

techexplorerの場合

まずMathMLを実際に利用できる環境としてtechexplorerを取り上げます。techexplorerを NetscapeNavigatorやInternetExplorerにPlug-inすることで、MathMLを用いてin-lineで数式を表示することができます。(TEXを用いて表示することもできますが、ここでは取り上げません)この方法では、MathMLで数式を書いたファイルを用意して、そのファイルを(ちょうどインライン画像を扱うのと同じように)techexplorerで呼び出して数式を表示することができます。ただし、 techexplorerではリモートにあるMathMLファイルを表示することはできないようです。(できるかもしれませんが私が試した限りでは不可能でした、Professional Editionを買うとできるのかもしれません)それでは、techexplorerを用いてMathMLで数式を表現する方法の解説に移りたいと思います。(techexplorerはWindows、Linux、Solaris、IRIX、AIXなどで使用できますが、ここではWindows版について解説します。それ以外のOSでも大体同じだと思います)

- ダウンロードとセットアップ

NetscapeNavigator4.0またはInternetExplorer4.0以降のブラウザを持っていない方はNetscapeのサイトからダウンロードします。次に、IBM techexplorerのページからtechexplorerをダウンロードしますが、Inductory Editionを使用するためにはユーザー登録をしなければならないので、registorationサイトでユーザ登録を済ませます。その後ダウンロードという事になりますが、この一連の流れは、techexplorerのDownloadページに書かれているで、その指示に従ってダウンロードを済ませて下さい。(私は、preview Version 2.5をダウンロードしました。ファイル名は'te3225p1intro.exe'です)
ダウンロードが完了後、ダウンロードしたファイルを実行します。後はインストーラの指示に従って下さい。これでtechexplorerのインストールは終了です。
次に、techexplorerのサンプルを見てみます。スタートメニューから「プログラム」→「IBM techexplorer HyperMedia Browser」→「Examples」と選択します。すると、ブラウザが起動し、サンプルを表示することができます。きちんと数式が表示されていれば、インストールは成功です。

- 実際の数式の表示の仕方 ~数式のみの表示

techexplorerを用いPlug-inで数式を表示するためには、MathMLでマークアップされた数式のファイルを用意します。例として'a=1'と言う数式をMathMLで書いてみます。これを、例えば'test.mml'という名で保存します。(ファイル名は任意ですが、拡張子は mmlにして下さい)


a
=
1

このファイルをブラウザで呼び出します。(ファイルをドラッグ&ドロップするか、ブラウザのURLにファイルを指定する)するとtechexplorerが起動し、数式が表示されます。以下はその例です。

mathml-img1

- 実際の数式の表示の仕方 ~インラインでの表示

次に、インラインでの表示の仕方を解説します。インラインで表示する場合はMathMLでマークアップした数式のファイル(数式のみの表示の場合で使用した物と同じ物)と、そのファイルを呼び出す側のHTMLファイルが必要になります。前者は上の例と同じ物を使うとして、呼び出す側のHTMLファイルの例を挙げます。これを、例えば'test.html'という名で保存します。(ファイル名は任意ですが、拡張子はhtmlにします)


aに1を代入します
<object width="100%" height="80" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="./test.mml" /><embed width="100%" height="80" type="application/x-shockwave-flash" src="./test.mml" /></object>

これら2つのファイルを同じディレクトリに置いて、htmlファイルの方をブラウザで呼び出します。(ファイルをドラッグ&ドロップするか、ブラウザのURLにファイルを指定する)するとtechexplorerが起動し、数式が表示されます。以下はその例です。

mathml-img2

amayaの場合

次にMathMLを利用できる環境として、amayaを紹介します。amayaは、NetscapeNavigatorや InternetExplorerと同じブラウザソフトで、W3Cによって発表されました。このブラウザでは、MathMLをHTML文書内に書いて、数式を表示することができます。またamayaはMathMLのエディターとしても用いることができます。(amayaはWindows98/95/NT、 Linux、Solaris、AIXなどで使用できますが、ここではWindows98版について解説します。他の環境でもほとんど同じだと思います)

- ダウンロードとセットアップ

まずamayaのダウンロードから始めますが、amayaは[[W3Cのamayaのページ:http://www.w3.org/Amaya/]]からダウンロードできます。ここでは、amaya2.2(ファイル名'amaya-Windows98-2.2.exe')をダウンロードしました。ダウンロードが終わったら、インストールします。ダウンロードしたファイルを実行するとインストーラが起動しますので、後はインストーラの指示に従って下さい。~
インストールが終了すると、スタートメニューから「プログラム」→「Amaya」→「amaya」と選択すれば起動することができます。

- 実際の数式の表示の仕方

amayaの場合は、MathMLでマークアップされた文書をMATHタグでくくり、それをそのままHTML文書に差し込むだけです。以下がその例です。これを例えば'test2.html'と言ったような名前で保存します。


This is a test.

<math>     a</math>
<math>     =</math>
<math>     1</math>



このファイルの方をamayaで呼び出します。(ファイルをドラッグ&ドロップするか、ブラウザのURLにファイルを指定する)数式が表示されます。以下はその例です。

mathml-img3

上の例からも想像できるかもしれませんが、現時点(1999年11月)ではamayaの日本語版は発表されていませんので、amayaでは日本語を使用することができません。