8

The superscripts position is exactly the same for these two statements:

\vphantom{\int}^S and {}^S

How can I get the superscript higher up?

Edit

The \intis just an example. Here is another one: \vphantom{)}^S and )^S.

  • 1
    in which mode? text based math or display based? It might also be an idea to explain a bit more about what you are trying to do. Perhaps there is a better solution than trying to hack something together manually. – daleif Mar 14 '14 at 12:08
8

The construct \vphantom is not a math operator, thus the rules for an ordinary math atom applies for the superscript. \mathop helps:

\documentclass{article}

\begin{document}
\[
  \int^S = \mathop{\vphantom{\int}}\nolimits^S
\]
\[
  \int\limits^S = \mathop{\vphantom{\int}}^S
\]
\end{document}

Result

With package amsmath an "empty" math operator can be declared with \DeclareMathOperator:

\documentclass{article}

\usepackage{amsmath}
\DeclareMathOperator*{\vint}{\vphantom{\int}}

\begin{document}
\[
  \int^S = \vint\nolimits^S
\]
\[
  \int\limits^S = \vint^S
\]
\end{document}

In case of a larger closing delimiter, \mathclose can help, e.g.:

\documentclass{article}

\begin{document}
\[
  \Biggr)^S = \mathclose{\vphantom{\Biggr)}}^S
\]
\end{document}

Superscript at invisible closing delimiter

I do not know, the reason for the question. If only a lonely higher superscript is needed, then an invisible \rule or \raisebox will help:

\documentclass{article}

\begin{document}
\[
  {}^S < \rule{0pt}{2.5ex}^S < \raisebox{3ex}{$\scriptstyle S$}
\]
\end{document}

Higher superscript

  • Is this equivalent to a simple {\vphantom{\int}}^S? What about the )^S? It seems your solutions will produce a higher superscript than )^S. – user4514 Mar 16 '14 at 9:24
  • @user4514: I have added some other cases in the updated answer. – Heiko Oberdiek Mar 16 '14 at 12:33
  • @user4514 Yes, this is equivalent to {\vphantom{\int}}^S. See my answer where the reason of your problem is explained in detail. – wipet Nov 2 '17 at 6:31
1

The reason is: the macro \vphantom expands to the \mathchoice primitive. This primitive puts the "choice item" to the math list. When the ^ follows, then nucleus of the atom is not created immediately before and you can read the TeXbook, page 291:

<superscript>: If the current list does not end with an atom, a new Ord atom with all fields empty is appended.

Try this:

$ \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
$

You can solve your problem by:

$ {\vphantom{\int}}^S $ 

because the Ord atom is created with "choice item" as nucleus.

Note: Ordinary atom is not problem, problem is \mathchoice.

  • I've always wondered why \vphantom did not always behave exactly like its typeset counterpart. Thanks. – Steven B. Segletes Nov 2 '17 at 10:13

protected by Community Nov 2 '17 at 7:11

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.