Wie füge ich automatisch \! in Indizes ein?

Wie füge ich automatisch \! in Indizes ein?

Dieser Code

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

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

erzeugt diese Ausgabe:

Abstand

Mir gefällt der Abstand auf dem unteren viel besser.

Gibt es eine Möglichkeit, dies automatisch auf alle Indizes anzuwenden, \!sodass ich es nicht jedes Mal neu eingeben muss? Wenn dies nicht die optimale Methode ist, um diesen Abstand zu erreichen, bin ich natürlich gespannt darauf, eine bessere Methode zu lernen.

Antwort1

Sie können den Befehl neu definieren _. Dazu müssen Sie den Catcode des Zeichens ändern. Die Neudefinition im Beispiel sollte in der Präambel erfolgen. Ich habe es im Dokumentkörper getan, um das Verhalten zu demonstrieren.

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

$a_{\!1}$

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

$a_{1}$
\end{document}

Bildbeschreibung hier eingeben


Anstatt den Unterstrich global zu ändern, können Sie den Mathematikcode des Tokens neu definieren (Vorschlag von David Carlisle und verbessert von 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}

Am besten ist es jedoch, dies _in Etiketten zu vermeiden.

verwandte Informationen