我有一个表格,我想对某些元素进行分组。总的来说它应该看起来像这样(只有直线:D)
我怎样才能实现这一点?这是我的 MWE:
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{makecell}
\usepackage{diagbox}
\begin{document}
\begin{center}
\begin{tabular}{cccccccccccc}
0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 \\
12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23\\
24 & 25 & 26 & 27 & 28 & 29 & 30 & 31 & 32 & 33 & 34 & 35 \\
36 & 37 & 38 & 39 & 40 & 41 & 42 & 43 & 44 & 45 & 46 & 47 \\
48 & 49 & 50 & 51 & 52 & 53 & 54 & 55 & 56 & 57 & 58 & 59 \\
\end{tabular}
\end{center}
\end{document}
答案1
我建议您使用该colortbl
包及其\arrayrulecolor
宏,以及\cline
第一行之前和最后一行之后的指令。或者,通过重置来更改线宽\arrayrulewidth
;默认的宽度0.4pt
可能太细,不符合您的口味。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage[table]{xcolor} % load 'colortbl' package automatically
\begin{document}
\begin{center}
\arrayrulecolor{red}
\setlength\arrayrulewidth{0.8pt} % default: 0.4pt
\begin{tabular}{| cc | c | *{9}{c} | }
\cline{1-2} \cline{4-12}
0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 \\
12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 \\
24 & 25 & 26 & 27 & 28 & 29 & 30 & 31 & 32 & 33 & 34 & 35 \\
36 & 37 & 38 & 39 & 40 & 41 & 42 & 43 & 44 & 45 & 46 & 47 \\
48 & 49 & 50 & 51 & 52 & 53 & 54 & 55 & 56 & 57 & 58 & 59 \\
\cline{1-2} \cline{4-12}
\end{tabular}
\end{center}
\end{document}
附录:如果你可以自由使用 LuaLaTeX,你可以替换硬编码块
0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 \\
12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 \\
24 & 25 & 26 & 27 & 28 & 29 & 30 & 31 & 32 & 33 & 34 & 35 \\
36 & 37 & 38 & 39 & 40 & 41 & 42 & 43 & 44 & 45 & 46 & 47 \\
48 & 49 & 50 & 51 & 52 & 53 & 54 & 55 & 56 & 57 & 58 & 59 \\
通过几个嵌套for
循环和一些精心选择的tex.sprint
指令以编程方式实现:
\directlua{
for j=0,4 do
for i=0,10 do tex.sprint ( j*12+i .. "&" ) end
tex.sprint ( j*12+11 .. "\\\\" )
end
}
答案2
\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{*{12}{>{\fpeval{\value{iRow}*12+\value{jCol}-13}}c}}
&&&&&&&&&&& \\
&&&&&&&&&&& \\
&&&&&&&&&&& \\
&&&&&&&&&&& \\
&&&&&&&&&&& \\
\CodeAfter
\tikz\draw[red,thick] (1 -| 1) rectangle (last -| 3) (1 -| 4) rectangle (last -| last);
\end{NiceTabular}
\end{document}