MathML より、また TeX よりタイプ数が少ない数式記法に ASCIIMathML という処理系があった。JavaScript で数式を解析し、自前でレンダリングまで行なっていた。
これが過去形となっているのは、JavaScript で書かれた当初の処理系はメンテナンスがされていないため、 もう ASCIIMathML は使われていないからである。
しかし、数式記法のみは他のレンダリング系でも適用可能である。幸いなことに、TeX や MathML でのレンダリングで定評のある MathJax が、 ASCIIMathML の数式記法も解釈するようになっている。 現在では、ASCIIMathML の(レンダリング部分は除いた)数式記法のみを指すときに ASCIIMath と (ML を省いて)称する。
ASCIIMath がレンダリング部分を MathJax にゆだねたことで、 ASCIIMath がほとんどのブラウザで表示できるようになった。 実際の ASCIIMath の記法と表示は、MathJax のページを参照されたい。
乗算記号は ASCIIMath=MathJax では times のみ使える。ASCIIMathML オリジナルでは times のほか XX でも可能である。
MathJax で ASCIIMath 記法を使うとき、基本的にカスタマイズはできないと思った方がよい。 少なくとも日本語では、その情報が手に入らない。英語でも難しい。 ASCIIMath でカスタマイズをしようなどという悪だくみは起こさずに、カスタマイズは TeX 記法で行いなさい、というのが MathJax の希望だろう。
一方 ASCIIMathML では、asciimath.newcommand などを使うことで容易にカスタマイズできる。 また、自前でダウンロードした ASCIIMathML.js を直接変更することも可能である。
もちろん、ASCIIMath でできないことは多くある。
一番困るのが、太文字(ボールド)のイタリックが表記できないことだ。 ベクトルなどで太字にすることはよくある。
ついで困るのがギリシャ文字のイタリックが表記できないことだ。ガンマ関数などは、イタリックにしたい。
まりんきょ学問所 > コンピュータの部屋 > マーク付け言語手習い > ASCIIMath を使う