I'm a bit undecided on this.
First, for compatibility reasons \tikzstyle
will be around indefinitely, so the real question is what will be better for new code.
The reason I'm trying to kick out the \tikzstyle
is that I would like to encourage people to keep style settings as local as possible. So, normally, style definitions should be given at the beginning of a picture as in
\begin{tikzpicture}
[some options,
first style/.style={blah},
second style/.style={blub}] ...
\end{tikzpicture}
Then, if the tikzpicture
is moved/copied/whatever, the styles are moved around with it. Furthermore, styles given as options always apply to the whole scope and end with it automatically.
However, I'm also not quite sure whether this argument is all that convincing. Global styles still have to be set globally using
\tikzset anyway...
I have started to change the whole documentation code to the new system and it does not seem to change the readability much.
Best Answer
Use
\tikzset
instead of the\tikzstyle
approach. This will allow local key-value settings.