在樣式中定義座標

在樣式中定義座標

我有一個帶有一些節點的圖表,我想在多個繪圖上重複這些節點。每個繪圖的節點位置都應該相同,但我想改變繪製的邊以及實際顯示或隱藏的節點。

目前我有類似的東西

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

相關內容