tikz:如何将一个节点与另外两个节点对齐?

tikz:如何将一个节点与另外两个节点对齐?

看到这个答案如何定位 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}

相关内容