隐式寻址此矩阵内的节点在这里不起作用。我不想显式地命名它们。
\documentclass{standalone}
\usepackage{xltxtra}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning}
\begin{document}
\begin{tikzpicture}
\node [draw] (a) {Node};
\matrix (m) [right=of a,every node/.append style=draw]
{
\node {One}; \\
\node {Two}; \\
};
\draw (m-1-1) -- ();
\end{document}
答案1
当你将matrix of nodes
选项添加到矩阵时,内容会自动放入节点内。只有这样你才能使用语法(m-1-1)
。
因此正确的代码可以是
\matrix (m) [right=of a,matrix of nodes,nodes={draw}]
{
One \\
Two \\
};
还请注意,并非每个节点都能按预期工作。使用nodes
键
答案2
只是为了补充 percusse 的答案。如果matrix of nodes
使用 no,仍然可以为每个需要的节点分配一个名称。
\documentclass{standalone}
\usepackage{xltxtra}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning}
\begin{document}
\begin{tikzpicture}
\node [draw] (a) {Node};
\matrix (m) [right=of a, every node/.append style={draw}]
{
\node (m-1-1) {One}; \\
\node {Two}; \\
};
\draw (m-1-1) -- (a);
\end{tikzpicture}
\end{document}