MathMLとは?MathMLはウェブページ上で数式を表現するためのマークアップ言語です。定積分の式だってMathMLを使えばこの通り(MathMLに対応したブラウザでないと確認出来ません)。xその存在自体は1999年からあったようですが、数式を表示したいというニーズがあんまりないのか、いまいち普及し切れていないようです。普及し切れていないMathMLなので、ブラウザがMathMLに対応した場合も大々的に宣伝されることはなく、リリースノートにひっそりと一行だけ記されるような状況です。実際、Ver.1の頃からFirefoxを愛用していますが、いつからMathMLに対応したのかわかりません。手元にあるブラウザで試したところ、Mac版のFirefox(Ver.13.0)とSafari(ver.5.1.7)でMathMLの対応を確認出来ました。Chromeは(wikipediaによると)Ver.10でMathMLに対応したらしいのですが、Mac版のChrome(Ver.19.0.1084.56)ではダメでした。Safariと同じWebKitベースならネイティブで表示出来そうなものですけれども。確認はしていませんが、Operaは対応しているらしいです。確認はしていませんが、IEはダメっぽい(それでこそIEだよ)。IEも別でプラグイン的な何かを入れれば見られるようになるみたいです。MathML形式で数式を書く方法MathMLでの数式の書き方はTeXに比べるとかなり複雑です。「x=1/2」を表現したい場合は以下のように書きます。</mfrac></mrow></math>これが以下のようになります(MathMLに対応したブラウザでないと確認出来ません)。2さて、これを手打ちするのはちょっと(と言うかかなり)めんどくさいです。WYSIWYG的なソフトを使ってMathMLを出力させるのが良いと思います。上記の「X=1/2」のような簡単なものであれば、LibreOffice(OpenOffice)の数式エディタでも出力出来ます。数式エディタで式を書いて、保存(または、別名で保存)する時にファイルの種類として「MathML」を選択すればOK。定積分のような複雑なものになると、LibreOfficeの出力するMathMLではビミョーな表示になっちゃいます。マークアップ自体も適切ではないです。複雑な式をちゃんとMathMLで表現したい場合は、Firefoxのアドオンである「FireMath」を使うのが良いと思います。入力方法がスマートでは無い感じはしますが、その辺はまあ、無料ですので。慣れればそんなに悪くもない......かも。素のWordPressでMathMLを表示すると場合によっては「&ApplyFunction;」や「&DifferentialD;」がそのまま出てくることがあります。これは、wp-includes/formatting.phpの中にあるwptexturize関数とconvert_chars関数の中に以下のコードが入っているためです。$content);これだと実体参照として認識される文字数が1-8文字までなので、8文字以上ある「&ApplyFunction;」や「&DifferentialD;」は実体参照ではないと見なされ、「&」が「&amp;」に変換されてしまいます。そのため、実体参照ではなく、文字列として表示されてしまいます。13文字までになるように書き換える上記のコードを以下のように書き換えて、13文字まで実体参照として認識されるようにすれば、ちゃんと式が表示されると思います。$content);もしかしたら13文字以上の実体参照があるかもしれません。その場合は適宜文字数を増やせば表示されるようになると思います。この方法はformatting.phpを直接書き換えているため、WordPressをアップグレードする度に該当部分を書き換える必要があります。WordPress側で対応してくれるとありがたいのですけれども。wptexturizeとconvert_charsをフィルタから外すもう一つの方法としては、wptexturizeとconvert_charsをフィルタから外して無効にしてしまう方法があります。テーマのfunction.phpに以下のコードを挿入するか、プラグインとして機能させればおk。'convert_chars');この方法ならばWordPressをアップグレードしても再度コードの書き替えが必要になることはありません(WordPressの仕様が変わらない限り)。これらの関数は&を&amp;に置き換える以外に、ビミョーな文字の置換をしてたりするので、場合によってはビミョーに投稿の見た目が変わるかもめ。言う感じicoroでもこれまでにいくつか数式を使う場面があったのですが(おばけパフェとかね)、その時は式を画像にしたり、むりくりテキストで表現したりしていました。MathML使ってみたら結構良い感じだったので、これからはMathMLを活用していこうかな、と思ったりしております。