![内部矩阵节点的隐式寻址在这里不起作用](https://linux22.com/image/329052/%E5%86%85%E9%83%A8%E7%9F%A9%E9%98%B5%E8%8A%82%E7%82%B9%E7%9A%84%E9%9A%90%E5%BC%8F%E5%AF%BB%E5%9D%80%E5%9C%A8%E8%BF%99%E9%87%8C%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
隐式寻址此矩阵内的节点在这里不起作用。我不想显式地命名它们。
\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}