使用锚点以关系方式定位节点

使用锚点以关系方式定位节点

假设我想创建 3 个 tikz 节点,分别名为abc

节点应按照以下关系方式定位:

首先,a的东锚点应该与 的西锚点相连b。此外,的东锚点应该与的西锚点b相连。c

正确的方法是什么?

我尝试了以下代码(不起作用)。我不确定我的逻辑有什么问题。

\begin{tikzpicture}
\node[rectangle , draw](a){A};
\node[rectangle, draw , right of = a , anchor = west](b){B};
\node[rectangle , draw , left of = a , anchor = east](c){C};    
\end{tikzpicture}

答案1

这里有两种方法。两种方法都会产生相同的输出。

在此处输入图片描述

使用chains

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{chains}

\begin{document}

\begin{tikzpicture}[start chain, node distance=5mm]
\node[on chain, draw](a){A};
\node[on chain=going right, draw](b){B};
\node[on chain=going right, draw](c){C};
\end{tikzpicture}

\end{document}

使用positioning

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[node distance=5mm]
\node[draw](a){A};
\node[right=of a, draw](b){B};
\node[right=of b, draw](c){C};
\end{tikzpicture}

\end{document}

如果要连接节点,可以\draw(a)--(b)--(c);在 tikzpicture 末尾添加。使用链时,还有以下join选项:\node[on chain=going right, draw, join]

在此处输入图片描述

相关内容