Mathematica で TeX と同じ形やフォントで数式を表示したい、と常々思っていましたが、調べてみたらありました。「MaTeX」というパッケージが公開されていて、これが結構便利そうです。日本語ではあまり紹介されていないのですが、Stack Exchangeという英語の質問サイトで調べていたらこれに辿り着きました。
今までは、Mathematica の Plot関数でグラフを書くとき、軸のラベルを x や y に設定しても、講義プリントや論文自体はTeXで作成するのでフォントが統一されず、気持ち悪さを覚えていました。しかたなく、後からグラフの画像にtex2imgなどで作った数式を貼り付けたりもしていました。
軸のラベルにMaTeXを用いれば、TeXと同じ組版やフォントが表示できるので、そのまま画像を保存して、TeXに張りつけても違和感がありません。
MaTeX・インストール方法
次のサイトで紹介されている「MaTeX」というパッケージをインストールすると、Mathematica上でTeXと同じフォント・組版で表示させることができる。
作者のサイト
http://szhorvat.net/pelican/latex-typesetting-in-mathematica.html
Wolframコミュニティでの紹介
https://community.wolfram.com/groups/-/m/t/457288?p_p_auth=1pM4BHY7
Mathematica 11.3 以降のバージョンであれば、Mathematicaノートブックで次のコードを実行するだけでインストールできる。
ResourceFunction["MaTeXInstall"][]
Mathematica 11.2 以前のバージョンでのインストール方法については作者のサイト(英語)か、こちらを参照。
MaTeXのインストールについて(mathematica 11.2 以前)
使い方
使用するときは次のコードを実行してパッケージを読み込む
<< MaTeX`
MaTeX関数でTeXの数式表示を出力できる.
Magnificationで大きさを指定
MaTeX[x]
MaTeX[x, Magnification -> 2]
MaTeX[x, Magnification -> 3]
FontSizeで大きさを指定することもできる
MaTeX[x, FontSize -> 12]
MaTeX[x, FontSize -> 16]
MaTeX[x, FontSize -> 20]
TeXのコマンドは、Mathematicaの文字列(string)内で用いることができる。
つまり “…” で括って用いる。作者サイトによるとバックスラッシュは2つ用いる必要があるとこのこと。
MaTeX["\\int_a^b x \\, dx", Magnification -> 2]
Wolfram 言語で書いたものも TeX のタイプセットに直して表示される。
何も指定しないと計算結果が出力される。
計算前の形式を維持したければ HoldForm を用いる。
MaTeX[Integrate[x^2 + 1, {x, a, b}], Magnification -> 2]
MaTeX[HoldForm[Integrate[x^2 + 1, {x, a, b}]], Magnification -> 2]
グラフの軸のラベル(AxesLabel)にも用いることができる。
Plot[x^2, {x, -2, 2},
AxesLabel -> {MaTeX[x, Magnification -> 1.5],
MaTeX[x^2, Magnification -> 1.5]}]
コメント