看到这个答案如何定位 tikz 节点相对于其他两个节点,我想我会尝试一些类似的事情,但肯定缺少了一个步骤。
这是我的代码
\documentclass[tikz,border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (A) {A};
\node [right = of A] (B) {B};
\node [right = of B] (C) {C};
\node [below = of A] (D) {D};
\node [right = of D -| C] (E) {E};
\node [below = of C |- D] (F) {F};
\end{tikzpicture}
\end{document}
我想将节点 E 放置在节点 D 的右侧和节点 C 的下方,但我似乎只得到了一个,而没有得到另一个。为什么?
答案1
垂直坐标系很有帮助。节点位于节点的基线上D
,位于节点的水平中间C
:
\documentclass[tikz,border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (A) {A};
\node [right = of A] (B) {B};
\node [right = of B] (C) {C};
\node [below = of A] (D) {D};
\node [anchor=base] (E) at (C |- D.base) {E};
\end{tikzpicture}
\end{document}
垂直居中甚至更简单:
\node (E) at (C |- D) {E};
答案2
根据以上两个答案,Paul Gessler 和 Heiko Oberdiek 都值得称赞,这就是解决方案。
\documentclass[tikz,border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (A) {A};
\node [right = of A] (B) {B};
\node [right = of B] (C) {C};
\node [below = of A] (D) {D};
\node at (D -| C) (E) {E};
\end{tikzpicture}
\end{document}