Tenho feito alguns diagramas usando TikZ com matriz como layout.
Ao usar o Pgf versão 2.10, tudo correu bem, mas agora estou usando o Pgf versão 3.0.0 (TexLive2013) e há um problema que tenho quase certeza que está relacionado ao uso de nós com estilo personalizado como elementos da tabela. O problema é que não consigo usar a referência normal ((matrixName)-(rowNum)-(colNum))
porque ela não está disponível.
Reduzi meu documento para um MWE:
\documentclass[12pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, matrix}
\tikzset{newIdea/.style={rectangle, fill=blue!90},
newPlan/.style={rectangle, rounded corners=2mm, text=white, fill=blue!90}
}
\begin{document}
\begin{tikzpicture}
\matrix (magic) [matrix of nodes, column sep=10mm]
{
\node[newIdea] {8}; & \node[newPlan] {1}; & \node[newIdea] {6}; \\
};
\draw[thick,red,->] (magic-1-1) |- (magic-1-2);
\end{tikzpicture}
\end{document}
Usando o Pgf 2.10, tudo funciona; usando Pgf 3.0.0 recebo a seguinte mensagem de erro:
Erro pgf do pacote: Nenhuma forma chamada magic-1-1 é conhecida.
Responder1
Desde a versão 3.0.0 quando você usa um matrix of nodes
parece que \node
não é permitido dentro de células (inicialmente não gostei desse recurso (espero que seja um recurso e não um bug), mas depois de pensar sobre isso, faz todo o sentido ); entretanto, você ainda pode usar a |[<options>]|
sintaxe para modificar os nós:
\documentclass[12pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, matrix}
\tikzset{newIdea/.style={rectangle, fill=blue!90},
newPlan/.style={rectangle, rounded corners=2mm, text=white, fill=blue!90}
}
\begin{document}
\begin{tikzpicture}
\matrix (magic) [matrix of nodes, column sep=10mm]
{
|[newIdea]|8 & |[newPlan]|1 & |[newIdea]|6 \\
};
\draw[thick,red,->] (magic-1-1) |- (magic-1-2);
\end{tikzpicture}
\end{document}