記事への数式埋め込み / 数式のLaTeX形式変換ツール
記事に数式を埋め込みたい。色々調べていると、MathJaxというJavascriptライブラリが良さそうだったので導入してみる。MathJaxは[math]\LaTeX[/math]形式で入力された数式を数式用のWebフォントを使ってタイプセットするというもの。例えば ‘はてなブログ’ はユーザーの見えないところでこれが実装されているらしく、有名どころも使っているすごいライブラリ。テキスト形式なので拡大してもファントが崩れないし、検索性も良い。
MathJaxの導入
今回はWordPressに数式を表示させる方法~MathJax編~を参考に作業を行った。また、カスタマイズに関してはMathJaxの使い方で詳しく説明されている。
取り敢えず上記ページに倣ってheader.phpのheadタグ内に次のコードを記載。
<!-- MathJaxを使うための記述開始 -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({ tex2jax: { inlineMath: [['[math]','[/math]']] } });
</script>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
</script>
<meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
するとmathで囲ったLaTeXコードがタイプセットされる。例えば、以下がコードとそれに対応する出力。
[math]\oint _{s}E\cdot ds=-\dfrac {d\Phi _{B}} {dt}[/math]
[math]\oint _{s}E\cdot ds=-\dfrac {d\Phi _{B}} {dt}[/math]
ただしこの場合、インテグラルが省スペースで表示されていることが分かる(シグマ記号ならより顕著なのだが)。これは数式が文中形式になっているためであり、独立行で表示したい場合は[math]直後に\displaystyleを加えれば良い。
[math]\displaystyle \oint _{s}E\cdot ds=-\dfrac {d\Phi _{B}} {dt}[/math]
[math]\displaystyle \oint _{s}E\cdot ds=-\dfrac {d\Phi _{B}} {dt}[/math]
数式をLaTeX形式に簡単に変換したい
MathJaxで数式埋め込みできるようになったのはいいけど、数式をLaTeX形式にするのが凄く面倒。そこで何とかして数式を簡単にLaTeX形式に変換する方法が無いのか調べてみた。いくつかあったけど、例えばMathJax(2)数式をLaTeX形式に変換してくれるツールでは2種類のサービスが紹介されていた。1つはmyscript.comのMathというサービスで、手書き入力された数式をLaTeX形式に変換してくれるというもの。これがなかなか使い勝手が良くて、以下のように複雑(?)な数式もきちんと認識してくれた。
もう1つはラテックスの数式エディタというオンラインエディタで、Wordの数式エディタのようにテンプレートや記号アイコンを順次選択して入力するというもの。このサービスは各数式の記法が学べるので良さそうだなーと思ったが、何度トライしてもエラーで使えない。mathtex.htmlの(8)を読めと言われたのでページにアクセスしてみたが、(8)という項目が無いので諦めました。
また以下のサイトでは画像をアップロードしてLaTeX形式に変換するサービスが紹介されていた。画像認識のため精度は良いし、誤認識があっても修正可能なので使えそう。
以上、当面はここに記載したサービスを使っていくつもりです。