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