我想在 latex 上绘制以下表格,但我已经花了一天多的时间,却还没有得到任何接近的结果。我附上了一个简短的屏幕,如果我能使用 latex 命令来构建这个表格,那就太好了。
答案1
这是一个siunitx
对齐数字的解决方案。
代码
\documentclass[margin=10pt,varwidth]{standalone}
%\usepackage[margin=10pt]{geometry}
\usepackage{multirow,siunitx}
\begin{document}
\sisetup{table-format=2.2}
\begin{table}
\centering
\caption{An important table}
\begin{tabular}{|c|l|S|S|S|S|} \hline
\multirow{2}{*}{\# of class} &\multirow{2}{*}{type} & \multicolumn{2}{c|}{Trained Data} &\multicolumn{2}{c|}{New Data} \\ \cline{3-6}
& &{Prec.} & {Rec.} & {Prec.} & {Rec.} \\ \hline
\multirow{5}{*}{5} & car& 81.8 &73.1 & 73.8 & 46.3 \\ \cline{2-6}
& plane & 88.3 & 80.7 & 81.1 & 72.5 \\ \cline{2-6}
& camera & 98.1 & 96.4 & 95.2 & 87 \\ \cline{2-6}
& cup & 42.2 & 37.5 & 31 & 22.6 \\ \cline{2-6}
& landscape & 71.7 & 44.9 & 67.9 & 54.3 \\ \hline
\multicolumn{2}{|c|}{Average} & 76.42 & 66.52 &69.8 & 56.54 \\ \hline
\end{tabular}
\end{table}
\end{document}
如果首选彩色表格线(这里显示蓝线),则需要使用xcolor
选项 [table] 加载。
代码
\documentclass[margin=10pt,varwidth]{standalone}
\usepackage{multirow,siunitx}
\usepackage[table]{xcolor}
\begin{document}
\sisetup{table-format=2.2}
\begin{table}
\centering
\caption{An important table}
\begin{tabular}{c!{\color{black}\vrule}l!{\color{black}\vrule}S!{\color{black}\vrule}S!{\color{black}\vrule}S!{\color{black}\vrule}S}
\hline
\multirow{2}{*}{\# of class} &\multirow{2}{*}{type} & \multicolumn{2}{c|}{Trained Data} &\multicolumn{2}{c}{New Data} \\ \cline{3-6}
& &{Prec.} & {Rec.} & {Prec.} & {Rec.} \\
\hline
\multirow{5}{*}{5} & car& 81.8 &73.1 & 73.8 & 46.3 \\\arrayrulecolor{blue}\cline{2-6}
& plane & 88.3 & 80.7 & 81.1 & 72.5 \\ \arrayrulecolor{blue}\cline{2-6}
& camera & 98.1 & 96.4 & 95.2 & 87 \\ \arrayrulecolor{blue}\cline{2-6}
& cup & 42.2 & 37.5 & 31 & 22.6 \\ \arrayrulecolor{blue}\cline{2-6}
& landscape & 71.7 & 44.9 & 67.9 & 54.3 \\ \arrayrulecolor{black} \hline
\multicolumn{2}{c|}{Average} & 76.42 & 66.52 &69.8 & 56.54 \\ \hline
\end{tabular}
\end{table}
\end{document}
答案2
我给你一个简单的模板,然后你可以改进表格,固定列宽、字体类型、对齐方式。对于包含许多数字的表格,包 siunitx 会很有用。
\documentclass[12pt, a4paper,twoside]{article}
\usepackage{multirow,booktabs,siunitx}
\begin{document}
\begin{table}
\centering
\begin{tabular}{clSSSSS}
\toprule
\multirow{2}*{\# of clas} & \multirow{2}*{type} & \multicolumn{2}{c} {Trained Data} & \multicolumn{2}{c}{New Data} \\
& & {Prec.} & {Rec.} & {Prec.} & {Rec.} \\
\midrule
\multirow{5}*{S} & car & 81.8 & 73.1 & 73.8 & 46.3 \\
& plane & 88.8 & 80.0 & 81.8 & 72.5 \\
& camera & 98.8 & 96.0 & 95.2 & 87 \\
& cup & 42.2 & 37.5 & 31 & 22.6 \\
& landscape & 71.7 & 44.9 & 67.9 & 54.3 \\
\midrule
\multicolumn{2}{c}{Average} & 76.42 & 66.52 & 69.8 & 56.54 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}