[Tex/LaTex] Minus sign too big in superscript inside subscript in math display mode


The following code:

Inline mode $\|f\|_{H^{-1}}, \|f\|_{_{H^{-1}}}, \|f\|_{_{\scalebox{0.7}{$H^{-1}$}}},\|f\|_{_{\scalebox{0.5}{$H^{-1}$}}}$, 
display mode $$\|f\|_{H^{-1}}, \|f\|_{_{H^{-1}}}, \|f\|_{_{\scalebox{0.7}{$H^\{-1}$}}},\|f\|_{_{\scalebox{0.5}{$H^{-1}$}}}$$

Results in the following:


I want to have $H^{-1}$ as a sub-index, in the first case it is just too big to be a subindex.

I added a second subindex in the second, the H looks good, but the -1 is just too big, in particular the minus sign.

I added scalebox, in the last two cases, which seems to give a better looking result, and it actually scale correctly the term H^{-1}, but I hate to use it, I can see this failing once I have to modify this for other formats, but I'm not sure.

Is there a way to tell that minus sign to scale appropriately with respect to the sub-index level used?

It seems that one way to solve the problem is to correctly set the norms either by grouping or defining a norm command as perfectly shown in some answer.

I still found that the minus sign is too big in what follows:

    &f^{-1}(x) &&L_{f^{-1}}[\eta] \\
    &f(x)   &&L_{f}[\eta]

enter image description here

The "-1" sign takes even more width than the "f" in the first case, in the seconds it gets close to the width of the $L_f$.

I imagine I could use a different symbol, i.e. a minus in $1-2$ could be different that in $-1$.

Best Answer

(I revised this answer thoroughly after receiving additional comments from the OP.)

I think there are two issues that need to be addressed: One is the spacing around the - ("minus") sign when it occurs in scriptscript-style math mode, and the other is the vertical positioning of the subscript formulas that follow a "norm" (double vertical bar) symbol.

Regarding the first issue, I suggest you define some macros like this

\newcommand{\mym}{\mkern-1.5mu-\mkern-3mu 1}

and then write $L_{\finv}[\eta]$ instead of L_{f^{-1}}[\eta]. Note that this approach simply reduces the amount of whitespace around the scriptscript-style minus symbol. It does not reduce the size of either the minus symbol or the digit 1; I'm concerned that reducing the size of the scriptscript-style glyphs would also reduce their basic readability. If you think the compressed -1 still takes up too much space, you should probably coming up with new and space-saving notation to denote the inverse of a function. E.g., something like f* or \bar{f}...

Regarding the second issue: Note that the formula \|f\|_{H^{-1}} may be broken down into two sub-formulas: \|f\| and _{H^{-1}}. What you're encountering is that TeX has special rules for placing subscripts that follow a "math atom" such as \|: The subscripts (and superscripts) are set in a cramped mode. While this is OK in most settings, it's clearly not optimal for your use case. I can think of two remedies: Either change the first sub-formula from \|f\| to {\|f\|}, changing its type to "math-ordinary", or -- more LaTeX-ishly -- define a macro called \norm (say) using the machinery of the mathtools package, and then write \norm{f} instead of {\|f\|}.

Combining the solutions to the two issues, I think you should write \norm{f}_{\Hinv} instead of \|f\|_{H^{-1}}.

enter image description here

\usepackage{mathtools} % for "\DeclarePairedDelimiter" macro
\DeclarePairedDelimiter\norm\lVert\rVert     % create a "\norm" macro
\newcommand{\mym}{\mkern-1.5mu-\mkern-3mu 1} % short for "my minus one"

$L_{f^{-1}}[\eta]$ vs.\ $L_{\finv}[\eta]$

\emph{Original code}


\emph{Employ grouping}


\emph{Dedicated \emph{\texttt{\textbackslash norm}} macro}