有没有 LaTeX 字体编码的参考列表?一个可以搜索特定字体并获取代表该字体的相关代码的地方。其中一些甚至不合逻辑,例如TeX Gyre 英雄我想象的代码是“ tgh
”,但实际代码是“ qhv
”:
{\usefont{T1}{qhv}{b}{n}\selectfont\huge} %"qhv" - TeX Gyre Heros, "b" - bold
{\usefont{T2A}{qcr}{m}{n}qcr\selectfont} % Another font
我正在寻找阿莱格雷亚和阿莱格雷亚·桑斯但我找不到它。我想它一定存在,因为我的逻辑告诉我世界上的每种字体都有这样的代码?或者可能没有?在哪里可以搜索这样的代码?我也在字体查看器中打开了字体,但没有成功。
干杯!
答案1
.sty
查找字体系列名称的更通用方法是使用字体定义文件的名称 ( ) ,这种方式不需要打开文件,也不依赖于文件是否存在.fd
。这适用于任何设置为与 LaTeX 一起使用的字体,无论是否.sty
提供文件。
假设您想使用 Zapf Chancery。它由软件包提供,并包含在标准 TeX 发行版中。检查(TeX Live)zapfchan
的内容:texmf-dist/tex/latex/zapfchan/
8ruzc.fd omluzc.fd omsuzc.fd ot1uzc.fd t1uzc.fd ts1uzc.fd
在这种情况下没有.sty
文件。这使得找出字体系列名称变得更加重要,因为这是在 LaTeX 中使用字体的唯一方法。
此时了解一点字体编码会很有帮助。8r
、、、和是TeX 使用的不同字体编码的小写版本oml
: 8r、OML、OMS、OT1、T1 和 TS1。要弄清楚字体系列名称,这些是什么并不重要。重要的oms
是您知道它们是编码。ot1
t1
ts1
- 取任意文件的名称
.fd
。-> 例如t1uzc.fd
。 - 删除
.fd
后缀。->例如t1uzc
。 - 删除编码前缀。->例如
uzc
。 - 剩下的就是字体系列的名称。例如
uzc
。
有些字体除了有不同的编码外,还可能有几种不同的字体系列。在这些情况下,您需要进一步调查以确定要使用哪个系列。然而,对于 Zapf Chancery,只有一个系列uzc
,这就是您在 LaTeX 中选择字体时要使用的。
字体定义文件的名称告诉您另一个重要的事情:它们告诉您字体可用于哪些编码。在这种情况下,您有:
- 8r:这是一种“原始”编码——除非您有兴趣自己创建字体包,否则您可以忘记它;
- OML/OMS:支持数学的编码;
- OT1:默认的 TeX 文本编码,也用于数学;
- T1:一种增强的文本编码,对重音字符的支持比 OT1 更好;
- TS1:一种补充文本编码,提供各种符号,如版权符号、旧式数字等。
你可能会困惑地发现
\fontencoding{T1}\fontfamily{uzc}\selectfont Is this Zapf Chancery?
仍然会生成 Computer Modern Roman 而不是 Zapf Chancery。LaTeX 会在控制台和日志中警告您它已替换了字体,并且(对于 pdfTeX)您的 PDF 查看器将显示仍在使用 CMR。为什么字体选择失败?
要弄清楚这一点,你必须看看里面字体定义文件。(我只是说你不必打开文件来弄清楚字体系列 - 我并没有说你可以使用它!)
阅读时t1uzc.fd
,我们发现以下一行:
\DeclareFontShape{T1}{uzc}{mb}{it}{
<-> uzcmi8t
}{}
这表明该系列包括一种字体mb
(中等粗体)和一种形状it
(斜体)。
接下来的两个形状声明:
\DeclareFontShape{T1}{uzc}{m}{it}{<->ssub * uzc/mb/it}{}
\DeclareFontShape{T1}{uzc}{mb}{sl}{<->ssub * uzc/mb/it}{}
告诉我们,uzc/mb/it
如果请求中等粗细的斜体形状(系列)或中等粗体系列的m
倾斜形状( ),则此单一字体()将被默默替换(即没有警告)。sl
最终的形状声明:
\DeclareFontShape{T1}{uzc}{m}{sl}{<->ssub * uzc/mb/sl}{}
告诉我们,uzc/mb/sl
如果请求的是中等系列中的倾斜形状,则会默认替换为。由于斜体、中等粗体uzc/mb/sl
无论如何都会被替换为,这实际上意味着,无论请求的是斜体和倾斜中的哪一个,也无论请求的是中等和中等粗体中的哪一个,我们都会始终获得斜体、中等粗体形状。
但是,标准直立形状没有定义。因此,要实际使用 Zapf Chancery,我们还需要更改为斜体或倾斜形状。为了安全起见,最好也指定粗细。这样,如果启用了粗体,我们就不会得到意想不到的结果(例如粗体的 CMR)。
\fontencoding{T1}\fontfamily{uzc}\fontshape{it}\fontseries{mb}\selectfont Is this Zapf Chancery?
请注意,无论字体名称是否遵循 Berry 方案,此查找系列名称的方法都有效。例如,
texmf-dist/tex/latex/ebgaramond/T1EBGaramond-OsF.fd
告诉我们 T1 编码中有一个可用的字体系列,如果合适EBGaramond-OsF
,我们可以用类似的方法选择它。[尽管在这种情况下,使用包提供的文件\fontfamily{}
通常更好。].sty
答案2
Alegreya(serif 和 Sans)字体不使用 Berry 方案,其中家族名称是三个(或四个)字母的缩写。
Alegreya.sty
您可以在和中找到姓氏AlegreyaSans.sty
。
阿莱格雷亚
220 \else % type1
221
222 \def\Alegreyafamily{Alegreya-\Alegreya@figurealign \Alegreya@figurestyle}
223 \def\Alegreya{\fontfamily{\Alegreyafamily}\selectfont}
224 \def\AlegreyaLF{\fontfamily{Alegreya-LF}\selectfont}
225 \def\AlegreyaOsF{\fontfamily{Alegreya-OsF}\selectfont}
226 \def\AlegreyaTLF{\fontfamily{Alegreya-TLF}\selectfont}
227 \def\AlegreyaTOsF{\fontfamily{Alegreya-TOsF}\selectfont}
艾雷格瑞亚
235 \else % type1
236
237 \def\AlegreyaSansfamily{AlegreyaSans-\AlegreyaSans@figurealign \AlegreyaSans@figurestyle}
238 \def\AlegreyaSans{\fontfamily{\AlegreyaSansfamily}\selectfont}
239 \def\AlegreyaSansLF{\fontfamily{AlegreyaSans-LF}\selectfont}
240 \def\AlegreyaSansOsF{\fontfamily{AlegreyaSans-OsF}\selectfont}
241 \def\AlegreyaSansTLF{\fontfamily{AlegreyaSans-TLF}\selectfont}
242 \def\AlegreyaSansTOsF{\fontfamily{AlegreyaSans-TOsF}\selectfont}
我添加了行号以供参考。每个代码片段的最后四行告诉您要使用什么作为参数\fontfamily
。
首字母缩略词LF
、OsF
和TLF
分别TOsF
代表“衬线数字”、“旧式数字”、“表格式衬线数字”和“表格式旧式数字”。
对于 XeLaTeX 或 LuaLaTeX 来说更简单:输入
\newfontfamily{\alegreyasans}[
<options>
]{AlegreyaSans}
\alegreyasans
当您需要此字体时使用。