Não é possível usar nós com estilo personalizado com matriz usando Pgf 3.0.0

Não é possível usar nós com estilo personalizado com matriz usando Pgf 3.0.0

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 nodesparece que \nodenã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}

insira a descrição da imagem aqui

informação relacionada