スタイルで座標を定義する

スタイルで座標を定義する

いくつかのノードを含むグラフがあり、それを複数の図面で繰り返し表示したいと考えています。ノードの配置はすべての図面で同じである必要がありますが、どのエッジを描画するか、どのノードを実際に表示または非表示にするかを変更したいと考えています。

現在、私は次のようなものを持っています

        \node (a) at (0,0) {$æA$};
        \node (b) at (2.5,0) {$æB$};
        \node (c) at (1,-2) {$æC$};
        \node (d) at (2.2,-2.5) {$æD$};

すべての図面の始めに繰り返されます。ただし、レイアウトを変更する場合は、このコードをすべての場所で更新する必要があります。

今、私はこの場合のマクロを書くことができます。しかし、これを図面に適用するスタイルにできるかどうか興味があります。

答え1

私は次の解決策を見つけました。座標を定義しませんが、これも便利ですが、スタイルを介して位置を提供します。

まず、次を使用して位置を設定するスタイルを定義しますat

\tikzset{
  layout/.style={
    a/.style={at={(0,0)}},
    b/.style={at={(2.5,0)}},
    c/.style={at={(1,-2)}},
    d/.style={at={(2.2,-2.5)}}
  }
}

そして、それぞれの図について次のようになります。

\begin{tikzpicture}[layout]{
  \node[a] (a) {A};
  \node[b] (b) {B};
  \node[c] (c) {C};
  \node[d] (d) {D};
}

ノードを非表示にしたい場合は、\node[a] (a) {};に変更します\coordinate[a] (a);

関連情報