Tikz - 带有矩阵和链的框图

Tikz - 带有矩阵和链的框图

我正在尝试使用 tikz 绘制框图。为此,我想使用矩阵对齐节点,然后将节点与 tikzlibrary 连接起来chains,如 pgfmanual 第 601 页(第 48 章)中所述。

但是,我想在某些块内放置自定义象形文字。一旦我这样做,我就无法将包含自定义象形文字的块链接在一起。

我从中得到了这个想法示例,我也无法编译。

考虑以下 MWE:

\usetikzlibrary{chains, scopes, matrix}

\begin{tikzpicture}

% I'd like to have a block with two circles within
\def\circles{
    \node{};
    \draw (-1mm,0) circle(2mm) (2mm,0) circle(2mm);
}

\matrix (m) [matrix of nodes, 
    nodes={draw,
        minimum size=1cm,
        align=center,
        anchor=center},
    column sep=1cm,
    row sep=1cm,
]
{
    A & B & C & \circles \\
};

{ [start chain, every on chain/.style={join=by ->}]
    \chainin (m-1-1);
    \chainin (m-1-2);
    \chainin (m-1-3);
%   \chainin (m-1-4); % once uncommented, it doesn't compile
};

\end{tikzpicture}

使用原样的代码我得到以下结果: 到目前为止,一切都很好

一旦我取消注释最后一条\chainin (m-1-4);语句,我就会收到错误消息

[LaTeX] Line 87: Package pgf Error: No shape named `chain-1' is known.
[LaTeX] Line 87: See the pgf package documentation for explanation. ...                                                                                                
l.80    \chainin (m-1-4);

你知道如何在链接序列中将节点与这样的象形图连接起来吗?

答案1

如果您理解正确,那么您将遵循以下内容:

在此处输入图片描述

生成上述图像的 MWE 仅使用arrows.metachains和库。节点之间的箭头由库中定义的positioning宏绘制。joinchains

\documentclass[border=3.141592]{standalone}
\usepackage{tikz}
\usetikzlibrary{chains, 
                positioning}
\newcommand\dcircle{\tikz{\draw (-0.1,0) circle[radius=2mm] (0.1,0) circle[radius=2mm]}}

\begin{document}
    \begin{tikzpicture}[
node distance = 1cm and 1cm,
  start chain = going right,
     N/.style = {draw, minimum size=1cm, semithick,
                 on chain, join=by ->}
                        ]
\foreach \i [count=\x] in {A, B , C, \dcircle}
\node [N] {\i};
    \end{tikzpicture}
\end{document}

相关内容