西文字体集

如果你想把正文字体从 Computer Modern 换成别的字体,这一页就是用 pdfLaTeX 的方式,通过一行 \usepackage 选择正文(衬线)字体的地图。这里汇总了常用选择:Computer Modern 系列(默认 CM、后继 Latin Modern、现代版 New Computer Modern)、Times 和 Palatino 等经典“基本字体”以及与之匹配的数学字体,还有 Libertinus、fourier、Charter 等。最重要的一点是:文档含有数学内容时,要选择同时处理正文和数学的包。 只换正文而让数学仍是 Computer Modern,差异会非常显眼。若要直接使用系统中已安装的商业字体,那是 fontspec(XeLaTeX / LuaLaTeX)的工作,不是 pdfLaTeX;本文会引导你到相应页面。

选择原则:有数学内容时连数学字体一起换

先明确范围。本页介绍的是 可在 pdfLaTeX(以及经 DVI 的 latex)中使用、用一行 \usepackage 切换正文字体的包。如果想按字体名称直接调用系统中安装的 OpenType / TrueType 字体,请把引擎切换到 XeLaTeX 或 LuaLaTeX,并使用 fontspec;这条路线见“fontspec”页面。这些包在底层如何选择字体(NFSS 的五个属性、重新指向 \rmdefault)则在“字体系统”页面中详细说明。

最重要的原则是:含有数学内容的文档,应选择能同时切换正文和数学的包。 LaTeX 的数学使用专门字体排版(数学斜体、符号、大型算符),只替换正文字体时,数学仍会保留默认的 Computer Modern。Times 正文旁边配 CM 数学,字重和灰度都不一致,一眼就能看出不协调。因此才会有与正文配套的数学字体:Times 用 newtxmath,Palatino 用 newpxmath 或 Pazo Math。反过来,几乎没有数学的文档(信件、传单、幻灯片等)可以不必担心数学字体,直接选择喜欢的正文字体。

还有一个实际注意点。罗马体、无衬线体和等宽体可以 通过不同包分别选择。例如“正文用 Palatino,无衬线用 Helvetica,等宽用 Courier”的组合,只要同时载入 mathpazohelvetcourier 即可。并且只要更换正文字体,惯例上也要同时写上 \usepackage[T1]{fontenc}(原因见“字体系统”页面的编码部分)。

Computer Modern 系列:CM / Latin Modern / New CM

如果不指定字体,LaTeX 会使用 Computer Modern(CM) 排版。这是 Knuth 为 TeX 设计的字体,细线条、清晰衬线,具有一眼可辨的“TeX 味”。不过原始 CM 默认使用旧的 7 位 OT1 编码,因此带重音的词不能很好地断词等弱点仍然存在。新文档几乎没有理由直接使用原始 CM,应优先选择下面的 Latin Modern。

Latin Modern(包 lmodern)是波兰 TeX 用户组 GUST 基于 CM 重新制作的字体,事实上是 CM 的后继。它几乎保持 CM 的外观,同时支持 T1 编码(带重音字母作为单个字形),并同时提供 Type 1(.pfb)和 OpenType(.otf)版本。它是一个庞大的家族,包含 72 种文本字体和 20 种数学字体,并附带匹配的数学字体。如果你喜欢 CM 的外观,应从这里开始。

New Computer Modern(包 newcomputermodern,简称 newcm)是 Antonis Tsolomitis 制作的现代版 CM(截至 2026 年为 v8.0.1)。它以 OpenType 为基础,提供 完整的数学字体、希腊文和西里尔文等多种文字的字形,并在常规 Regular 之外包含较重的 Book 字重。它仍在积极更新,例如近期加入了符合 Unicode 17.0 的数学字形。若想在 OpenType 引擎(XeLaTeX / LuaLaTeX)上以现代形式使用 CM 系列,它是首选。

还值得知道的是 cm-super。这是把 CM/EC 转为 Type 1 的字体集,提供 T1TS1 编码的 Type 1 Computer Modern。在没有 lmodern 的旧环境中,如果想保持 T1 同时获得平滑的非位图 PDF,它可以作为备用方案;但由于它是从 CM/EC 位图自动矢量化而来,缺少 hinting 信息。如今通常使用 lmodernnewcm 就足够了。

latex
% CM の後継。新規文書での既定的な選択 / The CM successor — a sensible default
\usepackage{lmodern}
\usepackage[T1]{fontenc}

% 現代版 CM(OpenType・完全な数式)。XeLaTeX / LuaLaTeX 向け
% Modern CM with full math (OpenType); for XeLaTeX / LuaLaTeX
\usepackage{newcomputermodern}  % または / or: \usepackage{newcm}

经典字体与配套数学:Times、Palatino、Helvetica、Courier

接下来是源自 PostScript “base 35”的经典字体。这些字体长期广泛使用,并随 TeX 系统一并提供免费克隆(下文的 TeX Gyre 和 URW 版本),因此无需额外安装即可使用。若要作为正文字体,关键是选择 带有数学字体的一族

Times 有两条路线。简单的是 PSNFSS 附带的 mathptmx:它把正文设为 Times,并用 Times、Symbol 和部分 CM 字形组合出数学。若追求更高质量,应使用 Michael Sharpe 的 newtx 系列,即正文用 newtxtext、数学用 newtxmath(截至 2026 年为 v1.756,维护活跃)。它的数学字体制作更认真;若要写 Times 风格且数学较多的论文,newtx 是标准选择。

Palatino 同样有两条路线。简单的是 PSNFSS 的 mathpazo,它把正文设为 Palatino,并用 Pazo Math 这个虚拟字体排出匹配的数学。更新、更完整的选择同样来自 Sharpe 的 newpx 系列,即正文用 newpxtext,数学用 newpxmath(v1.415)。Palatino 本身开阔易读,在人文学科和数学中都很受欢迎。

无衬线和等宽字体也可以从同一脉络中搭配。Helvetica 对应 helvet;由于 Helvetica 字面偏大,和 Times 等搭配时通常略微缩小载入,例如 \usepackage[scaled=.92]{helvet}Courier(等宽)对应 courier。这些包只替换无衬线或等宽字体,因此可以自由地与所选的罗马体正文包组合。

这些经典字体还有 GUST 制作的高质量免费克隆 TeX GyreTermestgtermes)约等于 Times,Herostgheros)约等于 Helvetica,Pagellatgpagella)约等于 Palatino,Cursortgcursor)约等于 Courier,此外还有 Bonumtgbonum,Bookman 系)和 Scholatgschola,Century Schoolbook 系)。它们都扩展自 URW 的基本字体克隆,并另行提供配套数学字体(TeX Gyre Math)。使用 mathptmx 等“元”包,还是直接指定 TeX Gyre 字体,取决于偏好;但 TeX Gyre 的字形和重音处理更新、更细致。

document.tex
\documentclass{article}
% Times の本文+対の数式(高品質)/ Times body + matching math (high quality)
\usepackage{newtxtext}
\usepackage{newtxmath}
\usepackage[scaled=.92]{helvet}  % サンセリフは Helvetica を少し縮小 / Helvetica, slightly reduced
\usepackage{courier}            % 等幅は 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、Charter 等

除了 CM 系列和经典字体,还有不少优质包提供完整的正文加数学组合。它们都能处理数学,因此用于论文也很放心。

Libertinus(包 libertinus)是继承 Linux Libertine/Biolinum 的现代字体家族,包含衬线、无衬线、等宽以及 数学,是一套综合字体。libertinus 是入口包装包:在 pdfLaTeX 中内部载入 libertinus-type1,在 XeLaTeX / LuaLaTeX 中载入 libertinus-otf。只写 \usepackage{libertinus} 就会一起切换罗马体、无衬线体和等宽体,也可使用 osf(旧式数字)等选项。可以把它看作旧 libertine 包(Linux Libertine)的后继;数学部分由 libertinust1math 系列负责。

fourier(包 fourier)把 Adobe Utopia 用作正文,并提供与之匹配的 完整数学字体 和符号。Utopia 是稳重实用的衬线字体,数学排版效果也好,在理工科文档中长期受欢迎。载入 \usepackage{fourier} 后,正文会变为 Utopia,数学也随之匹配。

kpfonts(包 kpfonts)基于 URW Palladio,但最终外观与原字体明显不同。它提供罗马体、无衬线体、等宽体,带真正的小型大写和旧式数字,还包含 范围很广的数学字体(普通和粗体 AMS 字体、直立/斜体希腊字母、多重积分的变体等)。若希望一个包覆盖全部内容,这是数学部分非常充实的自足选择(也有 OpenType 版 kpfonts-otf)。

Charter 是一款实用衬线字体,在屏幕和纸面上都易读。Michael Sharpe 扩展 Bitstream Charter 得到的 XCharter 包负责正文,并提供小型大写和旧式数字。数学方面,载入带 charter(即 xcharter)选项newtxmath,即可得到与 Charter 匹配的数学斜体和希腊字母;近年还出现了专用的 xcharter-math 包(2026 年)。它适合长文或正文量大的文档,尤其是想要比 Times 稍显柔和的外观时。

如果你想找粗衬线或无衬线字体,Bera(包 bera)也是候选。它是 Bitstream Vera 的 Type 1 版本,包含三族:Bera Serif(粗衬线)、Bera Sans(Frutiger 风格无衬线)和 Bera Mono(等宽)。它不含数学字体,但很适合局部使用,例如只用 beramono 取等宽字体。

latex
% それぞれ本文+数式を一式で切り替える / Each switches text + math as a set
\usepackage{libertinus}   % Libertinus(セリフ/サンセリフ/等幅/数式)
% \usepackage{fourier}    % Utopia + 充実した数式 / Utopia with full math
% \usepackage{kpfonts}    % URW Palladio 由来・広範な数式 / Palladio-derived, rich math

% Charter 本文+対の数式 / Charter body + matching math
% \usepackage{XCharter}
% \usepackage[charter]{newtxmath}
\usepackage[T1]{fontenc}

一览:包、外观、是否有数学字体

下面按正文中使用的 \usepackage 名、外观以及是否有配套数学字体列出主要选择。经验法则是:含有数学内容的文档,应从“配套数学”一栏为“有”的行中选择。 仅用于无衬线或等宽的条目(helvet、courier、bera)要叠加在罗马体正文包之上使用。

外观 / 系谱配套数学?
lmodernLatin Modern(CM 后继,衬线)有(CM 风格数学)
newcomputermodernNew Computer Modern(现代 CM,OpenType)有(完整数学)
mathptmxTimes(PSNFSS,简便)有(Times + Symbol + 部分 CM)
newtxtext + newtxmathTimes(newtx,高质量)有(newtxmath)
mathpazoPalatino(PSNFSS,简便)有(Pazo Math)
newpxtext + newpxmathPalatino(newpx,高质量)有(newpxmath)
helvetHelvetica(仅无衬线;用 scaled 缩小)无(无衬线用)
courierCourier(仅等宽)无(等宽用)
tgtermes / tgpagella / tgheros / tgcursorTeX Gyre(≈Times / Palatino / Helvetica / Courier)通过单独的 TeX Gyre Math
libertinusLibertinus(Linux Libertine 后继,完整套装)有(libertinust1math)
fourier基于 Utopia有(完整数学)
kpfonts源自 URW Palladio,完整套装有(广泛数学)
XCharterCharter(Bitstream Charter 扩展)newtxmath 的 charter / xcharter-math
beraBitstream Vera(衬线 / 无衬线 / 等宽)

犹豫时可按这个粗略指南选择。喜欢 CM 外观就用 lmodern(或在 OpenType 环境中用 newcm)。需要 Times 就用 newtxtext + newtxmathPalatino 则用 newpxtext + newpxmathmathpazo想要较新的综合套装就用 libertinus想要 Utopia 风格的数学就用 fourier。若要直接使用系统商业字体,请转向 fontspec(XeLaTeX / LuaLaTeX)。