为什么 \text 只影响下一个字符,而 \cal 却影响所有后续字符

为什么 \text 只影响下一个字符,而 \cal 却影响所有后续字符

我确信这表明了一个更普遍的想法,但我注意到,如果我输入

 $$\text hello$$
 $$\text {hello}$$

 $$\cal OU$$
 $$\cal {OU}$$

到我的 tex 并编译我得到以下输出

在此处输入图片描述

显然,在第一种情况下,除非使用括号,否则 \text 命令只会影响第一个字符,而在另一种情况下,所有字符都会受到影响。

这些行为不同的原因是什么? 是否存在关于哪些命令将以哪种方式执行的一般规则?

提前感谢大家的帮助。另外,我不确定要使用哪个标签 - 请添加任何相关内容。

答案1

近二十年前,当 LaTeX2e(后来简称为 LaTeX)发布时,就已经考虑到了这种行为上的差异。

该命令\cal自 1994 年 6 月起已弃用,\mathcal应优先使用。与 一样\text\mathcal是带有参数的命令,其效果仅对后面括号中的材料有效。

所以

$\text{hello}\ne\mathcal{O}$

是有效且受支持的输入。根据 TeX 规则,如果带参数的命令后面没有{,则第一的token 用作参数。这就是为什么手册坚持参数应该总是用大括号括起来。

还要注意,$$在 LaTeX 中不能使用。手册中没有提到它;人们使用它,但他们错了。

相关内容