LaTeXiTで使うフォントについて


プレゼンテーションで使うフォントは、視認性が良いサンセリフ体を使いましょう、というのはよく見かける。僕はHelveticaとかHelvetica Neueを使うことにしている。あまりプレゼンでたくさんの数式を書くことはないのでBeamerを使うほどでもないけど、とはいえたまに数式書くこともあるので、そのときは数式だけはLaTeXiTを使って、プレゼン自体はkeynoteで作っている。
というところまでは、おそらく比較的似たような環境でプレゼンを作っている人は多いのではないかと思うんだけど、じゃあLaTeXiT(Beamerでも良いけど)の数式フォントはどうしていますか、というと、そこまで気にしている人はあまりいないような気がする。僕は数年前に気になり始めて、でもずっと解決方法がなくてもどかしく思っているんだけど、考えてみたらちゃんと文章にしたことなかったので現状の自分なりの対処法を書いておく。

結論だけ知りたい人は一番最後まで読み飛ばしてください。

何が気になっているのか

いろんな場面でギリシャ文字はよく使う。Macならぱ入力ソースに日本語と英語に加えてギリシャ語を登録すればギリシャ文字も簡単に入力することができる。例えば、マイクロメーター(µm)とか円周率(π)のような感じで、、もっともµは英語モードでもopt+mで入力できたりするけど。
この普通に入力するギリシャ文字とLaTeXiTで入力するギリシャ文字のフォントがあまりに違うのが気になる。そもそもLaTeXiTではデフォルトではセリフ体なので全然違う。数年前に色々と苦労したメモが見つかったのでそのままスクリーンショットを載せておく。

そもそもLaTeXのフォント周りはよくわからない

Wordだったらフォントの選択なんてすぐにできるが、似たようなことをLaTeXでやるとすごく面倒なのであまり拘らない方が良い。特に日本語と英語のフォントはこだわり始めると泥沼な感じがするので、僕は日本語の文章は可能な限りLaTeXでは書かないようにしている。
でも、英語だけならばなんとかなるんじゃないかと思っていたのだか、実は地の文と数式のフォントを揃えるのはそんなに簡単ではないらしい。らしい、というのは調べるとうまくいく組み合わせといかないものが複雑すぎるので完全に理解するのは諦めた。何を拘っているかというと、例えば数式中の数字と地の文の数字が同じフォントで表示して欲しい。

sampel.tex
すごく簡単な例として、数字
012345 (地の文)と\\
$012345$ (数式)が\\
同じフォントで表示されて欲しいと思うのだが、正しく設定していないと異なるフォントで表示される。

基本的に普通の文章ならばTimesを使っていればどちらも同じフォントで表示できる。ちゃんとした論文誌のテンプレートならばそれくらいは対処してあるが、小さな研究会のテンプレなんかだと適当だったりするので、気にしない方が幸せだったりする。
まぁでもセリフ体は解決策があるだけマシで、サンセリフの方が状況はひどい。少なくとも僕が数年前に調べた限りでは、LaTeXで数式と地の文を完全に同じフォントで表示できるサンセリフ体は、某新粒子発見の発表で使われて話題になったComic Sansだけだった(無料では。有料フォントならもう少し解決策はあったらしい)。

Beamerを参考にする

気の利いたBeamerのテーマならばちゃんとその辺りは対処しているのではないかと調べてみたら、意外とそうでもないらしい。8年くらい前にこのことを調べたときに見つけた古い情報だけど、これを見ると完全に地の文と数式フォントを一致させることができる組み合わせというのは、意外にも少ないのではないかと思う。
https://www.logicmatters.net/resources/pdfs/MathFonts.pdf

ちょっと調べれば、数式フォントをHelveticaにする方法、というのが見つかるけど、

math_helvetica.tex
\usepackage[helvet]{sfmath}

これ、やってみればわかるけど、ギリシャ文字がセリフ体のままなので使い物にならない。これをやるくらいならば使わない方がマシ。

対処方法

LaTeXって以外にも新しいパッケージがどんどん出てきて、2,3年もすると時代遅れな方法で書いていたりすることになるんだけど、今日調べてみてとりあえずしばらくこれを使おうかな、と思ったものを載せておく。実はちゃんと何が書かれているか理解しているわけではなくて、単にネットで拾ってきたものをコピーしているだけ。
LaTeXiTで使う場合は、「環境設定」「テンプレート」「プリアンブル」の最後に貼り付ければ良い。

数式中で変数は斜体にしたいときは、

\usepackage{newtxsf}

斜体にしたくないときは、

\usepackage[scale=.9]{tgheros}
\usepackage[frenchmath]{newtxsf}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{mathastext}

ここ数年はCM Brightというのを使っていたんだけど、最近はnewtxsfというのが流行りなのかな。

余談

ところで、結構前からLaTeXiTの本家のサイト落ちてるよね。。
https://www.chachatelier.fr/latexit/