\documentclass[times,twocolumn,final,authoryear]{elsarticle}
\usepackage{framed,multirow}
\begin{document}
\begin{table}
\begin{tabular}{|p{1.5cm}|p{1.5cm}|p{2.5cm}|p{2.5cm}|}
\hline
S & & XXXX & RRRR \\
\hline
S1 & P \multirow{3}{*}{} & \multicolumn{1}{l}{1} & \multicolumn{1}{l}{2} \\
\cline{2-3}
& & \multicolumn{1}{l}{3} & \multicolumn{1}{l}{4} \\ \cline{2-3}
& & \multicolumn{1}{l}{5} & \multicolumn{1}{l}{6} \\ \cline{2-3}
\hline
\end{tabular}
\end{table}
\end{document}
我想创建一个如图所示的表格。我尝试使用多行,但没有得到线条边框。如何创建具有完整边框和分组的表格?
答案1
在 LaTeX 中使用multirow
和\cline
。
\documentclass{article}
\pagestyle{empty}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|c|c|c|c|}
\hline
\multicolumn{2}{|c|}{S} & XX & RRRR \\\hline
\multirow{3}{*}{S1} & P & 1 & 0.8 \\\cline{2-4}
& R & 0.8 & 0.3 \\\cline{2-4}
& F & 0.1 & 0.7 \\\hline
\multirow{3}{*}{S2} & P & 0.6 & 0.5 \\\cline{2-4}
& R & 0.6 & 0.2 \\\cline{2-4}
& F & 0.71 & 0.7 \\\hline
\end{tabular}
\end{document}
对于固定宽度的列,最好使用array
包并声明新的列类型。
\documentclass{article}
\usepackage{array}
\usepackage{multirow}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\begin{document}
\begin{tabular}{|C{1.5cm}|C{1.5cm}|C{2.5cm}|C{2.5cm}|}
\hline
\multicolumn{2}{|c|}{S} & XX & RRRR \\\hline
\multirow{3}{*}{S1} & P & 1 & 0.8 \\\cline{2-4}
& R & 0.8 & 0.3 \\\cline{2-4}
& F & 0.1 & 0.7 \\\hline
\multirow{3}{*}{S2} & P & 0.6 & 0.5 \\\cline{2-4}
& R & 0.6 & 0.2 \\\cline{2-4}
& F & 0.71 & 0.7 \\\hline
\end{tabular}
\end{document}
答案2
使用 ConTeXt MKIV 和 Natural Tables 可以很容易地实现这一点。
\starttext
\startsetups table:multirows
\setupTABLE[align={middle,lohi}]
\setupTABLE[column][each][loffset=.5em,roffset=.5em]
\stopsetups
\startTABLE[setups={table:multirows}]
\NC[nx=2] S \NC XX \NC RRRR \NC\NR
\NC[ny=3] S1 \NC P \NC 1 \NC 0.8 \NC\NR
\NC R \NC 0.8 \NC 0.3 \NC\NR
\NC F \NC 0.1 \NC 0.7 \NC\NR
\NC[ny=3] S2 \NC P \NC 0.6 \NC 0.5 \NC\NR
\NC R \NC 0.6 \NC 0.2 \NC\NR
\NC F \NC 0.71 \NC 0.7 \NC\NR
\stopTABLE
\stoptext