我遇到了以下分数的垂直间距小问题:
\documentclass[12pt,letterpaper,twoside]{book}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{tensor}
\usepackage{pifont}
\begin{document}
\begin{equation}
\frac{p_x^2}{2 m} \frac{p_y^2}{2 m} \frac{p_{\smash{y}}^2}{2 m}
\end{equation}
\end{document}
本期预览:
如您所见,由于“y”索引,第二个“p”符号垂直移动了一点(其“2”也是如此)。我不喜欢这样。我想将所有“p”和“2”固定在完全相同的高度。粉碎有问题的“y”可以解决问题,但“y”几乎碰到了水平线,这很丑陋。那么有没有办法在保持“p”和“2”高度不变的情况下稍微升高“y”呢?
答案1
答案2
我明白了,要对齐下标x
和y
分数,您可以将subdepth
包与\smash[b]
命令一起使用。以下是调整等式的方法:
\documentclass[a4paper,12pt]{article}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{subdepth} % for adjusting subscript depth
\begin{document}
\begin{equation}
\frac{p_x^{\smash[b]{2}}}{2 m}, \frac{p_y^{\smash[b]{2}}}{2 m}
\end{equation}
\end{document}
通过在上标周围使用\smash[b]{}
,可以防止它们影响行距,确保下标x
和y
垂直对齐。该subdepth
包会调整下标深度以避免垂直间距不均匀。
答案3
在 LuaTeX 中(即在 OpTeX 中也是如此),您可以通过 LuaTeX 原语控制分子与分数规则的默认距离\Umathfractionnumup
:
\Umathfractionnumup\textstyle=.6em
\Umathfractionnumup\displaystyle=.78em
${p_x\over 2m}, {p_y\over 2m}$
$$
{p_x\over 2m}, {p_y\over 2m}
$$
\bye
答案4
我会断然拒绝提出是。
\smash
这是您的方法和我均衡下标的方法的比较。
\documentclass[12pt,letterpaper,twoside]{book}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{fixcmex}% don't forget this if you use lmodern
\usepackage{xcolor}
\newcommand{\arule}{\rlap{\color{red}\smash{\vrule width 1cm depth0.1pt height 0pt}}}
\begin{document}
\begin{alignat*}{2}
&\frac{\arule p_x^{\arule 2}}{2 m} \frac{p_{\smash{y}}^2}{2 m}
&\qquad&
\frac{p_x^{2}}{2 m} \frac{p_{\smash{y}}^2}{2 m}
\\
&\frac{\arule p_{\mathstrut x}^{\arule 2}}{2 m} \frac{p_{\mathstrut y}^2}{2 m}
&&
\frac{p_{\mathstrut x}^{2}}{2 m} \frac{p_{\mathstrut y}^2}{2 m}
\end{alignat*}
\end{document}
您还可以尝试\smash[t]{\mathstrut}
,利用两个字母都没有上升部这一事实。