人们经常会收到以下形式的警告(示例)
LaTeX Font Warning: Font shape `T1/qcs/m/sl' in size <10.95> not available
(Font) Font shape `T1/qcs/m/it' tried instead on input line 7.
当某些字体/大小组合不可用时。但是,
T1/qcs/m/sl
意思是?
四个用 a 隔开的“字母组合”代表什么/
意思?
(给出的警告和形状组合仅仅是一个可供参考的例子,问题的含义是最普遍的。)
答案1
LaTeX 中的字体具有四个独立的属性:
- 编码
- 家庭
- 系列
- 形状
这编码指“输出编码”;例如 OT1(经典 TeX 字体)和 T1(欧洲语言的 Cork 编码),但也发现 TS1(文本符号);其他编码有 T2A T2B T2C(西里尔文)、T3(IPA 字形)、T4(非洲语言)和 T5(越南语)。最后,TU 代表 Unicode。
这家庭属性标识字体系列:cmr
是默认的 Computer Modern,ptm
是“Adobe Times New Roman”,qcs
是“TeX Gyre Schola”(cs
是指 New Century Schoolbook 或其克隆的两个字母组合)。
这系列是字体的“粗细”;它既指笔画的粗细,又指笔画的宽度,因此字母可以是m
(表示中等)、bx
(表示加粗)、b
(表示粗体),但也可以找到其他系列。Postscript 世界中的典型可缩放字体具有m
和b
粗细(并bx
重新映射到b
)。
这形状可直立(n
),斜体(it
),倾斜的(sl
) 或者小写字母(sc
)。一些字体系列还有“不倾斜的斜体”变体(ui
)。
当 LaTeX 发现新的编码+系列组合时,它会尝试读取字体描述文件(例如t1ptm.fd
或t1qcs.fd
)以方便的格式包含将“真实字体”与属性组合关联的说明。如果字体描述文件不存在,也可以在 LaTeX 文档中明确给出这些关联。
在某些情况下,属性组合并不指向现有字体。例如,"T1/cmtt/bx/n"(T1 编码中的 Computer Modern Typewriter 粗体直立扩展)就是这种情况。在以下情况下,LaTeX 可以采取不同的行动:
- 如果
.fd
文件定义了替换规则,则 LaTeX 遵循规则 - 如果
.fd
文件没有提供任何有用的信息,LaTeX 将使用一些内置规则
描述内置规则(位于source2e.pdf
)会很长。让我们研究两种情况。
在t1cmtt.fd
文件中我们找到以下行
\DeclareFontShape{T1}{cmtt}{bx}{n}{<->ssub*cmtt/m/n}{}
意思是
如果
T1/cmtt/bx/n
需要组合,则默默地将其更改为T1/cmtt/m/n
。
在t1qcs.fd
文件中
\DeclareFontShape{T1}{qcs}{m}{sl}{<->sub * qcs/m/it}{}
意思是
如果
T1/qcs/m/sl
请求组合,则将其更改为T1/qcs/m/it
并警告用户(一次)。
请注意编码是绝不改变,因为这可能会导致打印意外的字符。
两种情况的区别仅在于一个“s”:ssub
表示“默默替代”,而sub
表示“替代并警告”(关于这种特定替代的警告仅发出一次)。
这是开发者的选择:TeX Gyre 的人认为最好向用户警告这种替换;不TeX Gyre Schola 倾斜字体,因此必须选择另一种。
对于最常见的属性,LaTeX 有设置它们的命令:\bfseries
选择bx
系列属性(实际上它使用宏\bfdefault
);同样\itshape
选择形状属性it
(同样,实际\itdefault
使用的是)等等。字体开发人员可以任意使用多个系列和形状属性。有些字体有数十种可能的选择。
答案2
T1/qcs/m/sl:
T1 --- \fontencoding T1 (european, ``Cork''),
qcs --- \fontfamily: TeX Gyre Schola,
m --- \fontseries: medium,
sl --- \fontshape: slanted.
编辑:\TeX
Gyre 的家庭和套餐
\TeX Gyre Termes qtm tgtermes
\TeX Gyre Pagella qpl tgpagella
\TeX Gyre Bonum qbk tgbonum
\TeX Gyre Schola qcs tgschola
\TeX Gyre Chorus qzc tgchorus
\TeX Gyre Adventor qag tgadventor
\TeX Gyre Heros qhv tgheros
\TeX Gyre Cursor qcr tgcursor