我想chapterprefix
为scrbook
课堂设置字体。我想做的是:
\setkomafont{chapterprefix}{\centering\Huge\rmfamily\mdseries\scshape}
LaTeX
然而,当我写这篇文章的时候,我问自己,我给出命令的顺序是否有任何不同。正确的按照顺序执行此操作?我应该先选择位置 ( \centering
)、家庭 ( \rmfamily
)、形状 ( \scshape
)、重量 ( \mdseries
)、尺寸 ( \Huge
)... 吗?
答案1
随着 LaTeX2e 的成为标准的新字体选择方案 (NFSS) 沿 4 个正交轴(如果还计算字体编码,则为 5 个)识别字体:
- 字体系列(通过诸如、等命令
\rmfamily
或\sffamily
通过更通用的\fontfamily{<name>}\selectfont
) - 字体系列,是粗细和宽度的组合,例如“粗体扩展”,如
\bfseries
etc 或更通用的\fontseries{<name>}\selectfont
- 字体形状,类似于“正常”、斜体,但也包括“小写字母”(不太正确,见下文)。命令是
\itshape
、\scshape
等,或更通用的\fontshape{<name>}\selectfont
- 字体大小由
\small
、\large
等或更通用的\fontsize{<size>}{<baselineskip>}\selectfont
如果其中一个轴上的选择发生变化,其他轴的选择将不会改变,因此在这方面顺序无关紧要。
然而,有一些事情需要考虑:
- 如果一组高级命令(例如)
\rmfamily \scshape \mdseries \Huge
被依次执行,则每个命令都会在内部发出一个,\selectfont
以便所有中间选择都实际被加载。根据您给出的顺序,加载的字体可能不同(即使从未实际用于排版)。 - 只要这些临时字体确实存在,除了不必要地加载某些字体外,其他都没有什么关系。但是,如果任何中间组合都不可用,NFSS 将被迫应用某种替代,并且根据命令的顺序,替代可能会有所不同。
一般来说,选择字体(尤其是加载字体)需要时间,因此对于样式设置,使用更通用的低级命令后跟一个 会更有效
\selectfont
。例如,您的示例可以写成\fontfamily{\rmdefault}\fontshape{\scdefault}\fontseries{\mddefault}\Huge
\Huge
最后发出。\selectfont
或者,如果您想要一些非常具体的字体,也可以使用明确的名称来完成,例如,\fontfamily{cmr}\fontshape{sc}\fontseries{md}\fontsize{24pt}{30pt}\selectfont
事实上,还有一个\usefont
命令可以让你一次性设置编码、系列、系列、形状(需要单独指定大小),这样就会像
\fontsize{24}{30}\usefont{T1}{cmr}{md}{sc}