Espacio antes de superíndice y subíndice

Espacio antes de superíndice y subíndice

¿Existe una macro global disponible para agregar espacio automáticamente antes de cada superíndice y subíndice matemático presente en un documento completo?

Respuesta1

No. Hay control sobre el espacio después, pero no sobre el espacio antes, siempre está unido directamente a la base.

Respuesta2

Soy el autor del paquete.altsubsupque proporciona formatos alternativos para subíndices y superíndices cuando se usan con corchetes, como _[...]o ^[...].

Puede definir su propio comando y configurarlo con

\newcommand*{\mysubsupformat}[1]{\,#1}% add a thin space
\SetAltSubSupCommands{\mysubsupformat}

Luego, todos los subíndices y superíndices escritos entre corchetes se formatearán con el comando \mysubsupformat.

Ejemplo completo

\documentclass{article}

\usepackage{amsmath}% for align*

\usepackage{altsubsup}
\newcommand*{\mysubsupformat}[1]{\,#1}% add a thin space
\SetAltSubSupCommands{\mysubsupformat}

\begin{document}

\begin{align*}
  x_a &  & x^b &  & x_a^b \\
  x_[a] &  & x^[b] &  & x_[a]^[b]
\end{align*}

\end{document}

con comandos alternativos altssubsup

Pero tal vez no quieras reescribir todo el documento. desde elaltsubsuppaquete guarde las definiciones originales de ^y _en \altsbsp@standardsuby \altsbsp@standardsup, puede intentar piratearlas (en \AtBeginDocumentporque se crean allí, y con \maketatlettery \makeatotherpara manejar el carácter @en los nombres de las macros):

\makeatletter
\AtBeginDocument{%
  \let\rampsmart@standardsub\altsbsp@standardsub
  \def\altsbsp@standardsub#1{\rampsmart@standardsub{\,#1}}% add a thin space
  \let\rampsmart@standardsup\altsbsp@standardsup
  \def\altsbsp@standardsup#1{\rampsmart@standardsup{\,#1}}% add a thin space
}
\makeatother

Ejemplo completo:

\documentclass{article}

\usepackage{amsmath}% for align*

\usepackage{altsubsup}

\makeatletter
\AtBeginDocument{%
  \let\rampsmart@standardsub\altsbsp@standardsub
  \def\altsbsp@standardsub#1{\rampsmart@standardsub{\,#1}}% add a thin space
  \let\rampsmart@standardsup\altsbsp@standardsup
  \def\altsbsp@standardsup#1{\rampsmart@standardsup{\,#1}}% add a thin space
}
\makeatother


\begin{document}



\begin{align*}
  x_a &  & x^b &  & x_a^b
\end{align*}

\end{document}

Obviamente, no uses formas cuadradas en este caso, están rotas.

información relacionada