内部矩阵节点的隐式寻址在这里不起作用

内部矩阵节点的隐式寻址在这里不起作用

隐式寻址此矩阵内的节点在这里不起作用。我不想显式地命名它们。

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

在此处输入图片描述

相关内容