![使用 \dot、\bar 进行上标和下标的奇怪相对定位](https://linux22.com/image/259417/%E4%BD%BF%E7%94%A8%20%5Cdot%E3%80%81%5Cbar%20%E8%BF%9B%E8%A1%8C%E4%B8%8A%E6%A0%87%E5%92%8C%E4%B8%8B%E6%A0%87%E7%9A%84%E5%A5%87%E6%80%AA%E7%9B%B8%E5%AF%B9%E5%AE%9A%E4%BD%8D.png)
最小工作示例:
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\[ {A^\mu}_\nu \]
\[ {\bar{A}^\mu}_\nu \]
\end{document}
結果是。
为什么第二个中上下索引的位置是错误的?
答案1
摘自 TeXbook,第 290 页:
<数学字段>用于指定原子的原子核、上标或下标。当<数学字段>为<数学符号>时,F和A 该符号的数字进入原子域。否则,<数学域> 以 开头
{
,这会导致 TeX 进入新的分组级别并开始新的数学列表;随后的 <数学模式材料> 以 结尾}
,此时组结束,生成的数学列表进入原子域。如果数学列表结果只是一个没有下标或上标的 Ord 原子,或者一个核心是 Ord 的 Acc,则括号会被有效删除。
因此在第一个例子中
\[ {A^\mu}_\nu \]
<math field>A^\mu
有上标,因此括号不会被删除。在第二个示例中,
\[ {\bar{A}^\mu}_\nu \]
我们处于另一种情况,因为\bar{A}
是 Acc 原子。因此括号被删除并且无效。
Knuth 为什么选择这样做?我真的不知道,但主要原因可能是与双重重音有关。在以下情况下
\bar{\bar{A}^\mu}
有人希望将第二个横线放在 上\bar{A}
,而不是整个子公式上。实际上,Plain TeX 宏并不容易允许制作双重数学重音符号,而 解决了这个问题amsmath
。
答案2
问题不在于为什么第二个例子中下标的定位是“错误的”,而在于为什么第一个例子中下标是这样的。
在“正常”情况下,第二个下标的定位是想要的,而不是“偏移”排列 - 除非你指示张量,在这种情况下顺序和位置是不同的。
显然,您想要偏移量。此输入将给出以下结果:
\[ \bar{A}^\mu{}_\nu \]
事实上,{}
即使在第一种情况下,该对(称为“空组”)也是获取偏移量的首选方法:
\[ A^\mu{}_\nu \]
我必须让别人来说为什么您的第二个例子没有任何偏移。