使用命令垂直定位下标

使用命令垂直定位下标

问题的答案上标和下标的垂直定位因分组(`{ }`)而异:为什么?注意事项?解决方法?{(x+y)}^2 还是 (x+y)^2?明确指出应该使用(x+y)^2over{(x+y)}^2来获得上标的正确垂直位置。

但是,当使用带有括号组的宏并因此导致不同的垂直位置时,正确的方法是什么?例如,下标的位置在\mathrm{pr}_Avs中是不同的pr_A。如何获取罗马字体的文本,但同时保持正常的下标位置?

\documentclass{article}
\begin{document}
    \( \mathrm{pr}_A \), \( pr_A \)
\end{document}

在此处输入图片描述

答案1

在 的情况下\mathrm{pr}_A,下标A是相对于包含两个字母“pr”的框放置的。相反,在 的情况下,pr_A下标是相对于仅包含而不是 的A框放置的。框有深度(即基线以下的材料),而框没有。在将下标放在框旁边时,TeX 实际上并不知道rprprr里面盒子,因此它无法“知道”将下标放在较不深的位置实际上是可以的。这就是为什么下标相对于“pr”的位置比相对于“r”的位置更低。

请注意,这适用于直立字母和斜体字母。

在此处输入图片描述

\documentclass{article}
\begin{document}
    \( \mathrm{pr}_A \)
    \( \mathit{pr}_A \) \ 
    \( \mathrm{p}\mathrm{r}_A \)
    \( pr_A \)
\end{document}

你还问过,

如何使文本采用罗马字体但同时保持正常的下标位置?

我想可以这样写\mathrm{p}\mathrm{r}_A。但是,我不推荐这样做。相反,我会将其定义\pr为宏。例如,如果您加载amsmath包,则可以这样写

\newcommand\pr{\smash[b]{pr}}

或者

\newcommand\pr{\smash[b]{\mathrm{pr}}}  % for upright lettering of 'pr'

这样,“pr”框就没有深度,因此下标A就不会像你写的那么低\mathrm{pr}_A

最后,如果\pr它应该是一个数学运算符,则应该通过以下指令定义该运算符:

\DeclareMathOperator{\pr}{\smash[b]{\mathrm{pr}}}

\DeclareMathOperator是包裹提供的说明amsmath。)

相关内容