
Tenho um gráfico com alguns nós que desejo repetir em vários desenhos. O posicionamento dos nós deve ser o mesmo para todos os desenhos, mas quero variar quais arestas são desenhadas e quais nós são realmente mostrados ou ocultos.
Atualmente eu tenho algo como
\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$};
repetido no início de cada desenho. Mas se eu quiser mudar o layout, tenho que atualizar esse código em todos os lugares.
Agora eu poderia escrever uma macro para este caso. Mas estou interessado em saber se poderia fazer deste um estilo para aplicar ao desenho.
Responder1
Encontrei a seguinte solução. Não define as coordenadas, o que também seria útil, mas fornece a posição através de um estilo.
Primeiro defina o estilo que define as posições usando 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)}}
}
}
E então para cada figura:
\begin{tikzpicture}[layout]{
\node[a] (a) {A};
\node[b] (b) {B};
\node[c] (c) {C};
\node[d] (d) {D};
}
Se eu quiser ocultar um nó, mudo \node[a] (a) {};
para \coordinate[a] (a);
.