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}

여기에 이미지 설명을 입력하세요

관련 정보