据我所知,对于将数学字体与 Garamond 一起使用的最佳做法,没有明确的答案。目前,我得到以下结果:
我的设置是\usepackage{mathptmx}
后续的\usepackage{CormorantGaramond}
。虽然我对主文本的外观很满意,但我感觉数学文本的排版方式有些不对劲。请问那些对字体更有经验的人,从字体使用的角度来看,上面的文本是否看起来理想?
也许不相关:我正在使用CMake。如果可能的话,我会避免使用xelatex
。
答案1
这里您有多种选择。
在现代工具链中
尽管你用pdftex
,但我的建议是尽可能使用 LuaLaTeX 和unicode-math
,必要时使用传统的 8 位字体。您可以将 OpenType Garamond Math 字体与
\usepackage{unicode-math}
\setmainfont{EB Garamond}
\setmathfont{Garamond-Math.otf}[StylisticSet={8,9}]
% If you want a script-style \mathscr in addition to
% the calligraphic-style \mathcal, add:
\setmathfont{Garamond-Math.otf}[range={scr,bfscr}]
您可以检查Garamond Math 文档有关可用样式集的更多信息。例如,样式集 9 修复了数学模式中的波浪符号。
unicode-math
使用 EB Garamond 和 Garamond Math加载的更简单方法是:
\usepackage[ebgaramond]{fontsetup}
和ebgaramond-maths
根据文档,正确的用法是:
\usepackage[cmintegrals,cmbraces]{newtxmath}
\usepackage{ebgaramond-maths}
和newtx
根据手册第 18.4 节中的示例序言newtx
:
\usepackage[lining,semibold,scaled=1.05]{ebgaramond}% Latex BOLD renders with ebgaramond semibold
\usepackage[T1]{fontenc} % best for Western European languages
\usepackage[varqu,varl]{inconsolata}% a typewriter font must be defined
\usepackage{amsmath,amsthm}% must be loaded before newtxmath
\usepackage[ebgaramond,vvarbb,subscriptcorrection]{newtxmath} % STIX Bbb
\usepackage{bm}% load after all math to give access to bold math
还有一个garamondx
如果您已经安装了该软件包,
在现代安装中,你不再需要\usepackage{textcomp}
或\usepackage[utf8]{inputenc}
,但在较旧的安装中可能需要。如果您认为有必要定义打字机字体,您可能还想选择无衬线字体。
和mathdesign
您可以使用以下方式下载“专家”URW Garamond Type-1 字体getnonfreefonts
脚本来自TUG和写
\usepackage[garamond]{mathdesign}
\usepackage{garamondx}
但是,URW Garamond 的许可证有限制。加载 Cormorant Garamond 或 EB Garamond 也应该可以。如果mathdesign
破坏了小写字母,最简单的解决方法是加载fontaxes
。
使用 XeTeX 中的另一个数学包
mathspec
在 XeTeX(且仅限 XeTeX)中,您可以通过在其他包之后加载来将 EB Garamond OpenType 字体与传统数学包一起使用:
\usepackage{mathspec}
\setmainfont{EB Garamond}
\setmathsfont(Digits,Latin,Greek)[Uppercase=Italic, Lowercase=Italic]{EB Garamond}
在我的测试中,当将字母与一些数学符号混合时,这并不总是提供正确的间距。
使用另一个数学包
Garamond 传统数学字母表至少有三种。数学设计字母表特别方便,因为它既包含直立的拉丁文和希腊文,也包含斜体。因此,它是唯一带有直立小写希腊文字母的 Garamond 传统版本,例如\mathrm{\pi}
。
这个数学字母表的家族名称是mdugm
,并且有一个用于、和的isomath
加载界面。您可以尝试使用\mathrm
\mathit
\mathbf
\mathbfit
\usepackage[OMLmathrm, rmdefault=mdugm]{isomath}
或者通过使用以下命令重新定义数学字母:
\DeclareMathAlphabet{\mathit}{OML}{mdugm}{m}{it}
\SetMathAlphabet{\mathit}{bold}{OML}{mdugm}{mb}{it}
答案2
如今,以下usepackage
代码可以很好地将 Garamond 用于文本和数学
\usepackage[vvarbb,ebgaramond,smallerops]{newtx}
上述内容适用于article
该类,但适用于其他一些类,例如tufte-handout
需要执行以下操作,否则stix
bb-fonts 不会显示。
\AtBeginDocument{
\usepackage[vvarbb,ebgaramond,smallerops]{newtx}
}
在我看来,直立的希腊字母已经很有特色了,所以事实上我也使用这个frenchmath
选项newtx