我想强制图形某一部分的所有路径对它们连接的所有节点使用特定的锚点,并希望能够执行如下操作:
\begin{scope}[every path/.style={anchor=south}]
\draw (a) -- (b);
\end{scope}
而不是明显但乏味的
\draw (a.south) -- (b.south);
但是,上述内容只会影响我在绘制路径时创建的节点(例如\draw (a) -- node {text} (b);
。我该如何实现我想要的?
答案1
(<node name>.<anchor name>)
语法是对现存的节点锚点。它不会创建新节点。因此,正如 Zarko 提到的那样,放置已经完成。
相反,你可以使用路径
\begin{tikzpicture}[so/.style={to path={(\tikztostart.south)--(\tikztotarget.south)\tikztonodes}}]
\node[draw] (a) at (0,0) {A};
\node[draw] (b) at (1,1) {B};
\draw[so] (a) to (b);
\end{tikzpicture}
使用您想要的任何路径规范。