Färbung im Mathematikmodus

Färbung im Mathematikmodus

Ich möchte im Mathematikmodus einige der Symbole einfärben, aber nicht deren Indizes. Wenn ich dies jedoch mache, werden die Indizes unterbrochen und verschwinden aus dem Text.

Ich habe ein Minimalbeispiel vorbereitet, um mein Problem zu demonstrieren:

\documentclass{article}
\usepackage{xcolor}
\begin{document}

$T_i$

${\color{red}T}_i$

$\textcolor[rgb]{1,0,0}{T}_{i}$

\end{document}

Das Ergebnis ist:

Bild

Beachten Sie, dass T und i getrennt sind, wenn T eingefärbt wird. Gibt es eine Möglichkeit, richtig einzufärben, ohne zusätzlichen Platz im Index hinzuzufügen?

Antwort1

Anstatt die Farben zu ändern oder eine Gruppe unmittelbar vor einem Index zu schließen, ändern Sie die Farbe nach der Eingabe des Index.

\documentclass{article}
\usepackage{xcolor}
\begin{document}
$T_i$

${\color{red}T_{\color{black}i}}$
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Sie können sich die aktuelle Farbe merken und xparsezum Erfassen der möglichen Tief- und Hochstellungen verwenden, die in der aktuellen Farbe gesetzt sind.

\documentclass{article}
\usepackage{xcolor}
\usepackage{xparse}

\NewDocumentCommand{\colornucleus}{omme{_^}}{%
  \begingroup\colorlet{currcolor}{.}%
  \IfValueTF{#1}
   {\textcolor[#1]{#2}}
   {\textcolor{#2}}
    {%
     #3% the nucleus
     \IfValueT{#4}{_{\textcolor{currcolor}{#4}}}% subscript
     \IfValueT{#5}{^{\textcolor{currcolor}{#5}}}% superscript
    }%
  \endgroup
}
\begin{document}

$T_i$ $T^j$ $T_i^j$

$\colornucleus{red}{T}_i$
$\colornucleus{red}{T}^j$
$\colornucleus{red}{T}_i^j$

$\colornucleus[rgb]{1,0,0}{T}_{i}$
$\colornucleus[rgb]{0,1,0}{T}^j$
$\colornucleus[rgb]{0,0,1}{T}_{i}^j$

\textcolor{blue!30!red}{Text $\colornucleus{black}{T}_i$ text}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen