MathMLを使ってみている
TeXでいいじゃん、と感じられたあなた。まあ、確かにそうです。
ただ、家に以前買ったMathMLの書籍があるのと、それからプログラミングで取り扱うには、明示的なタグ構造を持ったMathMLの方が扱いやすいかな、という思いもあって調べてみることにしました。ちなみに、同じ理由でSVGも好きですけど、それはまた別のお話(Canvas APIは別の観点で好きなので、結局なんでも好き)。
よくわかっていなかったんですが、まず、ブラウザによっては素で書いても対応しているんですね。なんと。すごい。 試してみると、macOS Safariだと以下のコードでも「えっくすのにじょう」が表示されます。
<html> <body> <math> <msup> <mi>x</mi> <mn>2</mn> </msup> </math> </body> </html>
どのブラウザでも対応させたいとなると、MathJaxを使え、ということらしいです。MathJaxって、TeX記法以外にも対応しているのか〜と思って適当にコピペしてみる。CDNから読み込めるみたいなので。ついでに少し複雑な数式にしてみます。
<!DOCTYPE html> <html> <head> <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=MML_SVG"></script> </head> <body> <math> <msup> <mi>e</mi> <mi>x</mi> </msup> <mo>=</mo> <munderover> <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>∞</mi> </mrow> </munderover> <mfrac> <mn>1</mn> <mrow> <mi>n</mi> <mo>!</mo> </mrow> </mfrac> <msup> <mi>x</mi> <mi>n</mi> </msup> </math> </body> </html>
と思ったらエラーが出てしまいました。
調べてみると、MathJaxの読み込み時のURLのクエリパラメータ、config
が大切らしいです。
以下のように変更してやってみる。
config=TeX-AMS-MML_HTMLorMML
それでもだめなので、もしやと思って
<html lang="ja"> <head> <meta charset="utf-8">
というふうにlang属性とcharsetをつけたら、いけました(実際にはcharsetだけでいいっぽい?)
なんだかしょぼくてすいません。ひきつづき、やってみましょう。