\tikzset를 사용하여 다중 부분 노드의 텍스트를 설정하는 방법이 있습니까?

\tikzset를 사용하여 다중 부분 노드의 텍스트를 설정하는 방법이 있습니까?

매개변수화된 분할 노드를 생성하기 위해 노드 부분에 인수를 사용하고 싶습니다.

내가 한 일은 다음과 같습니다.

\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[...];.

작은 그림:

여기에 이미지 설명을 입력하세요

관련 정보