TikZ:如何相对于其边缘定位节点?

TikZ:如何相对于其边缘定位节点?

我正在努力寻找一种方法将矩形 A 定位在另一个矩形 B 上方(​​例如,2 厘米),同时将其右端与 B 的中心垂直对齐。

提前感谢您的回答。

国家标准

答案1

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node [draw,minimum width=3cm,minimum height=2cm] (A) {A};
\node [above=2cm of A,anchor=south west,draw,minimum width=3cm,minimum height=2cm] (B) {B};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

这是一种方法,将节点放置A(B.north)从处anchor=south east,然后A向上移动2cm

\documentclass[tikz,border=5pt]{standalone}
\begin{document}

\begin{tikzpicture}[minimum width=2cm]
\node(B) [draw] {B};
\node(A) at (B.north) [draw,anchor=south east,yshift=2cm] {A};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案3

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\node[draw, rectangle, minimum width=3cm] (B) {B};
\node[draw, rectangle, minimum width=2cm, anchor=east]
     (A) at ($(B.center)+(0, 2cm)$) {A};   % 2cm between centers of nodes
\end{tikzpicture}


\end{document}

结果

答案4

这里有两个使用的例子\usetikzlibrary{fit}

在此处输入图片描述

\documentclass[border=4mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{fit}

\begin{document}
  \begin{tikzpicture}
  \node[draw, fit={(0,0) (3,2)}, inner sep=0pt, label=center:K] (A) {};
\end{tikzpicture}


\begin{tikzpicture}
\node[draw, fit={(0,0) (4.5,2)}, inner sep=0pt, label={[anchor=west,inner sep=0pt]west:$P$}] (B) {};
\end{tikzpicture}



\end{document}

相关内容