矩阵中的两个相邻矩形 tikz

矩阵中的两个相邻矩形 tikz

我正在使用矩阵将节点放入 Tikz 图中:

\documentclass[border={0pt 0pt 0pt 0pt}]{standalone}
\usepackage{tikz, calc}
\usepackage{array}


\begin{document}
    \begin{tikzpicture} [
    auto,   
    fblk/.style    = { rectangle, draw=gray, fill=pink!30, text width=4.5em, text centered, minimum height=1em },
    %ffblk/.style    = { rectangle, draw=gray, fill=pink!30, text width=4.5em, text centered,   minimum height=1em },
    ]

    \matrix [column sep=2.3em, row sep=1.em] {
        \node[fblk](f1){FBLK1}; && \node[fblk](f2){FBLK2};\\
        & \node[fblk](f3){FBLK3}; \\
    %    \node[ffblk](f4){FBLK1}{FBLK2}; \\
    };
    \end{tikzpicture}
\end{document}

现在,我想定义一个新的节点样式,ffblk它有 2 个相邻的矩形。此节点样式采用两个参数,每个矩形各一个。参见图片。

我尝试通过添加xshift=-...到下一个节点来管理这个问题;并通过制作column sep=0em。但我无法创建我想要的东西。

答案1

也许像这样,使用shapes.multipart图书馆?

\documentclass[tikz,border=1mm]{standalone}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}[fblk/.style={rectangle split, rectangle split horizontal, rectangle split parts=2, draw, anchor=center, draw=gray, fill=pink!30}]
\node [fblk] {FBLK1\nodepart{two}FBLK2};
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

答案2

当中的两个相邻节点matrix应该共享一条边界线,row sep并且|或column sep应该固定为-\pgflinewidth

\documentclass[border={0pt 0pt 0pt 0pt}]{standalone}
\usepackage{tikz, calc}
\usepackage{array}


\begin{document}
    \begin{tikzpicture} [
    auto,   
    fblk/.style    = { rectangle, draw=gray, fill=pink!30, text width=4.5em, text centered, minimum height=1em },
    ]

    \matrix [column sep=-\pgflinewidth, row sep=-\pgflinewidth] {
        \node[fblk](f1){FBLK1}; & \node[fblk](f2){FBLK2};\\
        & \node[fblk](f3){FBLK3}; \\
    %    \node[ffblk](f4){FBLK1}{FBLK2}; \\
    };
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容