问题的答案上标和下标的垂直定位因分组(`{ }`)而异:为什么?注意事项?解决方法?和{(x+y)}^2 还是 (x+y)^2?明确指出应该使用(x+y)^2
over{(x+y)}^2
来获得上标的正确垂直位置。
但是,当使用带有括号组的宏并因此导致不同的垂直位置时,正确的方法是什么?例如,下标的位置在\mathrm{pr}_A
vs中是不同的pr_A
。如何获取罗马字体的文本,但同时保持正常的下标位置?
\documentclass{article}
\begin{document}
\( \mathrm{pr}_A \), \( pr_A \)
\end{document}
答案1
在 的情况下\mathrm{pr}_A
,下标A
是相对于包含两个字母“pr”的框放置的。相反,在 的情况下,pr_A
下标是相对于仅包含而不是 的A
框放置的。框有深度(即基线以下的材料),而框没有。在将下标放在框旁边时,TeX 实际上并不知道r
pr
pr
r
里面盒子,因此它无法“知道”将下标放在较不深的位置实际上是可以的。这就是为什么下标相对于“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
。)