ASCIIMath を使う

作成日:2018-04-10
最終更新日:

ASCIIMathML から ASCIIMath へ

MathML より、また TeX よりタイプ数が少ない数式記法に ASCIIMathML という処理系があった。JavaScript で数式を解析し、自前でレンダリングまで行なっていた。

これが過去形となっているのは、JavaScript で書かれた当初の処理系はメンテナンスがされていないため、 もう ASCIIMathML は使われていないからである。

しかし、数式記法のみは他のレンダリング系でも適用可能である。幸いなことに、TeX や MathML でのレンダリングで定評のある MathJax が、 ASCIIMathML の数式記法も解釈するようになっている。 現在では、ASCIIMathML の(レンダリング部分は除いた)数式記法のみを指すときに ASCIIMath と (ML を省いて)称する。

ASCIIMath がレンダリング部分を MathJax にゆだねたことで、 ASCIIMath がほとんどのブラウザで表示できるようになった。 実際の ASCIIMath の記法と表示は、MathJax のページを参照されたい。

ASCIIMath 記法の MathJax と ASCIIMathML オリジナルレンダリングとの違い

乗算記号

乗算記号は ASCIIMath=MathJax では times のみ使える。ASCIIMathML オリジナルでは times のほか XX でも可能である。

カスタマイズ

MathJax で ASCIIMath 記法を使うとき、基本的にカスタマイズはできないと思った方がよい。 少なくとも日本語では、その情報が手に入らない。英語でも難しい。 ASCIIMath でカスタマイズをしようなどという悪だくみは起こさずに、カスタマイズは TeX 記法で行いなさい、というのが MathJax の希望だろう。

一方 ASCIIMathML では、asciimath.newcommand などを使うことで容易にカスタマイズできる。 また、自前でダウンロードした ASCIIMathML.js を直接変更することも可能である。

ASCIIMath でできないこと

もちろん、ASCIIMath でできないことは多くある。

太文字のイタリック

一番困るのが、太文字(ボールド)のイタリックが表記できないことだ。 ベクトルなどで太字にすることはよくある。

ギリシャ文字のイタリック

ついで困るのがギリシャ文字のイタリックが表記できないことだ。ガンマ関数などは、イタリックにしたい。


まりんきょ学問所コンピュータの部屋マーク付け言語手習い > ASCIIMath を使う


MARUYAMA Satosi