4.5 (4)

4.5 (4)

#### Overview of this book

In this first-of-its-kind TikZ book, you’ll embark on a journey to discover the fascinating realm of TikZ—what it’s about, the philosophy behind it, and what sets it apart from other graphics libraries. From installation procedures to the intricacies of its syntax, this comprehensive guide will help you use TikZ to create flawless graphics to captivate your audience in theses, articles, or books. You’ll learn all the details starting with drawing nodes, edges, and arrows and arranging them with perfect alignment. As you explore advanced features, you’ll gain proficiency in using colors and transparency for filling and shading, and clipping image parts. You’ll learn to define TikZ styles and work with coordinate calculations and transformations. That’s not all! You’ll work with layers, overlays, absolute positioning, and adding special decorations and take it a step further using add-on packages for drawing diagrams, charts, and plots. By the end of this TikZ book, you’ll have mastered the finer details of image creation, enabling you to achieve visually stunning graphics with great precision.
Chapter 1: Getting Started with TikZ
Free Chapter
Chapter 2: Creating the First TikZ Images
Chapter 3: Drawing and Positioning Nodes
Chapter 4: Drawing Edges and Arrows
Chapter 5: Using Styles and Pics
Chapter 6: Drawing Trees and Graphs
Chapter 7: Filling, Clipping, and Shading
Chapter 8: Decorating Paths
Chapter 9: Using Layers, Overlays, and Transparency
Chapter 10: Calculating with Coordinates and Paths
Chapter 11: Transforming Coordinates and Canvas
Chapter 12: Drawing Smooth Curves
Chapter 13: Plotting in 2D and 3D
Chapter 14: Drawing Diagrams
Chapter 15: Having Fun with TikZ
Index
Other Books You May Enjoy

# 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...