タグ別アーカイブ: MathML

LaTeX数式 to MathML を考える

モチベーション

Web で数式を表示するための仕様として、 MathML というものがある。ただ、 MathML はブラウザーの対応がイマイチなので、もっぱら MathJax や KaTeX などの JavaScript で書かれた代替手段を使うことが多いだろう。しかし、 EPUB の場合は標準的な数式記述方法は MathML なので、 LaTeX 数式を MathML に変換する必要がある。

そこで、「LaTeXで記述された数式をMathMLに変換する」ことを考える。

(尤も、 Kindle は MathML に対応していなかったり、EPUBリーダーで多く採用されていると思われる WebKit 系のレンダリングエンジンでどれほどの見た目になるのかという問題がある。しかし、それらの問題はおいておく。)

この記事では LaTeX で書かれた単体の数式を対象とし、 LaTeX 文書をまるごと HTML+MathML に変換することはここでは扱わない。また、可換図式など、 MathML が扱っていなさそうな対象は扱わない。 続きを読む

LaTeX の数式をターミナルで手軽に MathML に変換する

テキストエディタで HTML 文書を直書きしていて、 MathML で数式を書きたいけど MathML 直書きは嫌だ!という時。Pandoc を使えば、ターミナルで手軽に LaTeX 形式の数式を MathML に変換できる。

例:

$ pandoc -f latex -t html5 --mathml
\(\frac{1}{e^z-1}\)
^D
<p><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mfrac><mn>1</mn><mrow><msup><mi>e</mi><mi>z</mi></msup><mo>−</mo><mn>1</mn></mrow></mfrac><annotation encoding="application/x-tex">\frac{1}{e^z-1}</annotation></semantics></math></p>

太字の部分が自分で入力する部分である。(^D は Control-D の意)