MathML」タグアーカイブ

TeXっぽいものを実装するにあたっての雑記

もしもそれがTeX言語を受理し、TeXのように動くのであれば、それは紛れもないクソである — 詠み人知らず

前回の記事に書いたようなLaTeX数式をMathMLに変換するやつを、自分で実装したい。そのためには、マクロの展開など、TeXの挙動を真似ることが必要である。

この記事では、TeXのようなものを作るにあたって感じるTeXのアレな点や、気になる拡張機能を挙げていきたい。

全体的に、TeXの重箱の隅のような話題をまとまりもなく書き連ねているので、読み物としてはよろしくないかもしれない。

続きを読む

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 の意)