我一直在使用 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 版本开始,当您使用时,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}