Transforming the canvas
Look at Figure 4.1, where we had an arrow between two nodes. The code for the arrow was the following:
\draw (tex) edge[->] (pdf);
When we want to draw a double arrow, a straightforward approach is to draw two such arrows and shift one up and one down. Let’s do this, and add some rotation to practice our new skills:
\draw (tex) edge[->,yshift= 0.1mm, rotate= 4] (pdf); \draw (tex) edge[->,yshift=-0.1mm, rotate=-4] (pdf);
If you compile, you may be surprised: both the shift and rotation don’t have any effect; the arrow is the same in both cases.
In such a situation, we can transform the canvas instead of the coordinates. The canvas is our drawing area, like a sheet of paper, and a canvas transformation applies to everything: coordinates, text, line widths, everything. It happens on a lower level, with PDF or PostScript features, so we cannot track nodes or sizes at that time. Still, we can use it on a path to enforce a transformation...