如何使索引(数学模式下标和下标)大小统一?

如何使索引(数学模式下标和下标)大小统一?

我主要使用 Latex 来编写张量代数,通常根据上下文使用各种拉丁和希腊索引。通常这是可以的,但我注意到偶尔一些字符高度(我假设)差异足够大,以至于引人注目。特别是当我们有一对“(反对称)对称”的索引时,这意味着我们在索引中包含 () 或 []。然后括号显然没有对齐。以下是最小设置的说明:

A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}

我曾尝试找到解决方案,但一无所获

答案1

如果你使用 luatex,你可以使用\mathscriptsmode。请参阅第 7.5.7 节了解不同模式的含义。

\documentclass{article}

\begin{document}
$A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}$\par

\mathscriptsmode 0
0: $A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}$\par

\mathscriptsmode 1
1: $A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}$\par

\mathscriptsmode 2
2: $A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}$\par

\mathscriptsmode 3
3: $A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}$\par

\mathscriptsmode 4
4: $A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}$\par

\mathscriptsmode 5
5: $A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}$\par

\end{document}

使用 lualatex 进行编译,得到以下结果:

不同模式下的脚本

小更新:由于它看起来像(使用 luatex 手册中的符号)s并且d在拉丁现代数学中设置为相同的值,我们看不到情况 1、2、3、4 和 5 之间有任何区别。因此,我粘贴了使用 ConTeXt 中的类似测试文件获得的结果,其中\Umathsubshiftdown稍作修改,以模仿 Computer Modern 的行为。

具有上下文的相同示例

答案2

解决方案可能是使用\tensor\indicestensor包装。我不确定对齐是否完美,但肯定更好。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tensor}
\begin{document}
\(A^{\rho}_{\sigma[\lambda} A_{\kappa]\nu}\)

\(\tensor*{A}{^\rho_{\sigma[\lambda}}\tensor{A}{_{\kappa]\nu}}\)
\end{document}

答案3

如果您不想使用专门的包来解决垂直定位问题,您可以自己修复这些问题,要么提供“空指数”,要么为了最大程度的定位保真度,\vphantom即指数项内的不可见指令。

在此处输入图片描述

\documentclass{article}
\begin{document}
\[
A^{\rho}_{\sigma[\lambda} 
A_{\kappa]\nu} 
A^{}_{\kappa]\nu}
A^{\vphantom{\rho}}_{\kappa]\nu}
\]
\end{document}

相关内容