
Wie färbt man nur die Koeffizienten eines ausgerichteten Gleichungssystems? Ich versuche, so etwas zu tun:
Und bisher habe ich versucht, diese Pakete zu verwenden und diese Farben zu definieren:
\usepackage{amsmath,systeme}
\usepackage{xcolor}
\definecolor{V}{HTML}{00a2e8}
\definecolor{R}{HTML}{fbc200}
\definecolor{B}{HTML}{000000}
Mein Problem ist, dass die Systemumgebung es mir anscheinend nicht erlaubt, das Minuszeichen der Koeffizienten (ich nehme an, sie werden verwendet, um jeden Term in den Gleichungen zu identifizieren) oder das Gleichheitszeichen einzufärben. Also habe ich Folgendes versucht:
\begin{equation*}\mathcolor{R}{
\systeme[I_{1}I_{2}I_{3}I_{4}]{
6\color{B}{I_{1}}-3\color{B}{I_{2}} -1\color{B}{I_{3}}=\color{V}{5},
-3\color{B}{I_{1}} +7\color{B}{I_{2}} -2\color{B}{I_{4}}=\color{V}{-23},
-1\color{B}{I_{1}}+3\color{B}{I_{3}} -1\color{B}{I_{4}}=\color{V}{5},
-2\color{B}{I_{2}} -1\color{B}{I_{3}} +4\color{B}{I_{4}}=\color{V}{3}
}}
\end{equation*}
Wenn ich andererseits Folgendes versuche:
\begin{equation}
\systeme*{
\color{R}{6}\color{B}{I_{1}} -\color{R}{3}\color{B}{I_{2}}-\color{R}{1}\color{B}{I_{3}}=\color{V}{5},
\color{R}-3\color{B}{I_{1}}+\color{R}{7}\color{B}{I_{2}} -\color{R}{2}\color{B}{I_{4}}=\color{V}{-23},
\color{R}{-1}\color{B}{I_{1}}+\color{R}{3}\color{B}{I_{3}}-\color{R}{1}\color{B}{I_{4}}=\color{V}{5},
\color{R}-\color{R}{2}\color{B}{I_{2}}-\color{R}{1}\color{B}{I_{3}} +\color{R}{4}\color{B}{I_{4}}=\color{V}{3}
}
\end{equation}
Ich erhalte diese Ausgabe:
Ich weiß, dass die Minuszeichen, wie ich die Gleichungen geschrieben habe, technisch gesehen nicht Teil der Koeffizienten sind, sondern eine verkürzte Art, + (-k) auszudrücken, wobei k eine reelle Zahl ist. Aber ich dachte, dass es vielleicht eine Möglichkeit gibt, die LaTeX-formatierte Version des ersten Bildes zu erhalten, das ich hochgeladen habe. Wenn Sie also eine Idee haben, wie das geht, wäre ich Ihnen sehr dankbar :)
PS: Falls sich jemand fragt, das ist das System, das ich aus einem Stromkreis erhalte, daher stammen die Namen der Variablen.
Antwort1
Hier baue ich es von Grund auf als TABstack. Ich verwende es tokcycle
nur insoweit, als ich sein Token-Listen-Erstellungsmakro verwende, \addcytoks
um das \cytoks
Token-Register aufzubauen.
Ich verwende es listofitems
, um die Koeffizienten zu analysieren und das Token-Register aufzubauen, das am Ende an den TABstack übergeben wird.
Syntax ist
\mysystem{<color1>}{<color2>}{<Variable>}{<coefficients>}
Das MWE:
\documentclass{article}
\usepackage{listofitems,tokcycle,xcolor,tabstackengine}
\TABstackMath
\newcommand\mysystem[4]{%
\begingroup
\setsepchar{\\/&}%
\readlist\zlist{#4}%
\foreachitem\z\in\zlist[]{%
\foreachitem\zz\in\zlist[\zcnt]{%
\if\relax\zz\relax\addcytoks{&}\ifnum\zzcnt=1\relax\else
\addcytoks{&&}\fi\else
\ifnum\zzcnt=\listlen\zlist[1]\addcytoks{&{}={}&}\relax\else
\ifnum\zzcnt=1\else\ifnum\zz<0\addcytoks{&&}\else
\addcytoks{&{}+{}&}\fi\fi\fi
\ifnum\zzcnt=\listlen\zlist[1]\relax\addcytoks{\textcolor{#2}\bgroup}%
\else\addcytoks{\textcolor{#1}\bgroup}\fi
\addcytoks[1]{\expandafter{\zz}\egroup}%
\ifnum\zzcnt=\listlen\zlist[1]\relax
\ifnum\zcnt=\listlen\zlist[]\else\addcytoks{\\}\fi\else
\addcytoks{#3_}\addcytoks[1]{\expandafter{\zzcnt}}%
\addcytoks{&}\fi
\fi
}%
}
\renewcommand\stackalignment{r}%
\expandafter\tabbedCenterstack\expandafter{\the\cytoks}
\endgroup
}
\setstackgap{L}{1.2\normalbaselineskip}
\begin{document}
\[
\left\{\mysystem{orange!80!black}{cyan!80!black}{I}
{6&-3&-1&&5\\-3&7&&-2&-23\\-1&&3&-1&5\\&-2&-1&4&3}\right.
\]
\end{document}
Wenn ein anderer vertikaler Abstand zwischen den Gleichungen gewünscht wird, kann man diese Zeile in der Präambel ändern.
\setstackgap{L}{1.2\normalbaselineskip}
Antwort2
Erstens vermute ich anhand Ihres Codes, dass Sie die grundlegenden Befehle des xcolor
Pakets missverstanden haben. Die einfachsten Befehle zum Einfärben eines Textes sind \color
und \textcolor
.
\textcolor
dauertzweiobligatorische Argumente, wobei das erste eine gültige Farbe und das zweite die Eingabe ist, die in dieser Farbe ausgegeben werden soll. Ich denke, so wollten Sie es verwenden\color
, aber so funktioniert es nicht.\color
dauert nureinsobligatorisches Argument, das eine definierte Farbe ist. Wenn Sie aufrufen\color{R}
, fordern Sie LaTeX auf, alles (in der aktuellen Gruppe), was folgt, in die Farbe zu schreibenR
.
Wenn LaTeX beispielsweise liest \color{R}{I_{1}}
, wechselt es zur Farbe R
und wird dann mit dem Lesen von fortgesetzt {I_{1}}
, was nicht als Argument von übernommen wird \color
.
Ich bin mir auch nicht ganz sicher, wie \systeme
es funktioniert, aber soweit ich weiß, richtet es das Gleichungssystem mithilfe der Vorzeichen und Variablen aus, daher scheint es wahrscheinlich, dass die Verwendung von Farbbefehlen die Ausrichtung durcheinander bringt.
Daher würde ich Ihnen empfehlen, etwas anderes zu verwenden, um das Gleichungssystem zu erstellen. Das folgende Beispiel verwendet eine array
Umgebung.
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{xcolor}
\definecolor{V}{HTML}{00a2e8}
\definecolor{R}{HTML}{fbc200}
\definecolor{B}{HTML}{000000}
\newcommand*{\I}[1]{\textcolor{B}{I_{#1}}}
\newcommand*{\p}{\textcolor{B}{+}}
\newenvironment{systemeq}{%
\renewcommand{\arraycolsep}{0pt}
\left\{
\begin{array}{>{\color{R}}r @{\mkern\medmuskip}%
>{\color{R}}c @{\mkern\medmuskip}%
>{\color{R}}r @{\mkern\medmuskip}%
>{\color{R}}c @{\mkern\medmuskip}%
>{\color{R}}r @{\mkern\medmuskip}%
>{\color{R}}c @{\mkern\medmuskip}%
>{\color{R}}r%
@{\mkern\thickmuskip{=}\mkern\thickmuskip}%
>{\color{V}}l}%
}{%
\end{array}
\right.
}
\begin{document}
\[
\begin{systemeq}
6\I{1} & - & 3\I{2} & - & 1\I{3} & & & 5 \\
-3\I{1} & \p & 7\I{2} & & & - & 2\I{4} & -23 \\
-1\I{1} & & & \p & 3\I{3} & - & 1\I{4} & 5 \\
& - & 2\I{2} & - & 1\I{3} & \p & 4\I{4} & 3
\end{systemeq}
\]
\end{document}
Dieser Ansatz funktioniert gut, ist aber natürlich weniger automatisch als die übliche Verwendung des \systeme
Befehls.