Cómo agregar automáticamente \! en subíndices?

Cómo agregar automáticamente \! en subíndices?

este codigo

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

$a_{\!1}$
\end{document}

produce esta salida:

Espaciado

Me gusta mucho más el espacio en el inferior.

¿Hay alguna manera de usarlo automáticamente \!en todos los subíndices para no tener que escribirlos cada vez? Si esta no es la forma óptima de lograr este espaciado, por supuesto estoy ansioso por aprender una manera mejor.

Respuesta1

Puede redefinir el comando _. Por lo tanto debes cambiar el catcode del letrero. La redefinición del ejemplo debe hacerse en el preámbulo. Lo hice en el cuerpo del documento para demostrar el comportamiento.

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

$a_{\!1}$

 \catcode`\_\active
 \def_#1{\sb{\!#1}}

$a_{1}$
\end{document}

ingrese la descripción de la imagen aquí


En lugar de cambiar el guión bajo global, puede configurar el código matemático del token para redefinirlo (sugerido por David Carlisle y mejorado por egreg):

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

$a_{\!1}$

\catcode`\_=12
\mathcode`\_="8000
\begingroup\lccode`\~=`\_
\lowercase{\endgroup\def~#1}{\sb{\!#1}}

$a_{1}$
\begin{equation}
1+1=1\label{eq_1}
\end{equation}
Text \ref{eq_1} Text$_1$
\end{document}

Sin embargo lo mejor es evitarlo _en las etiquetas.

información relacionada