Book Image

LaTeX Graphics with TikZ

By : Stefan Kottwitz
5 (3)
Book Image

LaTeX Graphics with TikZ

5 (3)
By: Stefan Kottwitz

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.
Table of Contents (18 chapters)

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