答案1
\draw (a) -- +(0,1) -| node[pos=0.25,above] {foo} (b);
在-|
/|-
路径中,midway
/pos=0.5
位于断点,因此pos=0.25
位于第一个段的中间。
right of=<other node>
顺便说一下,该语法已被弃用,通常建议添加\usetikzlibrary{positioning}
,然后改为 say right=of <other node>
。区别在于,默认情况下,距离是在节点边缘之间测量的,而不是节点中心之间的距离。使用on grid
选项,距离是在节点中心之间测量的。
\documentclass[border=5mm,tikz]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[node distance=5.123456789cm]
\node (a) {a};
\node (b) [right=of a] {b};
\draw (a) -- +(0,1) -| node[pos=0.25,above] {foo} (b);
\end{tikzpicture}
\begin{tikzpicture}[node distance=5.123456789cm]
\node (a) {a};
% with on grid 5.12345789cm is from the center of a to the center of b
\node (b) [on grid,right=of a] {b};
\draw (a) -- +(0,1) -| node[pos=0.25,above] {foo} (b);
\end{tikzpicture}
\end{document}