\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 バージョンが必要です。(ありがとう、トルビョルン

あなたが探している鍵は鍵です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[...];

小さな写真:

ここに画像の説明を入力してください

関連情報