每当我写作时,
${{\dot y}^a}^\top$
我将收到双上标错误。
但{{\dot y}^a}^\top
解析得很完美。我不明白为什么会出现错误。请帮忙!
答案1
摘自 TeXbook,第 26 章:数学模式摘要,第 291 页(最后一句是我强调的)
{<math mode material>}
。类别 1 的字符标记或与此类字符标记相等的控制序列\bgroup
会\let
导致 TeX 开始新的分组级别,并开始处理新的数学列表。当此类组结束时——`}'
使用生成的数学列表作为新 Ord 原子的核心,并将其附加到当前列表中。但是,如果得到的数学列表是单个 Acc 原子(即重音量),则该原子本身会被附加。
最后一句的意思是,如果括号的内容是单个 Acc 原子(包括下标/上标),那么外面的括号会被有效地删除。
相应的例程在 TeX 的§1186 中有描述(再次强调:我强调)
因此,{{\dot y}^a}
数学列表的内容是{\dot y}^a
,这是一个 Acc 原子(带上标)。因此括号被剥离,就像您写的 一样{\dot y}^a^\top
,导致双上标错误。请注意,每次遇到右括号时都会执行此检查和可能的括号剥离,因此嵌套无济于事:即使是像
{{{\dot{y}^a}}}^\top
戴三副牙套也无济于事。
解决方案是在数学列表中添加一些内容,使其不只包含 Acc 原子,例如空组或零核间距:
${{}\dot{y}^a}^\top$
或者,你可以在第二个上标之前添加空组,如下所示沃纳他在评论中指出。这将导致上标的位置不同,这可能是需要的,也可能不是;你自己选择吧。
\documentclass{article}
\begin{document}
${{}\dot{y}^a}^\top$
${\dot{y}^a}{}^\top$
\end{document}