2020年4月3日金曜日

LaTeXによる数式の表示

コンピュータの書類できれいに数式を書くのに難儀している。簡単な数式が書ければ大抵の場合はいいのだが、Wordの数式を挿入するシステムはタイピングで素早く数式を書いていくことはできないので使いにくい。また、数式を別の書類や媒体に移していくときに数式のところをイメージデータなどにしてペーストするのにも向かないようだ。

検索していると、慣れている人はLaTeXの表記を使って数式を書いているようだった。これは昔から知っていたが、そこまでの使用頻度もなかったので、LaTeXのことは勉強することもなかった。とりあえず、下のリンクの情報を参考にして情報収集した。

The LeTeX Project: https://www.latex-project.org

TEX Wiki LaTeX入門: https://texwiki.texjp.org/?LaTeX入門

LaTeX wikipedia: https://ja.wikipedia.org/wiki/LaTeX

LaTeX コマンド集: http://www.latex-cmd.com

2年前海外大学の研究室へ滞在するためのフェローシップを申請するときに、現地の先生に協力してもらってプロポーザルを準備したときに、その先生は申請書の雛形をLaTeX形式で送ってくれた。PDFにして出力した書類があったので読めたが、編集するためにはLaTeXの表記を調べなければならないのでやや難儀した(そしてそのプロポーザルは残念ながら採択されなかった...)。それからも、論文で数式を挿入するときもWordの数式挿入ツールでしのいでいた。実際にLaTeXでたくさん書類を作ることはないだろう。

だが、最近iPadやiPhoneのアプリを調べていると、LaTeX形式で数式を書いたら、それを簡単に変換してイメージやPDF出力をしてくれるものがいくつもあることを知った。

TeX Anywhere: https://eheitfield.github.io/tex-anywhere.html
- 使いやすそう。書いた数式をimageやLaTeX形式等で保存できる。
- 背景の色や数式の色を変更して保存することができる。
- 画像大きさも変更することが可能。
- お布施できるようになっている。

equalize: https://github.com/Kamik423/equalize/issues
- シンプルな作りでLaTeXで書いた数式をimage等で保存できる。
- わずかなお布施(150円くらい)を払ったらPDF保存や背景変更等ができる。

Snip: https://mathpix.com
- アカウント作成必要
- 画像を取り込んで、数式をイメージやLaTeX表記などで出力できるみたい。

上記のようなappで数式を作って保存すれば、それをPCの方にAirdropで移したり、iPad内で保存してテキストエディタの書類に挿入したりすることで、簡単にきれいな数式を作って使うことができそうだ。ただ、LaTeXに慣れ親しんだ人なら簡単だろうが、あまり馴染みがないのでとりあえず使いそうな表記を覚えていきたいと思う。


Tex Anywhereで手軽にLaTeXコードと画像をできる

 TeX  Anywhereをのぞくと、数式を示すコードがいくつか例として入っているのがわかった。


一番上のベイズの定理を示してみると、イメージとLaTeXコードの両方が表示される。


LaTeX コードを簡単にコピーすることができるし、下のTのボタンを使って、イメージの方の色や背景を変えることができた。
LaTeXコードにすると、ベイズの定理は以下のようになる。

P(A~|~B) = \frac{P(B~|~A)P(A)}{P(B)}

下のTの字のところで、背景色を変えたり、文字色を変えたりすることができる。このイメージを保存したり、AirDropでMacに送ったりすることができるので、試してみたところ、とてもスムーズに数式を載せることができた。


iOS版のsnipやMac版のMathpix snipping toolを使うと、画像キャプチャからイメージファイルやLaTeXコードが保存できて便利

mathpixもアカウントを登録して使ってみたところ、非常に便利なことがわかった。デスクトップ版とスマートフォン版の両方があり、同一のアカウントでログインできるようになっていた。フリー版は使用回数に制限があるらしく、制限なく使いたい場合は月5ドルか9ドルくらいのサブスクリプションになっているようだ。

何が便利かというと、画面キャプチャや写真撮影した中の数式をPNGイメージとLaTeXの両方に変換してくれることだ。パソコン版の場合、control + command + Mでキャプチャのモードになり、キャプチャした中の数式を探してくれる。スマホ版の場合は写真をとって、数式がある領域を指定するようになっていた。そして、両方の機材で使っている場合はその情報が同期されるようで、スマホ版のキャプチャもデスクトップ版の方の履歴に表示されるようになっていた。

スマホやIPadのみで作業したい場合は、snipで変換したLaTeXをTeX Anywhereなどにペーストすることで、コードを書き換えたりイメージの編集をしたりなど便利に使えそうなことがわかった。

この画面は、snipで本の数式を撮影して、LaTeXコードに変換したところ。変換の信頼度みたいなものも一緒に表示されるようだ。






Tajima's DのLaTeXコード表示


せっかくなので、これらのアプリを使って実際の式を変換してみた。下はTajima's Dの数式を変換した画像とそのコードを示している。

D_{Tajima} = \frac{\hat{\pi}-\hat{\theta}}{C}






C=\sqrt{\left(c_{1} / a_{1}\right) S_{n}+\left[c_{2} /\left(a_{1}^{2}+a_{2}\right)\right] S_{n}\left(S_{n}-1\right)}


Tajima's Dはπとθが中立を仮定したときに等しいことから、中立からの逸脱を検出することに使うことができ、この二つの変異量の引き算をnormalizing constantで割る形になっている。

いろいろな数式を変換してLaTeXコードをみていると、なんとなく書き方がわかってくる気がした。