Archive for 9月 19th, 2017

TeXLive, SageMath, MathJax

火曜日, 9月 19th, 2017

今年11年ぶりに名古屋大学の保険数学の集中講義の講師をしました。

11年前に作ったテキストを見直し、内容的には大して変更する所もなかったのですが、作り方を大幅に変えてみました。

11年前のテキストは、パワーポイントで作成し、数式の部分はLATEXで書いてpdfファイルになったものをイメージとして切り貼りし、図の部分はパワーポイントの描画ソフトを使い、またExcelの表をパワーポイントに埋め込むやり方で作りました。

今ではWordの数式エディターもLATEXとほぼ同様のものになっているので、それを使おうかとも思ったのですが、私のPCに入っているwindows8.1とセットされていたOffice2013では、Wordの数式エディターは何とか使い物になりそうだけど、パワーポイントでは使いものにならないような感じでした。

で、色々迷ううちにLATEXが今ではTeXLiveという開発環境に進化しており、その中にパワーポイントのようなプレゼンテーション資料を作るBeamerという環境が一般的になっていることが分かりました。

これであればLATEXのソースを編集してそれをプレゼンテーション資料の形でpdfファイルとして出力する所まで、一貫した作業ができます。

描画については、この中にTikZというソフトが組込まれていて、精確な図を描くことができます。
Excelの表についてはExcelのファイルをEPSという形式でベクトルデータとして印刷し、それをイメージファイルとして取り込むことで簡単に組込むことができます。

いずれにしてもビットマップイメージを使わないため、拡大しても縮小してもイメージが汚くならず、またファイルサイズも大幅に縮小できました。

まだ十分使いこなす所までは行ってませんが、数式や図、グラフ等を作る分には十分使えます。

で、そのテキストを使って名古屋に講義に行き、名古屋大学にいた頃の友人で今も名古屋で大学の先生をしている人と会って話をしている時に、今度はsageというソフトのことを教わりました。sageというのは、『賢人』という意味です。このソフトは今は正式にはSageMathというようです。

たとえば分数の通分や約分をしたり、整数の素因数分解をしたり、多項式の因数分解をしたり式を解いたり、円周率を何十桁も計算したり・・・ということもできるんですが、むしろ数学の群論・数論・代数幾何学等にも使える優れものだ、ということでした。

これもフリーソフトで詳しくは良く分かりませんが、何か大したもののようです。
グラフを描かせたり多項式を解かせてみたり、いじくってみました。

そうこうするうちに、今度はLatexの数式をブラウザで表示するMathJaxというものがあることが分かりました。htmlのHEADERの所に何行か挿入することにより、htmlの本文の中にLATEXの式を書いておけば、それがそのまま数式となってブラウザに表示されるというもので、今までの、一旦LATEXでpdfファイルを作って、それを切り貼りするなんていう手間がなくなります。

このブログはWordpressを使って作っているのですが、早速そのMathJaxを使ってみようと思いました。普通はWordpressにプラグインの形でMathJaxを入れるのですが、それをしようとすると現在私の使っているWordpressはバージョンが古すぎるのか、うまくプラグインがはまってくれません。本来的にはバージョンを上げるのが筋なのですが、それにはちょっと面倒な作業が色々ありそうなので、たかだか数行のテキストをHEADERに突っ込むだけなら直接HEADERに突っ込んでしまおう、と思ってやってみたらうまく行ったようです。

このブログの投稿でもそれに対するコメントでも、LATEXの算式がそのまま使えるようになりました。

こんな式も、
\[i=\lim_{m \to \infty}\left(1+\frac{i^{(m)}}{m}\right)^m-1=e^{i^{(\infty)}}-1\]

\begin{align}
&\int d(log{S_t})=\int \delta \cdot dt=\delta \cdot \Delta t \\
\\
&S_{t+\Delta t}=S_t \cdot e^{\delta \cdot \Delta t}
\end{align}
です。

ここまでの優れたソフトが全てタダで使えるというのも、何ともすごい世の中になったものです。