在此示例中
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\[
t_{0} = k r_N + \frac{ (N-1)\phi }{2}
\]
\[
t_{0} = k r_n + \frac{ (N-1)\phi }{2}
\]
\end{document}
使用 lualatex 编译,输出为
问题是当下标为大写时,它看起来几乎与处于同一级别r
。就像乘法而不是下标。
我希望看起来像这样(通过 paint.exe 的魔力完成)
这可能也取决于所使用的字体。
是否有一些全局选项可以帮助解决这种情况,以便小写字母和大写字母在字母下方具有相同的垂直空间?
答案1
您可以将下标放在 a 中\raisebox
,然后根据下标的高度和所需级别(此处为字体的 x 高度)之间的差异来降低下标的高度。这涉及将下标保存在框中并测量其高度。
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{settobox} % For \settoboxheight
\newbox{\subbox}
\newlength{\xheight}
\newlength{\subheight}
\newcommand\xheightsub[2]{%
\savebox{\subbox}{\({}_{#2}\)}%
\settoheight{\xheight}{\({}_x\)}%
\settoboxheight{\subheight}{\subbox}%
\addtolength{\subheight}{-\xheight}%
{#1}{\raisebox{-\subheight}{\usebox{\subbox}}}%
}
\begin{document}
\[
k_n = \xheightsub{k}{n} = \xheightsub{k}{N} = \xheightsub{k}{n^{2^t}} = \xheightsub{k}{+} = \xheightsub{\log}{N}
\]
\end{document}
代码没有完全涵盖的一个罕见的特殊情况是:如果您需要一个表达式来a \log_b
工作,您可以将其写成a \mathop() \xheightsub{\log}{b}
。