\usepackage{newtxtext} を一行足して pdfLaTeX を回し、出てきた PDF を pdffonts で覗くと、本文の TeXGyreTermesX の隣に CMMI10・CMR10・CMSY7・CMEX10 が並んでいます——本文だけ Times になり、数式は Computer Modern のまま取り残されているのです。LaTeX の欧文フォントを替えるとき、実際に人を困らせるのはこの一点だけで、書体の好みはそのあとの話です。このページは TeX Live 2024 に同梱される主要な欧文フォントパッケージを、読み込んだあと数式が本当に替わるか を pdffonts で一つずつ確かめながら並べます。CM 系(lmodern・newcm)、Times と Palatino(newtx・newpx・mathptmx・mathpazo)、そして libertinus・fourier・kpfonts・XCharter まで、pdfLaTeX の道と fontspec の道の二本立てで案内します。
本文だけ替えると数式が Computer Modern のまま残る
数式のある文書では、本文と数式を一緒に替えてくれるパッケージを選んでください。 LaTeX の数式は本文とは別のフォント——数式イタリック、記号、大型作用素——で組まれており、本文書体の差し替えはそこに一切届きません。\usepackage{newtxtext} だけを読み込んだ PDF と、newtxmath も足した PDF を pdffonts で比べると、この分離がそのまま目に見えます。
# 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 の数式一式があります。つまり newtx・newpx・fourier が存在する理由は、書体の趣味ではなく 数式との整合 そのものなのです。逆に、数式がほとんど出てこない文書——手紙・案内・スライド——なら、この節はまるごと無視して好きな書体を選んで構いません。
もう一つ、実務上の前提を。ローマン・サンセリフ・等幅は 別々のパッケージで独立に選べます。「本文は Palatino、サンセリフは Helvetica、等幅は Courier」という組み合わせは mathpazo・helvet・courier を重ねて読み込むだけで作れます。そして pdfLaTeX で本文書体を替えたら \usepackage[T1]{fontenc} も一緒に書く のが定石です(T1 が何を変えるかと、これらのパッケージが内部で \rmdefault をどう差し替えるかは、フォントの仕組みのページが扱います)。なお、fontspec を使う XeLaTeX / LuaLaTeX では fontenc は不要で、この節の話は当てはまりません。
Computer Modern 系 — CM・lmodern・newcm・cm-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} を読むと数式もまとめて LMMathItalic10・LMMathSymbols10・LMMathExtension10 に替わり、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 集合で、T1・TS1 符号化の Computer Modern を Type 1 で供給します。lmodern が使えない古い環境で、T1 のままビットマップでない PDF を得たいときの保険であって、自動変換ゆえにヒント情報を欠きます。いま新しく選ぶ理由はまずありません。
% 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 を拡張したフォントです。同じく newpxtext は TeXGyrePagellaX-Regular を埋め込みます。つまり「Times / Palatino パッケージ」の実体は、URW クローンを土台に数式とスモールキャップスを足し込んだ現代の拡張版なのです。
手軽な道もあります。PSNFSS 同梱の mathptmx(Times)と mathpazo(Palatino)は一行で本文と数式をまとめて替えます。ただし実測すると、どちらも数式が完全には移りません。mathptmx の PDF には NimbusRomNo9L と StandardSymL に混じって CMEX10・CMSY10・CMR10 が残り、mathpazo の PDF にも PazoMath の隣に同じ三つが居座ります——大型作用素(∑ ∫)と一部の記号は Computer Modern のまま ということです。それが気にならない用途なら十分ですが、数式が主役の文書なら newtx / newpx を選ぶ理由がここにあります。
サンセリフと等幅も同じ系統でそろえられます。Helvetica は helvet。Helvetica は字面が大きいので、Times などと並べるときは \usepackage[scaled=.92]{helvet} のように少し縮めて読み込むのが定石です。Courier(等幅)は courier。どちらも数式には触れず、サンセリフか等幅だけを差し替えるので、本文用パッケージと自由に重ねられます。
これら古典書体の下敷きにあるのが、GUST の TeX Gyre 一族です。URW が公開した基本 35 書体のクローンを、GUST が字形とアクセントまで整備し直したもので、Termes(tgtermes、URW Nimbus Roman No9 L = Times 相当)、Heros(tgheros、Helvetica 相当)、Pagella(tgpagella、URW Palladio L = Palatino 相当)、Cursor(tgcursor、Courier 相当)、Bonum(tgbonum、Bookman 系)、Schola(tgschola、Century Schoolbook 系)、Adventor(URW Gothic L = Avant Garde 系)、Chorus(URW Chancery L = Zapf Chancery 系)の八族があります。ただし \usepackage{tgtermes} だけを読んでも 数式は Computer Modern のまま で、PDF に CMMI10 などが残ります。数式までそろえるには、対になる OpenType 数式フォント TeX Gyre Math(texgyretermes-math.otf・texgyrepagella-math.otf など)を unicode-math の \setmathfont で指定してください。
\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 のまま残ります——実測では LibertinusSerif・LibertinusSans・LibertinusMono の隣に CMMI10・CMSY10・CMEX10 が並びました。pdfLaTeX では \usepackage{libertinust1math} を明示的に足す 必要があり、足すと PDF の数式は LibertinusT1Math 一本になり CM は消えます。一方 LuaLaTeX / XeLaTeX で同じ \usepackage{libertinus} を読むと LibertinusMath-Regular が自動で入ります。つまり Libertinus は「エンジンによって完成度が違う」パッケージで、pdfLaTeX で使うなら二行と覚えてください。
その点、fourier と kpfonts は一行で完結します。実測でどちらも PDF から Computer Modern が完全に消えました。fourier は本文に Adobe Utopia を据え、Fourier-Math-Extension・Fourier-Math-Symbols・Fourier-Math-Letters-Italic という自前の数式一式を持ちます。Utopia は落ち着いた実用的なセリフで、理工系の文書に根強い人気があります。kpfonts は URW Palladio を土台にしながら親書体とは明確に違う顔に仕上げた一族で、Kp--M-Ex・Kp--M-Sy・Kp--M-Italic という広範な数式群、真のスモールキャップス、オールドスタイル数字、多重積分の異体字まで抱えます。OpenType 版の kpfonts-otf もあります。
Charter は画面でも紙でも読みやすい実用的なセリフで、Michael Sharpe が Bitstream Charter を拡張した XCharter が本文を担当します。ただしこれも \usepackage{XCharter} 単体では数式が CM のままです。実測では \usepackage[charter]{newtxmath} を足したところで数式が XCharterMathMI・txexs・txsys に替わりました。TeX Live 2024 には XCharter-Math.otf という OpenType 数式フォントも入っていますが、これは \usepackage{xcharter-math} ではなく unicode-math の \setmathfont で読む 形なので、pdfLaTeX では使えません。もう一つ、Bera(bera)は Bitstream Vera を Type 1 化したもので、Bera Serif(スラブセリフ)・Bera Sans・Bera Mono の三族からなります。数式は持たないので、beramono で等幅だけ採るといった部分使いが向きます。
% 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 に残ったフォント) |
|---|---|---|
lmodern | Latin Modern(CM 後継・セリフ) | はい。LMMathItalic10・LMMathSymbols10・LMMathExtension10。CM は残らない |
newcomputermodern | New Computer Modern(現代版 CM・OpenType) | はい。NewCMMath-Regular。XeLaTeX / LuaLaTeX 向け |
mathptmx | Times(PSNFSS・手軽) | 一部だけ。NimbusRomNo9L + StandardSymL だが CMEX10・CMSY10・CMR10 が残る |
newtxtext + newtxmath | Times(newtx・実体は TeXGyreTermesX) | はい。NewTXMI・txsys・txmiaX・txexs。CM は残らない |
mathpazo | Palatino(PSNFSS・手軽) | 一部だけ。PazoMath は入るが CMEX10・CMSY10・CMR10 が残る |
newpxtext + newpxmath | Palatino(newpx・実体は TeXGyrePagellaX) | はい。NewPXMI・pxsys・pxmiaX・txexs。CM は残らない |
helvet | Helvetica(サンセリフのみ。scaled で縮小) | 該当なし。数式には触れない。本文用パッケージに重ねて使う |
courier | Courier(等幅のみ) | 該当なし。数式には触れない |
tgtermes / tgpagella / tgheros / tgcursor | TeX Gyre(URW クローン由来。≈Times / Palatino / Helvetica / Courier) | いいえ。CMMI10 などが残る。TeX Gyre Math を \setmathfont で別途 |
libertinus | Libertinus(Linux Libertine 後継・セリフ/サンセリフ/等幅/数式) | エンジン次第。pdfLaTeX では CM が残るので libertinust1math を追加。Lua/XeLaTeX では LibertinusMath-Regular が自動 |
fourier | Adobe Utopia ベース | はい。Fourier-Math-Extension・Fourier-Math-Symbols・Fourier-Math-Letters-Italic。CM は残らない |
kpfonts | URW Palladio 由来・総合 | はい。Kp--M-Ex・Kp--M-Sy・Kp--M-Italic。CM は残らない |
XCharter | Charter(Bitstream Charter 拡張) | いいえ、単体では CM が残る。\usepackage[charter]{newtxmath} を足すと XCharterMathMI に替わる |
bera | Bitstream Vera(スラブセリフ / サンセリフ / 等幅) | いいえ。CMMI10 などが残る。等幅だけ採る beramono の部分使いが向く |
迷ったときの目安。CM の顔が好きなら lmodern(OpenType エンジンなら newcm)。Times が要るなら newtxtext + newtxmath、Palatino なら newpxtext + newpxmath。一行で完結させたいなら fourier か kpfonts。総合ファミリなら libertinus(pdfLaTeX では libertinust1math を忘れずに)。そして OS にインストール済みのフォントをそのまま使いたいなら、エンジンを XeLaTeX か LuaLaTeX に替えて fontspec の道へ進んでください。どちらの道でも変わらない原則は一つ、本文を替えたら数式も確かめる ことです。