答案1
该\mybox
宏首先检查非空强制参数,以设置“框”的颜色。然后使用堆栈设置\mybox
框内强制参数下方的可选参数。
为了创建整个单元,我使用了另一个堆栈,其中标签设置在 4 次调用之上\mybox
。
\documentclass{article}
\usepackage{stackengine,xcolor}
\newcommand\mybox[2][]{%
\ifx\relax#2\relax\def\bxcol{white}\else\def\bxcol{gray!50}\fi
\stackunder[2pt]{\fcolorbox{black}{\bxcol}{\vphantom{X}%
\makebox[1.2ex]{\textbf{#2}}}}{#1}%
\kern2pt\ignorespaces
}
\begin{document}
\stackon{\mybox[6]{}
\mybox[5]{}
\mybox[4]{}
\mybox{E}}{Type 4}
\end{document}
答案2
以下是使用基本工具 (a tabular
、xcolor
和hhline
) 实现此目的的方法:
\documentclass[12pt]{article}
\usepackage{array, hhline}
\usepackage[svgnames, table]{xcolor}
\setlength{\doublerulesep}{3pt}
\begin{document}
\begin{tabular}{|*{3}{wc{0.3cm}||} >{\rule[-0.2cm]{0pt}{\dimexpr0.3cm + 12pt}}wc{0.3cm}|}
\multicolumn{4}{c}{\bfseries Type 1}\\
\hhline{|-||-||-||-|}
\cellcolor{Gainsboro}\bfseries E & & & \\
\hhline{|-||-||-||-|}
\multicolumn{1}{c}{} & \multicolumn{1}{c}{\bfseries 6} & \multicolumn{1}{c}{\bfseries 5} & \multicolumn{1}{c}{\bfseries 4}
\end{tabular}
\end{document}