我基本上想要实现的是了解文档中的每个字体更改。我已经覆盖了该\selectfont
命令,因为它用于根据 LaTeX NFSS 文档激活新字体。我的版本\selectfont
与原始版本完全相同,用于\message{\fontname\font}
将新字体名称打印到日志文件。
在章节标题之前,我可以看到字体变为更大的粗体字体,但在章节标题之后,使用命令字体没有变化\selectfont
。那么 LaTeX 如何将字体改回正常大小?
答案1
当您说{\bfseries text}
(注意括号)时,LaTeX 将在\selectfont
后台执行,但所选字体将仅在扫描到右括号之前使用。
更改当前字体是一项任务,并且当组结束时,组中执行的所有(好吧,几乎所有)任务都会被默默撤消。
这是非常方便:你可以更改当前字体,而不必记住之前的字体。因此
Some text in roman type {\itshape and this is in italic,
{\bfseries while this is in bold italic} and this reverts to
italic} and back to normal.
将按预期运行。(我并不建议以这种方式使用命令,这只是一个例子。)例如,此功能被分区命令利用,该命令将分区标题排版为一组,以便字体将在本地分配。
TeX 意义上的组是什么?一对{...}
分隔一个组(如果不使用括号来分隔命令的参数);也\begingroup...\endgroup
执行相同的任务,并且所有 LaTeX 环境都会在其开头和结尾发出此类命令,因此 LaTeX 环境形成一个组。
还有“隐式”组:和的参数\hbox
是隐式分组的,因此 a或 a (它们是原始元素的包装器)\vbox
中的字体变化不会溢出。\mbox
\parbox
注意。有些作业不遵守小组结构,但这是一个相当深奥的话题。字体作业不在其中。