
매개변수화된 분할 노드를 생성하기 위해 노드 부분에 인수를 사용하고 싶습니다.
내가 한 일은 다음과 같습니다.
\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}
그러나 이것은 작동하지 않으며 노드의 중괄호를 채우는 데 사용할 올바른 키를 찾을 수 없습니다.
답변1
이 답변에는 sourceforge의 CVS 버전이 필요합니다. (감사합니다 Torbjørn)
당신이 찾고 있는 열쇠는 node contents
열쇠입니다.
이는 귀하의 특정 요구를 허용합니다.
다음과 같이 사용합니다.
node contents={<content of node>}
\node[node contents=ABC];
위 구성을 사용하는 노드에 추가 콘텐츠 지정자를 제공하면 안 됩니다.
따라서 귀하의 경우에는 다음을 찾을 수 있습니다.
\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}
}
}
그리고 당신은 tikzpicture
다음과 같이 됩니다:
\begin{tikzpicture}
\path node[threeParts={Part 1}{Part 2}{Part 3}];
\end{tikzpicture}
부품에 대한 3개의 인수가 약간 잘못되었음을 알 수 있습니다.
쉼표를 사용하려면 다음을 수행하십시오.
threePartsComma/.style args={#1,#2,#3}{<previous content>}
그리고 다음을 사용하세요:
node[threePartsComma={Hell,o and,welcome}];
tikz
옵션이 쉼표로 구문 분석되므로 여기서는 항상 전체 인수 주위에 중괄호를 사용하는 것이 매우 현명합니다 .
구성 을 사용할 수 없다는 점에 유의하세요 node[node contents=< >] at (0,0);
. 배치는 노드의 옵션이나 를 통해 수행되어야 합니다 \path (0,0) node[...];
.
작은 그림: