如何在 Plain TeX 中定义数学粗体字体?

如何在 Plain TeX 中定义数学粗体字体?

考虑以下代码:

\font\rm=ecrm1000\rm
\font\bf=ecbx1000

R{\bf R} $R{\bf R}$

\bye

我得到的结果是 RR RR。但我期待的是 RR RR

为什么数学公式中的第二个 R 没有以粗体显示?

答案1

文本字体的选择对数学排版没有影响。你定义\bf为只选择文本字体,在数学中你不会期待任何东西。

纯 TeX 原始\bf宏并行执行两个操作。请参阅 plain.tex 文件:

\def\bf {\fam\bffam \tenbf}

首先,选择文本字体\tenbf;其次,选择数学字母\bffam由收集于数学家族中\fam\bffam

您可以声明:

\font\tenbf=ecbx1000

并保持纯 TeX 宏\bf不变。现在,将在文本模式下选择您的字体,并且它会在数学模式下\bf保留对数学字母的选择。\fam\bffam

答案2

不要这样做,而是使用现有的基础设施

\font\tenrm=ecrm1000
\font\sevenrm=ecrm0700
\font\fiverm=ecrm0500
\font\tenbf=ecbx1000
\font\sevenbf=ecbx0700
\font\fivebf=ecbx0500
\rm

R{\bf R} $R{\bf R}$
\bye

在此处输入图片描述

相关内容