無法使用 Pgf 3.0.0 將自訂樣式的節點與矩陣一起使用

無法使用 Pgf 3.0.0 將自訂樣式的節點與矩陣一起使用

我一直在使用 TikZ 和矩陣作為佈局來製作一些圖表。

在使用 Pgf 版本 2.10 時,一切都很順利,但現在我使用 Pgf 版本 3.0.0 (TexLive2013),我幾乎可以肯定有一個問題與使用自定義樣式節點作為表的元素有關。問題是我無法使用普通參考((matrixName)-(rowNum)-(colNum)),因為它不可用。

我已將文件簡化為 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}

使用 Pgf 2.10,一切正常;使用 Pgf 3.0.0 我收到以下錯誤訊息:

包 pgf 錯誤:沒有名為 magic-1-1 的已知形狀。

答案1

從版本 3.0.0 開始,當你使用 a 時,matrix of nodes似乎\node不允許在單元格內使用(我最初不喜歡這個功能(我希望這是一個功能而不是一個錯誤),但在考慮之後,它有點有意義);但是,您仍然可以使用|[<options>]|語法來修改節點:

\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}

在此輸入影像描述

相關內容