Definir coordenadas en un estilo.

Definir coordenadas en un estilo.

Tengo un gráfico con algunos nodos que quiero repetir en varios dibujos. La ubicación de los nodos debe ser la misma para todos los dibujos, pero quiero variar qué bordes se dibujan y qué nodos se muestran u ocultan realmente.

Actualmente tengo 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 al comienzo de cada dibujo. Pero si quiero cambiar el diseño, tengo que actualizar este código en todas partes.

Ahora podría escribir una macro para este caso. Pero me interesa saber si podría hacer de este un estilo para aplicarlo al dibujo.

Respuesta1

Encontré la siguiente solución. No define las coordenadas, lo que también sería útil, pero proporciona la posición mediante un estilo.

Primero defina el estilo que establece las posiciones 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)}}
  }
}

Y luego para cada figura:

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

Si quiero ocultar un nodo, cambio \node[a] (a) {};a \coordinate[a] (a);.

información relacionada