向路径添加中间点

向路径添加中间点

考虑以下 MWE

\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}

\tikzset{
  |-|/.style = {
  to path={
      (\tikztostart) |- ($(\tikztostart)!0.5!(\tikztotarget)$) -| (\tikztotarget)
      \tikztonodes
    }
  }
}



\begin{document}
  \begin{tikzpicture}
    \node (a) at (0,0) [rectangle, draw, minimum width=1cm, minimum height=1cm] {a};
    \node (b) at (2,1.5) [circle, draw, minimum width=1cm, minimum height=1cm] {b};

    \draw[thick, red, ->] (a) |- ($(a)!0.5!(b)$) -| (b);

    \draw[->] (a) to[|-|] (b);
  \end{tikzpicture}
\end{document}

这是我根据这个答案做出的:

https://tex.stackexchange.com/a/86382/105991

是否可以以某种方式修改样式定义,以便我可以编写

\draw[->] (a) |-| (b);

没有to[]操作符?我看到有,tikzlibrarypaths.ortho.tex但是真的有必要只为这种路径操作使用完整的库吗?

此外,我还希望有一种-/路径样式,它首先水平连接两个节点,然后以可调角度(默认 45°)连接。我尝试使用calc库和投影坐标,但很费劲,那么如何做到这一点呢?

相关内容