Garamond 和数学字体

Garamond 和数学字体

据我所知,对于将数学字体与 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需要执行以下操作,否则stixbb-fonts 不会显示。

\AtBeginDocument{
  \usepackage[vvarbb,ebgaramond,smallerops]{newtx}
}

在我看来,直立的希腊字母已经很有特色了,所以事实上我也使用这个frenchmath选项newtx

相关内容