最佳实践 - 如何让我的整个文档(包括数学)仅使用带有 LuaLaTeX 和 fontspec 的字体 X?

最佳实践 - 如何让我的整个文档(包括数学)仅使用带有 LuaLaTeX 和 fontspec 的字体 X?

考虑到在文档中使用数学符号,最好将它们全部显示在用于文本的衬线字体中,或者基本上任何字体中X人们愿意用它来做这种事。

因此,对于刚开始研究使用 LuaLaTeX 的人来说,关于如何仅使用一种字体(或至少两种字体的良好组合)正确排版文档的信息量有点让人不知所措。关于 fontspec、Lua(La)TeX、mathspec 以及使用字体的选项的问题很容易就有数百个,其中一些问题已有 4 年历史。

也许一些更有经验(尤其是更成功)的用户可以分享一些最流行的字体(或它们的克隆和变体)的代码?

  • 英语字体格式一种

  • Helvetica/Arial

  • 帕拉蒂诺

  • Minion 专业版

  • 加拉蒙德

  • 乔治亚州

... 和更多

答案1

我不确定我是否有资格成为经验丰富和/或更成功的人 :-)。但这是我在论文中使用的设置的示例。Adobe Garamond Pro 用作文本字体。遗憾的是,我需要粗体来安抚我大学的论文仲裁员,所以我使用了它,BoldFont=AGaramondPro-Semibold因为它看起来比标准粗体略显不协调。

对于数学,我使用了mathdesign带有选项的软件包adobe-garamond。这提供了我文档所需的所有数学符号,以及适合 Garamond 作为文本字体的字形。要成功完成此操作,您必须将.otf字体文件复制到特定的 TDS 目录,如mathdesign README文件。

我在下面的示例中还展示了一些额外的印刷增强功能,您可能会感兴趣。microtype允许在页面上显示更令人愉悦的颜色。selnolig软件包会破坏原本会跨越词素边界的连字。当然,它只支持德语和英语,因此对于下面示例中的拉丁文本,它的作用不大。

下面是使用blindtext包来生成一份数学试卷样本,并在注释中对每个字体选项进行解释。我将其设置为两列布局,以便所有数学样本都适合放在一页上进行截图。

示例代码

%% compile with LuaLaTeX
\documentclass[twocolumn]{article}
\usepackage{blindtext} % just for the sample math paper

% here are the font specifications
\usepackage[adobe-garamond]{mathdesign} % use the mathdesign package with Garamond
\usepackage[no-math]{fontspec} % load fontspec without modifying maths fonts
\setmainfont[
  Ligatures=TeX, % make ---, --, etc function as in traditional (La)TeX
  Kerning=Uppercase, % slight tracking adjustment for all-caps material
  BoldFont={AGaramondPro-Semibold}, % this is a bit of a faux pas, but it was required by my thesis office :(
  Numbers=Proportional, % I also had some code to switch to lining numbers in tabular matter
]{Adobe Garamond Pro}
\setmathrm{Adobe Garamond Pro} % for operators and other text in math

% some additional (optional) typographic enhancements
\usepackage{microtype}
\usepackage[english]{selnolig} % of course, this won't do much for latin lipsum text :-)

\begin{document}
\blindmathpaper
\end{document}

示例输出

在此处输入图片描述

特写

在此处输入图片描述

答案2

根据unimath-symbols.pdf,数学符号的最佳字体是

M 拉丁现代数学 (1588)

XXITS 数学 (2437)

C Cambria 数学(2189)

体式数学 (2259)

P TeX Gyre Pagella 数学 (1612)

E Neo Euler(579)(恕我直言,这是非常错误的......)

有许多与 Times 兼容的字体fontspec,例如和TeX Gyre Termes。不过,我更喜欢 Latin Modern 字体而不是 Times。这是我的 MWEFreeSerifSTIX

\documentclass{article}
\usepackage[fleqn]{amsmath}
\usepackage[no-math]{fontspec}
\defaultfontfeatures[\rmfamily,\sffamily]{Ligatures=TeX}
\setmainfont{Latin Modern Roman}[BoldFont={* Demi}]
\setsansfont{Latin Modern Sans}[BoldFont={* Demi Cond}]
\setmonofont{Latin Modern Mono Light}
\usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
\setmathfont{Latin Modern Math}
\begin{document}
\section{Test}
Test text $\mathrm{test\ } α + β = ζ$
\end{document}

请注意,按照包文档的建议,amsmath先加载。unicode-mathunicode-math

答案3

我在我的论文中对此有过一些经验……《纽约时报》的克隆版TeX 环流字体(Termes)可以很简单地与unicode-math包。事实上,任何 TeX Gyre 字体都可以这样使用(至少是那些具有相应数学字体的字体),并且这也适用于 XeLaTeX。

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}
\setmathfont{TeX Gyre Termes Math}
\begin{document}
Test text $\mathrm{test\ math} \alpha \beta x y z$
\end{document}

相关内容