Espaciado alrededor del operador matemático en subíndice/superíndice

Espaciado alrededor del operador matemático en subíndice/superíndice

Considera lo siguiente:

\documentclass{article}

\begin{document}

What I have:
\[x^{1+1}\]

What I would like:
\[x^{1\,+\,1}\]

That is, I will like to have spacing around the operator as in `$1+1$'.\\[\baselineskip]
\textsf{Question:} How do I get the above throughout my document without having to add \verb|\,| on each side of the operator every time?

\end{document}

producción

Respuesta1

ingrese la descripción de la imagen aquí

Luatex tiene primitivas para controlar el espacio agregado entre cada clase en cada estilo matemático, por lo que para controlar el espacio entre mathord y mathbin en estilo script:

\documentclass{article}

\begin{document}
$a+b x^{a+b}$

\Umathordbinspacing\scriptstyle=10mu
\Umathbinordspacing\scriptstyle=10mu

$a+b x^{a+b}$

\end{document}

Para motores TeX clásicos puedes hacer

ingrese la descripción de la imagen aquí

\documentclass{article}
\DeclareMathSymbol{\realplus}{\mathbin}{operators}{"2B}
\begin{document}
$a+b x^{a+b} +cx^{+c}$

%\Umathordbinspacing\scriptstyle=10mu
%\Umathbinordspacing\scriptstyle=10mu


\def\z{{\mskip\medmuskip{\realplus}\mskip\medmuskip}}

$a\z b x^{a \z b} \z  cx^{\z c}$

\catcode`\+\active\let+\z
\catcode`\+12
\mathcode`\+="8000

$a+b x^{a+b} +cx^{+c}$

\end{document}

Pero no es tan bueno, siempre agrega el espacio, por lo que solo funciona si +se usa como operador binario entre átomos matemáticos. Tenga en cuenta que el prefijo final +cen el último término obtiene el espacio amplio, que en realidad no es lo que desea; necesitaría un comando separado para acceder a un prefijo +.

En una respuesta vinculada a través de comentarios, sugerí una construcción \nonscriptque parece más complicada, pero en realidad creo que tiene el mismo defecto.

La versión sugerida por egreg usando \textobtiene el espaciado correcto pero requiere más marcado que simplemente agregar el espacio (aunque, por supuesto, podría definir su propio \spcomando variante que genere superíndices usando esta construcción).

Respuesta2

No, no lo quieres. Knuth ha estudiado las reglas de los espacios matemáticos examinando varios documentos con contenidos matemáticos producidos durante un amplio período de tiempo.

Quizás alguna tradición tipográfica nacional espacie los símbolos de operación y relación también en superíndices y subíndices. Esto no significa que sea bueno: hay espacios reducidosesbueno, en general. Algún contratiempo ocasional se puede solucionar a mano: si quieres un documento bonito, tienes que trabajar en él. Miguel Ángel no solo usó martillo y cincel para hacerse famosoPiedad.

Esta es una imagen de un libro de Karl Weierstraß, “Theorie der Abel'schen Functionen: Erstes Heft”, 1856 (ver en Google libros)

ingrese la descripción de la imagen aquí

Puede ver que las sumas en superíndices están ajustadas, lo que no es el caso de las sumas en tipo normal.


Aquí hay un truco que recuerdo usado por Barbara Beeton:

\documentclass{article}
\usepackage{amsmath}

\catcode`^=12
\catcode`_=12

\begingroup\lccode`~=`^\lowercase{\endgroup\def~}{\SPACED\sp}
\begingroup\lccode`~=`_\lowercase{\endgroup\def~}{\SPACED\sb}
\AtBeginDocument{\mathcode`^="8000 \mathcode`_="8000 }

\makeatletter
\def\SPACED#1#2{#1{\text{$\m@th#2$}}}
\makeatother

\begin{document}
$\displaystyle x^{1+1}+\sum_{1\le k\le n}k^2$

The original: {\catcode`^=7 \catcode`_=8
  $\displaystyle x^{1+1}+\sum_{1\le k\le n}k^2$}
\end{document}

Esto \displaystylees sólo a modo de ejemplo.

ingrese la descripción de la imagen aquí

No tengo dudas sobre qué versión elegiría.

información relacionada