考虑以下 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
库和投影坐标,但很费劲,那么如何做到这一点呢?