Definieren von Koordinaten in einem Stil

Definieren von Koordinaten in einem Stil

Ich habe einen Graphen mit einigen Knoten, den ich über mehrere Zeichnungen hinweg wiederholen möchte. Die Platzierung der Knoten soll in allen Zeichnungen gleich sein, aber ich möchte variieren, welche Kanten gezeichnet werden und welche Knoten tatsächlich angezeigt oder ausgeblendet werden.

Momentan habe ich so etwas wie

        \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$};

am Anfang jeder Zeichnung wiederholt. Aber wenn ich das Layout ändern möchte, muss ich diesen Code überall aktualisieren.

Nun könnte ich für diesen Fall ein Makro schreiben. Mich interessiert aber, ob ich daraus einen Stil machen kann, der auf die Zeichnung angewendet wird.

Antwort1

Ich habe folgende Lösung gefunden. Sie definiert zwar nicht die Koordinaten, was auch nützlich wäre, aber sie gibt die Position über einen Stil an.

Definieren Sie zunächst den Stil, der die Positionen festlegt, mit 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)}}
  }
}

Und dann für jede Figur:

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

Wenn ich einen Knoten ausblenden möchte, ändere ich \node[a] (a) {};zu \coordinate[a] (a);.

verwandte Informationen