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)

Adding text to edges

In diagrams, we often see that apart from text in diagram nodes, we can have text on the connecting lines or arrows. That’s an essential feature of TikZ’s edge operation.

Let’s continue our example from the previous section and add a text label to the edge. It will read pdflatex in a tiny typewriter font printed above the edge. This label is itself a node, so we insert this right after the edge:

node[font=\tiny\ttfamily, above] {pdflatex}

The full command becomes as follows:

\draw (tex) edge[->]
  node[font=\tiny\ttfamily, above] {pdflatex} (pdf);

Compile, and you get this picture:

Figure 4.2 – An edge with a text label

Figure 4.2 – An edge with a text label

Admittedly, this is a pretty verbose syntax. Luckily, TikZ provides a shorter way; this is called the quotes syntax because you can add edge label texts by enclosing the text in quotes as an option to the edge. That’s basically edge["text"]. We...