
Um einen parametrisierten Split-Knoten zu erstellen, möchte ich Argumente in den Knotenteilen verwenden.
Folgendes habe ich getan:
\tikzset{threeParts/.style n args={3}{%
rectangle split,
rectangle split horizontal,
rectangle split parts=3,
draw,
whichKeyShouldIuseHere={
nodepart{one} {#1}
nodepart{two} {#2}
nodepart{three} {#3}},
}}
\begin{tikzpicture}
\path node[threeParts={1,2,3}];
\end{tikzpicture}
aber das funktioniert nicht und ich konnte den richtigen Schlüssel zum Ausfüllen der geschweiften Klammern des Knotens nicht finden.
Antwort1
Diese Antwort erfordert die CVS-Version von Sourceforge. (Danke, Torbjørn)
Der Schlüssel, den Sie suchen, ist der node contents
Schlüssel.
Er erfüllt Ihren spezifischen Bedarf.
Sie verwenden es folgendermaßen:
node contents={<content of node>}
\node[node contents=ABC];
beachten Sie, dass Sie für Knoten, die die obige Konstruktion verwenden, keinen zusätzlichen Inhaltsspezifizierer angeben sollten.
In Ihrem Fall finden Sie also:
\tikzset{threeParts/.style n args={3}{%
rectangle split,
rectangle split horizontal,
rectangle split parts=3,
draw,
node contents={#1\nodepart{two}#2\nodepart{three}#3}
}
}
Und Ihr tikzpicture
wird:
\begin{tikzpicture}
\path node[threeParts={Part 1}{Part 2}{Part 3}];
\end{tikzpicture}
Beachten Sie, dass Sie mit 3 Argumenten für die Teile einen kleinen Fehler gemacht haben.
Wenn Sie Kommas verwenden möchten, tun Sie stattdessen Folgendes:
threePartsComma/.style args={#1,#2,#3}{<previous content>}
und verwenden Sie:
node[threePartsComma={Hell,o and,welcome}];
Hier ist es sehr ratsam, immer eine Klammer um das vollständige Argument zu verwenden, da tikz
Optionen durch Kommas analysiert werden.
Beachten Sie, dass Sie die Konstruktion nicht verwenden können node[node contents=< >] at (0,0);
, die Platzierung sollte entweder in den Optionen des Knotens oder über den erfolgen \path (0,0) node[...];
.
Ein kleines Bild: