答案1
宏\mathstrut
-- 定义为\vphantom{(}
-- 是您的好朋友。使用它来为 的第二个实例创建一个“空”上标项a_i
。或者,您可以编写a^{\vphantom{\dagger}}_i
强制将下标项 ( i
) 放置在所需的深度。
\documentclass{article}
\usepackage{amsmath,tensor}
\begin{document}
\begin{equation*}
a^{\dagger}_{i} a_i \quad
a^{\dagger}_{i} \tensor{a}{_i} \quad
a^{\dagger}_{i} a^{\mathstrut}_i \quad
a^{\dagger}_{i} a^{\vphantom{\dagger}}_{i}
\end{equation*}
\end{document}
答案2
答案3
当某些字母也有上标时,对齐下标总是需要一些手动干预。在大多数情况下,添加一个空的上标^{}
就足够了。
对于 的情况\dagger
,其垂直延伸相当大,这并不是真正的解决方案(下标的高度差别很小)。
您可以减小尺寸\dagger
并让 TeX 认为它没有深度。
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\NewCommandCopy{\daggersymbol}{\dagger}
\makeatletter
\DeclareRobustCommand{\dagger}{{\mathpalette\dagger@\relax}}
\newcommand{\dagger@}[2]{%
\raisebox{\depth}{\scalebox{0.9}{$\m@th#1\daggersymbol$}}%
}
\makeatother
\begin{document}
$a_i^{\daggersymbol}a_i^{}$ (original)
$a_i^{\dagger}a_i^{}$ (scaled)
\end{document}