TikZ:箭头的 |- 符号到底起什么作用?

TikZ:箭头的 |- 符号到底起什么作用?

我目前正在尝试弄清楚垂直箭头如何工作,但失败了。

服用:

\draw [arrow] (node1) -- node[sloped, above] {Caption} (node1 |- node2.north west);

我怀疑这个符号的意思是:
从节点 1 画一个箭头到节点 2 的西北角。
使箭头垂直于节点 1。

进一步尝试绘制箭头后,我发现:不,不是这样的。遗憾的是,我没能弄清楚这个符号到底是干什么的!有没有“给新手的解释”能让我明白到底是什么

node1 |-

應該怎麼做?

谢谢!

答案1

有两个不同的地方可以使用-|/ |-

  1. 在一个协调规格。

    这是你使用的,一般形式是

    (a -| b)
    

    其中ab分别命名为nodecoordinates。这表示 的 y 坐标为a, x 坐标为b。类似地,(a |- b)的 x 坐标为a, y 坐标为b

    例如,以下代码从到a绘制一个水平箭头。(0,0)(1,0)

    \documentclass[border=10pt]{standalone}
    \usepackage{tikz}
    \begin{document}
    \begin{tikzpicture}
    \coordinate (a) at (0,0);
    \coordinate (b) at (1,1);
    
    \draw [->] (a) -- (a -| b);
    \end{tikzpicture}
    \end{document}
    

    您还可以使用它作为

    \coordinate (c) at (a -| b);
    

    然后\draw [->] (a) -- (c);执行与上述相同的操作。

  2. 作为一个小路规格。

    用于两个坐标之间,代替--

    箭头\draw [->] (a) -| (b);从 水平移动a,然后垂直移动到b。(箭头|-先垂直移动,然后水平移动。)

    代码输出

    \documentclass[border=10pt]{standalone}
    \usepackage{tikz}
    \begin{document}
    \begin{tikzpicture}
    \coordinate (a) at (0,0);
    \coordinate (b) at (1,1);
    
    \draw [->] (a) -| (b);
    \end{tikzpicture}
    \end{document}
    

答案2

如果a是位置处的坐标/节点(a_x, a_y),并且
b(b_x, b_y),则

a |- b := (a_x, b_y) 

a -| b := (b_x, a_y) 

它们只是组合x/y两点坐标的简写。

相关内容