答案1
显然您正在使用 LuaLaTeX 或 XeTeX,通过 fontspec 加载字体。这就是 \setmainfont 的来源。
正如@Sverre 在上面的评论中指出的那样,08 和 12 变体是光学尺寸。fontspec 包非常智能,并且知道如何处理(大多数情况下)。但语法很特殊。请参阅 fontspec 包中有关光学尺寸的文档,特别是第 26 页。
还要确保您确实安装了所有 EBGaramond 字体!TeX 包可能不包含所有尺寸。我发现最好从外部位置(例如 fontsquirrel)下载字体并将其放在 (texmf-local)/fonts/truetype/eb-garamond 中,然后更新文件名数据库(可能是命令 mktexlsr)。您可能还需要删除任何现有的 luatex-cache,通常位于 (texmf-var) 文件夹中。
尝试这个:
% !TeX TS-program = LuaLaTeX
% !TeX encoding = UTF-8
\documentclass[12pt,lettersize]{memoir} % this class defines the size commands, used below
\usepackage{fontspec} % look at its docs page 26
\setmainfont{EBGaramond12-Regular}[% get fonts from outside source, not the TeX package
UprightFeatures = { SizeFeatures = {%
{Size=-10, Font=EBGaramond08-Regular},%
{Size=10-, Font=EBGaramond12-Regular},%
}}%
]
\begin{document}
Hello, World!\par
{\small Hello, World!}\par
{\footnotesize Hello, World!}\par
{\scriptsize Hello, World!}\par
{\tiny Hello, World!}\par
\end{document}
我测试了上述内容,它在我的系统上有效。当您检查 PDF 时(使用比 TeX 内置的更好的阅读器),您会看到随着文本变小,它突然变粗了一点,这表明切换到了 08 光学尺寸。如果您查看 PDF 文档属性,您会看到使用了 12 和 08 尺寸。
编辑:正如 Thérèse 在下面的评论中指出的那样,如果您直接从 Georg Duffner 的网站获取字体,那么您所需要的就是预先配置的。我有一个坏习惯,就是使用混合搭配的字体来匹配不同的大小和形状,所以我使用了上面建议的完整 fontspec 语法。