Applet für die Erstellung von Linearen GleichungssystemenGleichungssystemen - Verbesserungsvorschläge erwünscht
**Geschlossen. Vermutlich Dublikat zu**
https://texwelt.de/wissen/fragen/23320/pgfplotstable-wie-kann-ich-mehrere-pgfplotstables-tabellenartig-
**anordnen** Gruß cis. Ich mache es ggf. nochmal anders auf, aber erst nachdem diverse Trivialpropleme behoben werden konnten.
___
[![alt text][1]][1]
text][1]][2]
Ich habe ein Applet für Lineare Gleichungssyteme entworfen.
Damit kann ich aus pgfplotstables Matrizen `\MatrixI, \MatrixII,...` erstellen.
Für die Anordnung der pgfplotstables musste ich eine TikZ-Matrix bemühen (habe es anders nicht hinbekommen).
Das tut eigentlich soweit alles.
Nur mit
· Allerdings erzeugt der Anordnung hakt es noch ein wenig.
Ich dachte an
%Tut nicht
%Ausgabe:
\newcommand{\Ausgabe}{
\begin{array}{l l l l}
\MatrixI & \step & \MatrixII & \step \\
\MatrixIII & \step & \MatrixVI & \step \\
\MatrixV & & & \\
\end{array}
}
aber egal, Code haufenweise Badboxen.
· Auch kriege ich, egal was ich versuche (array, tabular, matrix); es kommt immer eine Fehlermeldung, dass Dollarzeichen fehlen.
Ich hoffe sehr, dass es einstelle diese riesen Lücke hier nicht am [![professionellen weg
[![alt text][3]][3]
**Also falls jemand Lust hat, mir zu helfen, den Code von @Silkmon][2]][3] liegt, weil ohne den zu optimieren und mal drüber schauen möchte, wäre ich ziemlich aufgeschmissen.
Was muss ich anders machen?
Ich poste mal den ganzen Code:
das sehr nett.**
%\documentclass[]{article}
\documentclass[border=3mm, varwidth]{standalone}
tikz]{standalone}
\usepackage{pgfplotstable, amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix}
% Applet für die Eingabe von Linearen Gleichungssystemen
% v2.0
\pgfplotsset{compat=1.13}
\pgfplotstableset{header=false}
% Eingabe:
Eingabe 1/3 "Matrizen eingeben":
\pgfplotstableread[]{
1 2 -1 1 {}
0 1 1 2 {}
2 1 1 1 {-2\mal I}
3 2 1 1 {-3\mal I}
}\matrixI
\pgfplotstableread[]{
1 2 -1 1 {}
0 1 1 2 {}
0 -3 3 -1 {}
0 -4 4 -2 {:2}
}\matrixII
\pgfplotstableread[]{
1 2 -1 1 {-2\mal II}
0 1 1 2 {}
0 -3 3 -1 {+3\mal II}
0 -2 2 -1 {+2\mal II}
}\matrixIII
\pgfplotstableread[]{
1 0 -3 -3 {}
0 1 1 2 {}
0 0 6 5 {}
0 0 4 3 {3\mal IV-2\mal III}
}\matrixIV
\pgfplotstableread[]{
1 0 -3 -3 {}
0 1 1 2 {}
0 0 6 5 {}
0 0 0 -1 {\Error}
}\matrixV
% Tut nicht Eingabe 2/3 "Ausgabe festlegen":
\newcommand{\Ausgabe}{
{\MatrixI} \& \step \& {\MatrixII} \& \step \\
{\MatrixIII} \& \step \& {\MatrixIV} \& \step \\
{\MatrixV} \& \& \& \\
}
% Ausgabe:
%\newcommand{\Ausgabe}{
% \begin{array}{l l l l}
%\MatrixI & \step & \MatrixII & \step \\
%\MatrixIII & \step & \MatrixVI & \step \\
%\MatrixV & & & \\
%\end{array}
%}
Eingabe 1/3 "Evtl. Anordnung der Matrizen festlegen"
\tikzset{nodes={text width=3.75cm},% für Matrizen
myset/.style={%column sep=15cm,
column #1/.style={nodes={text width=2em}
}% für step-Spalten
},
myset/.list={2,4,...,100},
}
% ===================================
% Sonderzeichen
\newcommand\mal{$\cdot$} % Malpunkt
\newcommand\Error{%
\begin{tikzpicture}[baseline=-1ex, scale=0.05, outer sep=0pt]
\draw[->] (3,3)--(0,0)--(3,1)--(0,-3);
\end{tikzpicture}}
\newcommand\step{$\rightarrow$}
% Allgemeine und spezielle Einstellungen
\pgfplotstableset{%header=false, % da bereits oben
string type,
every head row/.style={output empty row},%
ErweiterteKoeffizientenMatrix/.style={
column type=r,
postproc cell content/.append style={/pgfplots/table/@cell content/.add={$}{$}},
},%
AnnotationsSpalte/.style={
column type=l,
postproc cell content/.append style={/pgfplots/table/@cell content/.add={\tt\footnotesize}{},}
content/.add={\tt\footnotesize\hspace{-0.75em}}{},}
}%
}
% Matrizen erstellen ============================
\newcommand{\Dimensionen}[1]{%
\pgfplotstablegetcolsof{#1}
\pgfmathtruncatemacro{\LetzteSpalteNummer}{\pgfplotsretval-1}
\pgfplotstablegetcolsof{#1}
\pgfmathtruncatemacro{\VorletzteSpalteNummer}{\pgfplotsretval-2}
\pgfplotstablegetcolsof{#1}
\pgfmathtruncatemacro{\VorvorletzteSpalteNummer}{\pgfplotsretval-3}
}
% Kommandos \MatrixI, \MatrixII,... erstellen =============
\newcounter{MatrixNummer}
\loop
% Kommandos für Matrizen erstellen ===
\ifnum\value{MatrixNummer}<99
\stepcounter{MatrixNummer}
\expandafter\edef\csname Matrix\Roman{MatrixNummer}\endcsname
{%
\noexpand\Dimensionen{\expandafter\noexpand\csname matrix\Roman{MatrixNummer}\endcsname}
{$\left\lgroup \noexpand\pgfplotstabletypeset[ErweiterteKoeffizientenMatrix, columns={0,...,\noexpand\VorletzteSpalteNummer\noexpand},
columns/\noexpand\VorvorletzteSpalteNummer\noexpand/.style={column type=r|},
]{\expandafter\noexpand\csname matrix\Roman{MatrixNummer}\endcsname}\right\rgroup$}%
\noexpand\hspace{-0.75em}%
%
\noexpand\pgfplotstabletypeset[AnnotationsSpalte,
columns={\noexpand\LetzteSpalteNummer\noexpand}
]{\expandafter\noexpand\csname matrix\Roman{MatrixNummer}\endcsname}%
}% ===
\repeat
% =================================
\begin{document}
%\Ausgabe % tut nicht
\MatrixI \step \MatrixII \step
\MatrixIII \step \MatrixIV \step
\MatrixV
\begin{tikzpicture}[]
\matrix[myset,
matrix of nodes, nodes in empty cells,
column sep=1cm,
nodes={align=left, anchor=center}, ampersand replacement=\&] (m) {
\Ausgabe
};
%\fill[red] (m-1-2.center) circle(1mm);
\end{tikzpicture}
\end{document}
[1]: https://texwelt.de/wissen/upfiles/55555555_231.png
https://texwelt.de/wissen/upfiles/55555555_237.png
[2]: https://texwelt.de/wissen/fragen/23269/pgfplotstable-eine-anzahl-newcommands-automatisch-erstellen/23271
https://texwelt.de/wissen/upfiles/55555555_237.png
[3]: https://texwelt.de/wissen/fragen/23269/pgfplotstable-eine-anzahl-newcommands-automatisch-erstellen/23271https://texwelt.de/wissen/upfiles/55555555_238.png