如何定义一小部分 tt 字体变量?

如何定义一小部分 tt 字体变量?

我正在尝试定义一些类似的东西$\frac\mathtt{A\_B}\mathtt{C\_D}$来获取两个打字机字体变量的分数(首选内联数学),但我一直收到错误,例如

“缺失 } 插入”

结果肯定是错误的。我做错了什么?

答案1

不,\frac除非你告诉它,否则它无法知道分子在哪里结束、分母在哪里开始,也无法知道分母何时结束恰恰

该宏\frac有两个参数,因此其语法是

\frac{<numerator>}{<denominator>}

最好记住这一点。

确实\mathtt需要一个参数,这样人类读者才能清楚地知道分子和分母应该是什么

\frac\mathtt{A\_B}\mathtt{C\_D}

然而,TeX 是一个计算机程序,而不是人类,它需要精确的指令。

一般来说,宏是从左到右处理的,因此 TeX 看到的是\frac并且它知道它应该接收两个参数。

当寻找时,确定参数的规则非常简单:

  1. 忽略空格,直到找到非空格的内容;

  2. 如果下一个标记是{,则参数是从{到匹配 的任何内容}

  3. 否则下一个标记就是参数。

当使用规则 2 时,在确定参数后将去​​掉括号。

根据规则 1 和 3,诸如 的输入\frac 1 2会产生正确格式的分数。实际上,TeX 会查看1并确定它是 的第一个参数\frac,然后忽略空格并确定2是第二个参数。

类似地,对于您的输入,\mathtt确定为第一个参数,{A\_B}为第二个参数!因此,您的输入完全等同于

\frac{\mathtt}{A\_B}\mathtt{C\_D}

这将导致分子格式不正确,从而产生奇怪的错误消息。

相反,

\frac{\mathtt{A\_B}}{\mathtt{C\_D}}

分数将被正确排版。

故事的道德启示:总是使用括号括住参数。如果您是经验丰富的 TeX 用户,您可能知道何时可以安全地省略括号。但要小心:

\frac 11 2

可能会让你大吃一惊!再读一遍规则 1 到 3,你会发现输入

\frac{11}{2}

是最好的策略。而且\frac{1}{2}

相关内容