以下是该表的代码:
\documentclass{article}
\usepackage{array, multirow}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|c|*{20}{w{c}{0.5cm}|}}
\hline
\multirow{2}*{A} & \multicolumn{2}{c|}{1} & \multicolumn{2}{c|}{2} & \multicolumn{2}{c|}{3} & \multicolumn{2}{c|}{4} & \multicolumn{2}{c|}{5} & \multicolumn{2}{c|}{6} & \multicolumn{2}{c|}{7} & \multicolumn{2}{c|}{8} & \multicolumn{2}{c|}{9} & \multicolumn{2}{c|}{10} \\
\cline{2-21}
~ & \multicolumn{2}{c|}{0} & \multicolumn{2}{c|}{0.1} & \multicolumn{2}{c|}{0.2} & \multicolumn{2}{c|}{0.3} & \multicolumn{2}{c|}{0.4} & \multicolumn{2}{c|}{0.5} & \multicolumn{2}{c|}{0.6} & \multicolumn{2}{c|}{0.7} & \multicolumn{2}{c|}{0.8} & \multicolumn{2}{c|}{0.9} \\
\hline
\multirow{2}*{B} & \multicolumn{5}{c|}{1} & \multicolumn{5}{c|}{2} & \multicolumn{5}{c|}{3} & \multicolumn{5}{c|}{4} \\
\cline{2-21}
~ & \multicolumn{5}{c|}{1} & \multicolumn{5}{c|}{2} & \multicolumn{5}{c|}{3} & \multicolumn{5}{c|}{4} \\
\hline
\multirow{2}*{C} & \multicolumn{5}{c|}{1} & \multicolumn{5}{c|}{2} & \multicolumn{5}{c|}{3} & \multicolumn{5}{c|}{4} \\
\cline{2-21}
~ & \multicolumn{5}{c|}{1} & \multicolumn{5}{c|}{2} & \multicolumn{5}{c|}{3} & \multicolumn{5}{c|}{4} \\
\hline
\end{tabular}
\caption{Caption}
\label{tab:my_label}
\end{table}
\end{document}
我希望对于 A 行,从 1 到 10 的列相等;对于 B 和 C 行,从 1 到 4 的列相等。
谢谢!
- - - - - - - - - - - - - - - - 更新 - - - - - - - - - - - - - - - - - - - -
下面的图片显示的是我想要的表格。
谢谢。
答案1
欢迎来到 TeX.SE!请始终提供 MWE(最小工作示例),即一个完整的小文档,用于重现您的问题。
您的表格有很多错误:
大部分都是
\multicolumn
多余的,因此所有这些都覆盖了列设置你的表只有 11 列,为什么定义 21?
您的表格的正确代码是:
\documentclass{article}
\usepackage{array, multirow}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|c|*{10}{w{c}{0.5cm}|}}
\hline
\multirow{2}*{A}
& 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
\cline{2-11}
& 0 & 0.1 & 0.2 & 0.3 & 0.4 & 0.5 & 0.6 & 0.7 & 0.8 & 0.9 \\
\hline
\multirow{2}*{B}
& 1 & \multicolumn{4}{c|}{2}
& 3 & \multicolumn{4}{c|}{4} \\
\cline{2-11}
& 1 & \multicolumn{4}{c|}{2}
& 3 & \multicolumn{4}{c|}{4} \\
\hline
\multirow{2}*{C}
& 1 & \multicolumn{4}{c|}{2}
& 3 & \multicolumn{4}{c|}{4} \\
\cline{2-11}
& 1 & \multicolumn{4}{c|}{2}
& 3 & \multicolumn{4}{c|}{4} \\
\hline
\end{tabular}
\caption{Caption}
\label{tab:my_label}
\end{table}
\end{document}
附录:
根据您的评论并在编辑的问题中显示了新的期望结果:
tabular
如果\multicolumn
单元格合并超过四列,则似乎无法正确获取此表格格式。- 作为解决方案,我发现可以通过使用以下
tabularray
包来完成:
\documentclass{article}
\usepackage{geometry}
\usepackage{tabularray}
\NewTableCommand\mcc[1]{\SetCell[c=#1]{c} }
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[ht]
\centering
\begin{tblr}{hlines, vlines,
colsep=4pt,
colspec = {*{21}{Q[c, wd=1em]} }
}
\SetCell[r=2]{c} A
& \mcc{2} 0 & & \mcc{2} 0.1 & & \mcc{2} 0.2 & & \mcc{2} 0.3 & & \mcc{2} 0.4
& & \mcc{2} 0.5 & & \mcc{2} 0.6 & & \mcc{2} 0.7 & & \mcc{2} 0.8
& & \mcc{2} 0.9 \\
& \mcc{2} 1 & & \mcc{2} 2 & & \mcc{2} 3 & & \mcc{2} 4 & & \mcc{2} 5
& & \mcc{2} 6 & & \mcc{2} 7 & & \mcc{2} 8 & & \mcc{2} 9
& & \mcc{2} 10 \\
\SetCell[r=2]{c} B
& \SetCell[c=5]{c} 1 & & & &
& \mcc{5}{2} & & & &
& \mcc{5}{3} & & & &
& \mcc{5}{4} & & & & \\
& \SetCell[c=5]{c} 1 & & & &
& \mcc{5}{2} & & & &
& \mcc{5}{3} & & & &
& \mcc{5}{4} & & & & \\
\SetCell[r=2]{c} C
& \SetCell[c=5]{c} 1 & & & &
& \mcc{5}{2} & & & &
& \mcc{5}{3} & & & &
& \mcc{5}{4} & & & & \\
& \SetCell[c=5]{c} 1 & & & &
& \mcc{5}{2} & & & &
& \mcc{5}{3} & & & &
& \mcc{5}{4} & & & & \\
\end{tblr}
\caption{Caption}
\label{tab:my_label}
\end{table}
\end{document}
(红线表示页面布局)