Определить координаты в стиле

Определить координаты в стиле

У меня есть граф с некоторыми узлами, которые я хочу повторить на нескольких рисунках. Расположение узлов должно быть одинаковым для всех рисунков, но я хочу варьировать, какие ребра будут нарисованы, и какие узлы будут фактически показаны или скрыты.

В настоящее время у меня есть что-то вроде

        \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);.

Связанный контент