带有粗垂直线和水平线的四维表格,用于划分区域

带有粗垂直线和水平线的四维表格,用于划分区域

我想绘制一个 4 维表格,如下图所示。粗体垂直线和水平线划分了各个区域,每个单元格注释了 4 维空间中的一个值。

我已经对 LaTeX 有一些了解,但我不知道应该用哪种方法开始创建这样的表格(TikZ、表格、矩阵)。

谢谢您的指点。

在此处输入图片描述

答案1

我建议使用nicematrix

矩阵的大部分元素都在这里。我把字体样式和剩余单元格留给你处理。

在此处输入图片描述

为了使单元格在文本后面带有十字,我使用 TikZ 制作了一个宏,以绘制两条线,中间有一个白色矩形节点。由于这种情况会发生\CodeBefore,因此单元格内容会放在顶部。

graphicx包用于\rotatebox

\documentclass{article}

\usepackage{tikz, nicematrix}
\usepackage{graphicx}

\newcommand{\xbox}[5][]{
    \draw[#1] ({#2}-|{#3}) --node[fill=white, minimum size=5mm]{} ({#4}-|{#5});
    \draw[#1] ({#4}-|{#3}) --node[fill=white, minimum size=5mm]{} ({#2}-|{#5});
}

\begin{document}

\begin{NiceTabular}{*{2}{wc{.4cm}}*{6}{wc{1cm}}}[corners, hvlines]
\CodeBefore
\cellcolor{gray!20}{4-3,4-5,6-5}
\cellcolor{gray!40}{3-4,3-6,5-6}
\cellcolor{gray!60}{4-4,4-6,6-6}
\tikz {
    \xbox[densely dashed, gray]{3}{3}{4}{4}
    \xbox[densely dashed]{3}{5}{4}{6}
    \xbox{5}{3}{7}{5}
}
\Body
 & & \Block{1-4}{Simultaneous sibling roles} & & & & & \\
 & & \Block{1-2}{no} & & \Block{1-2}{yes} & & & \\
\RowStyle[cell-space-limits=4mm]{}\Block{4-1}{\rotatebox{90}{Multiple Perspectives}} & \Block{2-1}{\rotate no} & A/a & B2/a & A/b & B2/b & X & \Block{4-1}{\rotatebox{-90}{\parbox{4cm}{\centering Dynamic Binding\\ with highest priority for...}}} \\
\RowStyle[cell-space-limits=4mm]{} & & B1/a & B3/a & B1/b & B3/b & X & \\
\RowStyle[cell-space-limits=4mm]{} & \Block{2-1}{\rotate yes} & \Block{2-2}{\!d)} & & A/c & B2/c & X & \\
\RowStyle[cell-space-limits=4mm]{} & & & & B1/c & B3/c & X & \\
 & & fixed & variable & fixed & variable & & \\
 & & \Block{1-4}{Interface\\visible through an object reference} & & & & & \\
\end{NiceTabular}

\end{document}

相关内容