在样式中定义坐标

在样式中定义坐标

我有一张包含一些节点的图表,我想在多张图纸上重复这些节点。节点的位置对于每张图纸来说都应该相同,但我想改变绘制的边以及实际显示或隐藏的节点。

目前我有类似的东西

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

相关内容