如何设计一个由 1x2 网格堆叠在 1x3 网格顶部的居中网格?

如何设计一个由 1x2 网格堆叠在 1x3 网格顶部的居中网格?

我知道我可以使用 TikZ 包来创建 axb 网格,但是有没有办法创建更复杂的网格,比如堆叠在 1x3 网格顶部的 1x2 网格?作为参考,我有兴趣创建类似的东西:

在此处输入图片描述

多谢!

答案1

\documentclass{article}
\usepackage{stackengine}
\begin{document}
\stackon[-\fboxrule]{\fbox{C}\fbox{D}\fbox{E}}{\fbox{A}\fbox{B}}
\end{document}

在此处输入图片描述

想要一些更奇特的东西……

\documentclass{article}
\usepackage{stackengine,xcolor}
\newcommand\mybox[1]{\fcolorbox{blue!40!gray}{blue!10}{#1}\kern-\fboxrule}
\begin{document}
\sffamily
\stackon[-\fboxrule]{\mybox{C}\mybox{D}\mybox{E}}{\mybox{A}\mybox{B}}
\end{document}

在此处输入图片描述

答案2

有了几个nx1矩阵,就很容易进行这些构造。

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{matrix, positioning}
\tikzset{
    myarray/.style={matrix, matrix of nodes, inner sep=0pt, outer sep=0pt,
        column sep=-\pgflinewidth, row sep=-\pgflinewidth,
        nodes={draw=blue!50, fill=blue!50!gray!20, font=\ttfamily, inner sep=.3333em, anchor=center,}}
    }
\begin{document}

\begin{tikzpicture}
    \node[myarray] (A) {A&B\\};
    \node[myarray, below=-\pgflinewidth of A] {C&D&E\\};
\end{tikzpicture}

\begin{tikzpicture}
    \node[myarray] (A) {A\\B\\};
    \node[myarray, right=-\pgflinewidth of A] {C\\D\\E\\};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容