
У меня есть граф с некоторыми узлами, которые я хочу повторить на нескольких рисунках. Расположение узлов должно быть одинаковым для всех рисунков, но я хочу варьировать, какие ребра будут нарисованы, и какие узлы будут фактически показаны или скрыты.
В настоящее время у меня есть что-то вроде
\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);
.