这两个语句的上标位置完全相同:
\vphantom{\int}^S
和{}^S
我怎样才能使上标变得更高?
编辑
这\int
只是一个例子。这是另一个例子:\vphantom{)}^S
和)^S
。
答案1
该构造\vphantom
不是数学运算符,因此普通数学原子的规则适用于上标。\mathop
有助于:
\documentclass{article}
\begin{document}
\[
\int^S = \mathop{\vphantom{\int}}\nolimits^S
\]
\[
\int\limits^S = \mathop{\vphantom{\int}}^S
\]
\end{document}
使用包amsmath
可以声明一个“空”数学运算符\DeclareMathOperator
:
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator*{\vint}{\vphantom{\int}}
\begin{document}
\[
\int^S = \vint\nolimits^S
\]
\[
\int\limits^S = \vint^S
\]
\end{document}
如果结束分隔符较大,\mathclose
可以提供帮助,例如:
\documentclass{article}
\begin{document}
\[
\Biggr)^S = \mathclose{\vphantom{\Biggr)}}^S
\]
\end{document}
我不知道这个问题的原因。如果只需要一个单独的上标,那么隐形的\rule
或\raisebox
会有所帮助:
\documentclass{article}
\begin{document}
\[
{}^S < \rule{0pt}{2.5ex}^S < \raisebox{3ex}{$\scriptstyle S$}
\]
\end{document}
答案2
原因是:宏\vphantom
扩展为\mathchoice
原始。此原始将“选择项”放入数学列表中。当^
出现以下情况时,原子核不会立即创建,您可以阅读 TeXbook,第 291 页:
<superscript>
:如果当前列表没有以原子结尾,则附加一个所有字段都为空的新 Ord 原子。
尝试这个:
$ \int^S, {\int}^S % <- both creates the same result, Ord or Op is irrelevant
\mathchoice{\int}{\int}{\int}{\int}^S % <- this emulates \vphnatom{\int}^S
% and the empty atom is inserted (see TeXbook) like:
\mathchoice{\int}{\int}{\int}{\int}{}^S
% so the result is the same as:
{}^S
$
您可以通过以下方式解决您的问题:
$ {\vphantom{\int}}^S $
因为Ord原子是以“选择项”为核心创建的。
注意:普通原子不是问题,问题是\mathchoice
。