如何定义节点/坐标与垂直

如何定义节点/坐标与垂直

如何定义/保存一个点以供以后使用其他点的 x/y 坐标?我尝试使用垂直坐标系简写形式|--|但无法以这种方式定义点。

对于较大的图片,我更喜欢使用节点,而不是像(A -| B)往常一样使用表达式。尤其是对于点的相对位置的更复杂的“计算”,这可能会变得乏味。

\begin{tikzpicture}
    \draw [help lines, step=0.5cm] (-2.5,0) grid (0,2.5);
    \node (A) at (-0.5,0.5) {A};
    \node (B) at (-2,2) {B};

    % \node (someName) at (A -| B);

    \draw (A |- B) node {C};
    \draw (A -| B) node {D};
    \draw (A |- B) edge (A -| B);
\end{tikzpicture}

例子

答案1

您可以完全按照您的尝试进行操作,只需指定一个节点文本:

\node (someName) at (A -| B) {SomeName};

或使用坐标:

\coordinate (someName) at (A -| B);

另一个选择是使用库let中的路径操作calc,如 3.0.0 手册第 161 页所述:

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
    \draw [help lines, step=0.5cm] (-2.5,0) grid (0,2.5);
    \node (A) at (-0.5,0.5) {A};
    \node (B) at (-2,2) {B};
    \path let \p1 = (A), \p2 = (B) in node (C) at (\x1,\y2) {C} node (D) at (\x2,\y1) {D};
    \draw (C.center) -- (D.center);
\end{tikzpicture}
\end{document}

输出

您还可以使用库的其他功能对这些点进行其他计算calc;我建议您查看手册中的该章节!:-)

相关内容