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)

Giving arguments to styles

Remember that in Figure 5.5, we defined the vertex style in the following way:

\tikzset{vertex/.style = {mytext, shape = circle,
  ball color = blue}}

We can introduce an argument when we intend to have different colors with the same style. One argument is easily supported; we can write the following, similar to arguments in macros:

\tikzset{vertex/.style = {mytext, shape = circle,
  ball color = #1}}

Now, we can change our code for Figure 5.5 to choose colors as arguments:

\node[vertex=blue] (A) {A};
\node[vertex=green, right = 4 cm of A] (B) {B};

So, #1 represents an argument in our style, and with style=value, we set that value for #1. We can specify a value that’s used when no value is given using the so-called .default handler:

\tikzset{vertex/.default=blue}

Now, we can write \node[vertex] for a blue node by default, and \node[vertex=green] for a green node.

We may write style={value} to avoid misunderstandings...