\font 命令的功能及使用方法

\font 命令的功能及使用方法

我见过 的用法\font。例如

\font\Cal=cmsy10 at 25pt

我找不到有关此命令的任何信息。有人能告诉我它的功能是什么、如何工作以及如何使用它吗?

答案1

好吧,为了真正了解它,你可能需要找一本好的 TeX 参考书;但基础其实很简单。

\font是更改文档中字体的简单 TeX 方式。您告诉\fontTeX 您想要声明一种字体,然后您为 TeX 提供一个控制序列,您将通过该控制序列引用该字体,然后您告诉=filenameTeX 知道在您使用该控制序列时要抓取哪种字体。例如:

\documentclass{book}
\begin{document}
\font\boldface=cmb10
\font\normalweight=cmr10
Now is \boldface the time \normalweight for all good...
\end{document}

会给你这个:

演示字体变化。

当然,它可以用于更重大的更改,包括完全更改字体(例如,\font\feta=ffmr10\feta更改为十点 Fetamont)。但在单个文档中,您主要使用同一字体系列并在大小、形状和粗细之间切换,因此这是最常见的用例。

这种方法的诀窍是,您需要知道所需字体的确切文件名;我说的“确切文件名”就是这个意思。您不能只知道 Computer Modern 字体以 开头cm,您还需要知道十点的 Computer Modern Roman 是文件cmr10。这可能需要很大的脑力劳动。

大多数字体都有 LaTeX 软件包,使这类事情变得简单;这些软件包通常将其字体纳入新字体选择方案 (NFSS),这意味着您所要做的就是将文档字体设置为 GreatFont(我刚刚编造的),然后所有常规 LaTeX 命令(如\textit\textbf等)都将按预期工作,但使用新字体。如果没有 NFSS,您必须为\font可能使用的所有不同样式、粗细、形状和大小指定新命令和新声明。NFSS 是一件很棒的事情。

据我所知,XeTeX 和 LuaTeXfontspec以相当透明的方式处理这些事情,因此如果 OTF 文件设置正确,您甚至不需要字体包。但我对此了解甚少。

PS 该at指令告诉 TeX 以某种方式缩放字体;例如,您可以说\font\something=cmr5 at 10pt通过放大五点 Computer Modern Roman 来获得十点 Computer Modern Roman。但这通常不是一个好主意,因为字体是为特定尺寸设计的,当使用与该设计尺寸相差太大的尺寸时看起来不太好。NFSS 还为软件包作者提供了方法来确保当请求的尺寸不是可用的设计尺寸时,请求的尺寸将通过放大最接近的可用设计尺寸来获得,从而最大限度地减少缩放不可避免的质量下降。

相关内容