Anschlussfrage zu https://texwelt.de/wissen/fragen/23239/newcommands-mit-foreach-erzeugen Also ich hatte gehofft, ich raff das jetzt endlich mal mit diesem Ich habe eine Anzahl Matrizen Zu diesen lese ich die Spaltenzahl aus:
Und möchte nun möglichst automatisch Kommandos Wie könnte ich das machen, ohne dass ich jedes Kommando MWE: Öffne in Overleaf
\documentclass[border=5mm, varwidth]{standalone} \usepackage{pgfplotstable} % Matrizen eingeben \pgfplotstableread[]{ 1 2 3 4 1 2 3 4 }\matrixI \pgfplotstableread[]{ 1 2 1 2 }\matrixII \newcommand{\dimensionen}[1]{% \pgfplotstablegetcolsof{#1}% \pgfmathtruncatemacro{\Spaltenzahl}{\pgfplotsretval}% } \begin{document} % Wie für alle vorhanden Matrizen automatisch erstellen? \newcommand\MatrixI{ MatrixI: \pgfplotstabletypeset[]{\matrixI} mit \dimensionen{\matrixI} \pgfplotsretval ~Spalten. } \MatrixI %\MatrixII \bigskip Konventionell: \\ MatrixI: \pgfplotstabletypeset[]{\matrixI} mit \dimensionen{\matrixI} \pgfplotsretval ~Spalten. MatrixII: \pgfplotstabletypeset[]{\matrixII} mit \dimensionen{\matrixII} \pgfplotsretval ~Spalten. \end{document} gefragt 08 Okt '18, 15:34 cis |
Öffne in Overleaf
\csname Matrix\Roman{foocount}\endcsname Du möchtest allerdings, dass dieser Name gebildet wird, bevor Öffne in Overleaf
\expandafter\newcommand\csname Matrix\Roman{foocount}\endcsname{definition} Allerdings benötigen wir auch den Wert von Öffne in Overleaf
\documentclass[]{article} \usepackage{pgfplotstable} % Matrizen eingeben \pgfplotstableread[]{ 1 2 3 4 1 2 3 4 }\matrixI \pgfplotstableread[]{ 1 2 1 2 }\matrixII \newcommand{\dimensionen}[1] {% \pgfplotstablegetcolsof{#1}% \pgfmathtruncatemacro{\Spaltenzahl}{\pgfplotsretval}% } \newcounter{foocount} \loop \ifnum\value{foocount}<2 \stepcounter{foocount} \expandafter\edef\csname Matrix\Roman{foocount}\endcsname {% Matrix\Roman{foocount}: \noexpand\pgfplotstabletypeset[] {\expandafter\noexpand\csname matrix\Roman{foocount}\endcsname} mit \noexpand\dimensionen {\expandafter\noexpand\csname matrix\Roman{foocount}\endcsname} \noexpand\pgfplotsretval\noexpand~Spalten.% } \repeat \begin{document} \MatrixI \MatrixII \end{document} beantwortet 08 Okt '18, 16:57 Skillmon Wow, sehr gut erklärt. Das bringt mich ein gutes Stück weiter!
(08 Okt '18, 17:11)
cis
Lustig: Ich habe
(08 Okt '18, 17:25)
cis
Statt dem für mich immer etwas gruslig anmutenden
(08 Okt '18, 17:33)
moewe
1
@moewe ja, natürlich, aber zum Verständnis ist, denke ich, obiges Beispiel sinnvoller, zumal
(08 Okt '18, 19:10)
Skillmon
Oha.. mir ist hier etwas ganz Schlimmes aufgefallen: im
(09 Okt '18, 23:13)
cis
Hab es, denke ich hinbekommen. Man muss einfach '
(09 Okt '18, 23:45)
cis
Wow, also das ist wirklich eine sehr abgedrehte Methode. Ich konnte damit jetzt mein Applet für Lineare Gleichungssysteme fertigstellen. Funktioniert reibungslos.
(09 Okt '18, 23:53)
cis
Ergebnis 5 von 7
show 2 more comments
|