1

consider the following 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}

which I made based on this answer:

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

Is it somehow possible to modify the style definition, such that I can write

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

without the to[] operator? I have seen that there is the tikzlibrarypaths.ortho.tex but is it really necessary to use a complete library only for this kind of path operation?

Further, I would also like to have a -/ path style, which connects two nodes first horizontal, then with an adjustable angle (default 45°). I tried using the calc library and projection coordinates, but I struggled, so how can this be done?

T. Pluess
  • 1,040

0 Answers0