欧文フォント集

\usepackage{newtxtext} を一行足して pdfLaTeX を回し、出てきた PDF を pdffonts で覗くと、本文の TeXGyreTermesX の隣に CMMI10CMR10CMSY7CMEX10 が並んでいます——本文だけ Times になり、数式は Computer Modern のまま取り残されているのです。LaTeX の欧文フォントを替えるとき、実際に人を困らせるのはこの一点だけで、書体の好みはそのあとの話です。このページは TeX Live 2024 に同梱される主要な欧文フォントパッケージを、読み込んだあと数式が本当に替わるかpdffonts で一つずつ確かめながら並べます。CM 系(lmodernnewcm)、Times と Palatino(newtxnewpxmathptmxmathpazo)、そして libertinusfourierkpfontsXCharter まで、pdfLaTeX の道と fontspec の道の二本立てで案内します。

本文だけ替えると数式が Computer Modern のまま残る

数式のある文書では、本文と数式を一緒に替えてくれるパッケージを選んでください。 LaTeX の数式は本文とは別のフォント——数式イタリック、記号、大型作用素——で組まれており、本文書体の差し替えはそこに一切届きません。\usepackage{newtxtext} だけを読み込んだ PDF と、newtxmath も足した PDF を pdffonts で比べると、この分離がそのまま目に見えます。

terminal
# text only: the maths is still Computer Modern
$ pdflatex text-only.tex && pdffonts text-only.pdf
PHVSPW+TeXGyreTermesX-Regular   Type 1   Custom    yes yes yes
KGFAFA+CMMI10                  Type 1   Builtin   yes yes yes
PTYRNT+CMR10                   Type 1   Builtin   yes yes yes
DZZUCU+CMSY7                   Type 1   Builtin   yes yes yes
YQJSDJ+CMEX10                  Type 1   Builtin   yes yes yes

# add \usepackage{newtxmath}: no CM left at all
$ pdflatex text-and-math.tex && pdffonts text-and-math.pdf
IKSTLO+TeXGyreTermesX-Regular  Type 1   Custom    yes yes yes
QRRSLK+NewTXMI                 Type 1   Builtin   yes yes yes
MIQVDX+txsys                   Type 1   Builtin   yes yes yes
OGYQFN+txmiaX                  Type 1   Builtin   yes yes yes
CYBZPM+txexs                   Type 1   Builtin   yes yes yes

紙の上でも同じことが起きます。Times は Computer Modern より線が太く字面が大きいので、数式だけ細い CM のまま残ると、行のなかで数式が痩せて浮きます。この不一致を埋めるために作られたのが「本文+数式」の対で、Times には newtxmath、Palatino には newpxmath や Pazo Math、Utopia には fourier の数式一式があります。つまり newtxnewpxfourier が存在する理由は、書体の趣味ではなく 数式との整合 そのものなのです。逆に、数式がほとんど出てこない文書——手紙・案内・スライド——なら、この節はまるごと無視して好きな書体を選んで構いません。

もう一つ、実務上の前提を。ローマン・サンセリフ・等幅は 別々のパッケージで独立に選べます。「本文は Palatino、サンセリフは Helvetica、等幅は Courier」という組み合わせは mathpazohelvetcourier を重ねて読み込むだけで作れます。そして pdfLaTeX で本文書体を替えたら \usepackage[T1]{fontenc} も一緒に書く のが定石です(T1 が何を変えるかと、これらのパッケージが内部で \rmdefault をどう差し替えるかは、フォントの仕組みのページが扱います)。なお、fontspec を使う XeLaTeX / LuaLaTeX では fontenc は不要で、この節の話は当てはまりません。

Computer Modern 系 — CM・lmodernnewcmcm-super

CM 系で新しく文書を始めるなら、選ぶのは lmodern(pdfLaTeX)か newcomputermodern(XeLaTeX / LuaLaTeX)で、生の Computer Modern をそのまま使う理由はほとんどありません。何も指定しないときに LaTeX が組む CM は、クヌースが TeX のために設計した書体そのもの——細い線とくっきりしたセリフの、いかにも「TeX らしい」顔——ですが、既定のエンコーディングが 7 ビットの OT1 なので、アクセント付きの語がハイフネーションされないという実害があります。

Latin Modern(パッケージ lmodern)は、ポーランドの TeX ユーザ会 GUST が CM を作り直した 事実上の後継 です。見た目はほぼそのままに T1 へ対応し、アクセント付き文字を一つの字形として持ちます。TeX Live 2024 に入っている Type 1 は数えると .pfb が 92 本——テキスト 72 種と数式 20 種の合計——で、OpenType 版(.otf)も 72 本そろっています。\usepackage{lmodern} を読むと数式もまとめて LMMathItalic10LMMathSymbols10LMMathExtension10 に替わり、PDF に CM は一本も残りません。CM の顔が好きなら、まずここです。

New Computer Modern(パッケージ newcomputermodern、短縮名 newcm)は、Antonis Tsolomitis による OpenType 前提の現代版 CM です。TeX Live 2024 の同梱版には NewCM10-Regular などの本文書体に加え、完全な数式フォント NewCMMath-Regular、等幅の NewCMMono10、サンセリフの NewCMSans10、そしてギリシャ・キリル・デーヴァナーガリーまで含む多字系のファイルが並びます。通常の Regular に対して一段重い Book ウェイトNewCM10-Book)を持つのも CM 系では珍しい特徴で、本文が細く見えがちな CM の弱点をそのまま補います。

もう一つ、名前だけ覚えておくとよいのが cm-super です。CM/EC のビットマップから自動でベクター化された Type 1 集合で、T1TS1 符号化の Computer Modern を Type 1 で供給します。lmodern が使えない古い環境で、T1 のままビットマップでない PDF を得たいときの保険であって、自動変換ゆえにヒント情報を欠きます。いま新しく選ぶ理由はまずありません。

latex
% the CM successor; the sensible default on pdfLaTeX
\usepackage{lmodern}
\usepackage[T1]{fontenc}

% modern CM with a complete math font; for XeLaTeX / LuaLaTeX
\usepackage{newcomputermodern}   % or: \usepackage{newcm}

Times と Palatino — newtx / newpx と、手軽な mathptmx / mathpazo

数式の多い論文を Times で組むなら newtxtext + newtxmath、Palatino なら newpxtext + newpxmath が定番です。どちらも Michael Sharpe(カリフォルニア大サンディエゴ校)の手によるもので、.sty の先頭には txfonts.sty からの改作である旨が書かれています。面白いのは中身で、newtxtext の PDF に埋め込まれるのは Times ではなく TeXGyreTermesX-Regular——後述する TeX Gyre Termes を拡張したフォントです。同じく newpxtextTeXGyrePagellaX-Regular を埋め込みます。つまり「Times / Palatino パッケージ」の実体は、URW クローンを土台に数式とスモールキャップスを足し込んだ現代の拡張版なのです。

手軽な道もあります。PSNFSS 同梱の mathptmx(Times)と mathpazo(Palatino)は一行で本文と数式をまとめて替えます。ただし実測すると、どちらも数式が完全には移りません。mathptmx の PDF には NimbusRomNo9LStandardSymL に混じって CMEX10CMSY10CMR10 が残り、mathpazo の PDF にも PazoMath の隣に同じ三つが居座ります——大型作用素(∑ ∫)と一部の記号は Computer Modern のまま ということです。それが気にならない用途なら十分ですが、数式が主役の文書なら newtx / newpx を選ぶ理由がここにあります。

サンセリフと等幅も同じ系統でそろえられます。Helveticahelvet。Helvetica は字面が大きいので、Times などと並べるときは \usepackage[scaled=.92]{helvet} のように少し縮めて読み込むのが定石です。Courier(等幅)は courier。どちらも数式には触れず、サンセリフか等幅だけを差し替えるので、本文用パッケージと自由に重ねられます。

これら古典書体の下敷きにあるのが、GUST の TeX Gyre 一族です。URW が公開した基本 35 書体のクローンを、GUST が字形とアクセントまで整備し直したもので、Termestgtermes、URW Nimbus Roman No9 L = Times 相当)、Herostgheros、Helvetica 相当)、Pagellatgpagella、URW Palladio L = Palatino 相当)、Cursortgcursor、Courier 相当)、Bonumtgbonum、Bookman 系)、Scholatgschola、Century Schoolbook 系)、Adventor(URW Gothic L = Avant Garde 系)、Chorus(URW Chancery L = Zapf Chancery 系)の八族があります。ただし \usepackage{tgtermes} だけを読んでも 数式は Computer Modern のまま で、PDF に CMMI10 などが残ります。数式までそろえるには、対になる OpenType 数式フォント TeX Gyre Mathtexgyretermes-math.otftexgyrepagella-math.otf など)を unicode-math\setmathfont で指定してください。

document.tex
\documentclass{article}
% Times body + matching math, on pdfLaTeX
\usepackage{newtxtext}
\usepackage{newtxmath}
\usepackage[scaled=.92]{helvet}  % Helvetica, slightly reduced
\usepackage{courier}            % mono = Courier
\usepackage[T1]{fontenc}
\begin{document}
Text in Times, with matching math: \( e^{i\pi} + 1 = 0 \).
\textsf{Sans is Helvetica.} \texttt{Mono is Courier.}
\end{document}

Libertinus・fourier・kpfonts・XCharter — 総合力で選ぶ

本文からサンセリフ、等幅、数式まで一つの設計でそろう「総合ファミリ」を探しているなら、TeX Live 2024 で最も揃っているのは Libertinus です。libertinus-fonts の中身を数えると、セリフが Regular・Semibold・Bold の三ウェイト × 立体/イタリック、それに Display と Initials、サンセリフ三種、等幅、キーボード、そして LibertinusMath-Regular まで入っています。出自は Linux Libertine と Linux Biolinum で、README には 2012 年 7 月リリースの 5.3.0 から分岐したと明記されています。パッケージ libertinus は旧来の libertine(Linux Libertine)の後継で、実体は入口のラッパーにすぎず、pdfLaTeX では libertinus-type1 を、XeLaTeX / LuaLaTeX では libertinus-otf を読み込みます。osf(オールドスタイル数字)などのオプションも取れます。

ただし 落とし穴があります。 \usepackage{libertinus} を pdfLaTeX で読み込んでも、数式は Computer Modern のまま残ります——実測では LibertinusSerifLibertinusSansLibertinusMono の隣に CMMI10CMSY10CMEX10 が並びました。pdfLaTeX では \usepackage{libertinust1math} を明示的に足す 必要があり、足すと PDF の数式は LibertinusT1Math 一本になり CM は消えます。一方 LuaLaTeX / XeLaTeX で同じ \usepackage{libertinus} を読むと LibertinusMath-Regular が自動で入ります。つまり Libertinus は「エンジンによって完成度が違う」パッケージで、pdfLaTeX で使うなら二行と覚えてください。

その点、fourierkpfonts は一行で完結します。実測でどちらも PDF から Computer Modern が完全に消えました。fourier は本文に Adobe Utopia を据え、Fourier-Math-ExtensionFourier-Math-SymbolsFourier-Math-Letters-Italic という自前の数式一式を持ちます。Utopia は落ち着いた実用的なセリフで、理工系の文書に根強い人気があります。kpfonts は URW Palladio を土台にしながら親書体とは明確に違う顔に仕上げた一族で、Kp--M-ExKp--M-SyKp--M-Italic という広範な数式群、真のスモールキャップス、オールドスタイル数字、多重積分の異体字まで抱えます。OpenType 版の kpfonts-otf もあります。

Charter は画面でも紙でも読みやすい実用的なセリフで、Michael Sharpe が Bitstream Charter を拡張した XCharter が本文を担当します。ただしこれも \usepackage{XCharter} 単体では数式が CM のままです。実測では \usepackage[charter]{newtxmath} を足したところで数式が XCharterMathMItxexstxsys に替わりました。TeX Live 2024 には XCharter-Math.otf という OpenType 数式フォントも入っていますが、これは \usepackage{xcharter-math} ではなく unicode-math\setmathfont で読む 形なので、pdfLaTeX では使えません。もう一つ、Berabera)は Bitstream Vera を Type 1 化したもので、Bera Serif(スラブセリフ)・Bera Sans・Bera Mono の三族からなります。数式は持たないので、beramono で等幅だけ採るといった部分使いが向きます。

latex
% one line each — measured: no Computer Modern left in the PDF
\usepackage{fourier}      % Utopia + a full math set
% \usepackage{kpfonts}    % Palladio-derived, wide math coverage

% Libertinus on pdfLaTeX needs TWO lines, or the math stays CM
% \usepackage{libertinus}
% \usepackage{libertinust1math}

% Charter body + matching math
% \usepackage{XCharter}
% \usepackage[charter]{newtxmath}
\usepackage[T1]{fontenc}

一覧 — どのパッケージが数式まで替えるか(pdffonts 実測)

次の表は、各パッケージだけを読み込んだ最小文書を pdfLaTeX でコンパイルし、pdffonts で PDF に残ったフォントを読み取った結果です。「数式まで替わる」列が「はい」の行なら、追加の一行は要りません。 「いいえ」の行は、本文だけ替えて数式を CM に残す——つまり冒頭で見た不一致がそのまま起きる組み合わせです。

パッケージ顔・系統数式まで替わるか(PDF に残ったフォント)
lmodernLatin Modern(CM 後継・セリフ)はい。LMMathItalic10LMMathSymbols10LMMathExtension10。CM は残らない
newcomputermodernNew Computer Modern(現代版 CM・OpenType)はい。NewCMMath-Regular。XeLaTeX / LuaLaTeX 向け
mathptmxTimes(PSNFSS・手軽)一部だけ。NimbusRomNo9L + StandardSymL だが CMEX10CMSY10CMR10 が残る
newtxtext + newtxmathTimes(newtx・実体は TeXGyreTermesX)はい。NewTXMItxsystxmiaXtxexs。CM は残らない
mathpazoPalatino(PSNFSS・手軽)一部だけ。PazoMath は入るが CMEX10CMSY10CMR10 が残る
newpxtext + newpxmathPalatino(newpx・実体は TeXGyrePagellaX)はい。NewPXMIpxsyspxmiaXtxexs。CM は残らない
helvetHelvetica(サンセリフのみ。scaled で縮小)該当なし。数式には触れない。本文用パッケージに重ねて使う
courierCourier(等幅のみ)該当なし。数式には触れない
tgtermes / tgpagella / tgheros / tgcursorTeX Gyre(URW クローン由来。≈Times / Palatino / Helvetica / Courier)いいえ。CMMI10 などが残る。TeX Gyre Math を \setmathfont で別途
libertinusLibertinus(Linux Libertine 後継・セリフ/サンセリフ/等幅/数式)エンジン次第。pdfLaTeX では CM が残るので libertinust1math を追加。Lua/XeLaTeX では LibertinusMath-Regular が自動
fourierAdobe Utopia ベースはい。Fourier-Math-ExtensionFourier-Math-SymbolsFourier-Math-Letters-Italic。CM は残らない
kpfontsURW Palladio 由来・総合はい。Kp--M-ExKp--M-SyKp--M-Italic。CM は残らない
XCharterCharter(Bitstream Charter 拡張)いいえ、単体では CM が残る。\usepackage[charter]{newtxmath} を足すと XCharterMathMI に替わる
beraBitstream Vera(スラブセリフ / サンセリフ / 等幅)いいえ。CMMI10 などが残る。等幅だけ採る beramono の部分使いが向く

迷ったときの目安。CM の顔が好きなら lmodern(OpenType エンジンなら newcm)。Times が要るなら newtxtext + newtxmathPalatino なら newpxtext + newpxmath一行で完結させたいなら fourierkpfonts総合ファミリなら libertinus(pdfLaTeX では libertinust1math を忘れずに)。そして OS にインストール済みのフォントをそのまま使いたいなら、エンジンを XeLaTeX か LuaLaTeX に替えて fontspec の道へ進んでください。どちらの道でも変わらない原則は一つ、本文を替えたら数式も確かめる ことです。