TikZ node connector
In the series of TikZ tips, today we look at connectors between nodes.
TikZ comes with a variety of line types between nodes, such as straight, curved, and right-angled. In particular the last one, right-angled lines, can be very useful in diagrams. Right-angled lines are usually more appealing than direct point-to-point straight lines in diagrams.
Placing right-angled lines in diagrams in a visually appealing way is not always easy, however. Consider for example this diagram in which a chain of nodes have an outgoing arrow into an array.
In this figure, the line marked B is well-suited for a right-angled line. On the other hand, the line marked with A is less-suited, since it needs two bends. For the ease of use, try using the following two macros for horizontal or vertical lines.
\newcommand*{\connectorH}[4][]{ \draw[#1] (#3) -| ($(#3) !#2! (#4)$) |- (#4); } \newcommand*{\connectorV}[4][]{ \draw[#1] (#3) |- ($(#3) !#2! (#4)$) -| (#4); }
You can then use macros by specifying a value between 0 and 1 (where to ‘break’) and the source and destination node. For instance
\connectorH[->, red]{0.50}{a}{b} \connectorH[->, blue]{0.75}{a}{c}
Results in:
Note that you need to have the calc
TikZ libary loaded.