当我{{\tilde{C}}^{0}_{har}}^{\Gamma}
在 Tex 中写入(或使用较少花括号的相同内容)时,我收到双上标错误,我无法解决它。有人知道如何修复它吗?
答案1
如果您希望\Gamma
与指数处于相同的高度0
,但不在旁边0
,则使用
$\tilde{C}^0_{\text{har}}{}^\Gamma$
为上标/下标创建{}
一个与第一个不同的新基数。如果要将 放在 旁边\Gamma
,0
则必须按以下方式组合上标(例如)
$\tilde{C}^{0,\Gamma}_{\text{har}}$
如果要\Gamma
成为整个前一个结构的上标,则使用
$\mbox{$\tilde{C}^{0}_{\text{har}}$}^\Gamma$
这会将结构放置在(文本)框中并允许上标。我更喜欢选项 2,因为选项 1 和 3\Gamma
实际上处于“茫茫荒野”之中。请注意,我曾经\text{...}
写过har
。这是凭借amsmath
。
答案2
(该答案的目的是总结现有答案中的不同方面并扩展egreg的解释。)
您在这里遇到了 TeX 引擎的一些非常奇怪的方面!我的简短回答是:遵循 Mico 和 Boris 的建议,并在\tilde{C}^{0}_{\text{har}}
;周围使用括号。这还有很长的路要走。
正如 egreg 在他的回答中所说,你的麻烦的罪魁祸首是\tilde
。在 TeXbook 中,{...}
第 291 页解释了数学模式下的分组(数学模式摘要)。对于以下回忆,这{
是第 1 类标记:
类别 1 的字符标记 [...] 使 TeX 开始新的分组级别,并开始处理新的数学列表。当这样的组以 '
}
' 结尾时,TeX 将使用生成的数学列表作为新 Ord 原子的核心,并将其附加到当前列表中。如果结果数学列表是单个 Acc 原子,然而(即重音量),该原子本身被附加。
这意味着\tilde{C}^{0}_{\text{har}}
用括号括起来没有效果!为此,还必须知道下标和上标被添加到 Acc 原子上\tilde{C}
,使得整个带有下标和上标的东西成为一个 Acc 原子。(这在第 291 页底部进行了解释。)结果就是您遇到的双上标错误。
显然 Knuth 认为您在此处尝试使用的额外分组没有任何必要。错误消息可能是他告诉您“不要这样做!”的方式。
上面的解释也显示了最简单的摆脱困境的方法(如果你真的如果你想不使用括号,我强烈建议不要这样做)。只要确保你放入括号中的东西不是“单个 Acc 原子”即可。例如,
${{}\tilde{C}^{0}_{\text{har}}}^{\Gamma}$
您将得到输出;空数学列表已经{}
起到了作用。当然,这看起来更像是魔术,而不是 Werner 的好建议\mbox{$...$}
。(人们可能会认为这个技巧的一个优点{}
是您不必在 中重新进入数学模式\mbox
。)
答案3
波浪符号是问题。输入
${\tilde{a}^b}^c$
${{\tilde{a}}^b}^c$
在 Plain TeX 中也会出现“双上标”错误,而
${a^b}^c$
不会。这是由于 TeX 处理“重音”原子的方式所致。然而,正如 Mico 所说,这样的符号是模棱两可的,应该以不同于试图让上标从任何地方悬挂的方式来管理。
答案4
波浪号不是问题。使用0
和\Gamma
作为上标才是问题。
我建议如下: $\left({\tilde{C}}^{0}_{har}\right)^{\Gamma}$