
Tengo un problema para dibujar una tabla de varias columnas en látex ieeetran.
Esto es lo que quiero dibujar:
Sin embargo, no pude lograrlo. Tengo problemas para agregar filas OBR y AR. Probé algunos códigos, ninguno funcionó. Mi última prueba es:
\begin{table}[!h]
\centering
\caption{caption}
\label{tab:table}
\begin{small}
\begin{tabular}{|l|l|l|l|}
\hline
& \multicolumn{6} {c|} {\bfseries Dataset} & {\bfseries A} &{\bfseries B} & {\bfseries C}\\
\cline{2-7}
{\bfseries } & {\bfseries OBR} &{\bfseries AR} & {\bfseries OBR} &{\bfseries AR} & {\bfseries OBR} &{\bfseries AR}\\
\hline
D1 & 2.1\% & 2.1\% 2.1\% & 2.1\% & 2.1\% 2.1\% \\
\hline
D2 & 11.6\% &11.6\% & 11.6\% & 2.1\% & 2.1\% 2.1\%\\
\hline
D3 & 5.5\% & 5.5\% & 5.5\% & 2.1\% & 2.1\% 2.1\% \\
\hline
\end{tabular}
\end{small}
\end{table}
¿Puedo pedirle a alguien que me ayude a dibujar esta tabla? Estaré muy agradecido.
Respuesta1
Algunos comentarios iniciales:
Supongo que estás usando el
multirow
paquete para intentar imprimir las columnas múltiples (no lo dijiste, pero parece la opción natural).Yo sugeriría usar el
siunitx
paquete para alinear los puntos decimales en su tabla.El
booktabs
El paquete tiene algunos buenos consejos para tablas atractivas en LaTeX en la documentación. Lo he usado a continuación , pero puedes eliminar la dependencia reemplazando\toprule
y\midrule
con\bottomrule
.\hline
En cuanto a por qué el ejemplo actual no se está compilando:
No
tabular
tiene suficientes columnas. Has pasado la opción{|l|l|l|l|}
, que son cuatro columnas alineadas a la izquierda con barras verticales entre cada una de ellas. En su parte más ancha, la tabla original tiene siete columnas y es necesario tenerlas en cuenta todas. Entonces esto debería cambiarse a algo como{|l|l|l|l|l|l|l|}
.Si usa
siunitx
, entonces use{lSSSSSS}
:S
es una opción desdesiunitx
la cual alinea los puntos decimales en sus datos. Siéntete libre de volver a cambiar esto si no quieres o no puedes usar este paquete.El
multicolumn{6} {c|}
toma elConjunto de datosencabezado y llena seis columnas con él, luego tienes tres columnas más paraA,ByC. Esto significa que esta fila tiene nueve columnas en total, que es más de lo que necesita.En cambio, quieres algo más como:
\multirow{2}{*}{Dataset} & \multicolumn{2}{c}{A} & \multicolumn{2}{c}{B} & \multicolumn{2}{c|}{C} \\
Debes hacer la columna final
c|
para obtener la línea vertical final al final.En la segunda fila, omite la primera celda (que se llena con **Conjunto de datos* de la fila anterior) y luego completa el resto como de costumbre:
& O.B.R & A.R & O.B.R & A.R & O.B.R & A.R \\
Si usas
siunitx
, entonces debes envolverlos entre llaves, para que el punto no se lea como un punto decimal. Si no lo hace, obtendrá un error porque no puede alinear estos números.& {O.B.R} & {A.R} & {O.B.R} & {A.R} & {O.B.R} & {A.R} \\
Si modificamos su código con estas sugerencias en mente, obtenemos algo como esto:
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{table}
\begin{tabular}{|l|l|l|l|l|l|l|}
\hline
\multirow{2}{*}{Dataset} &
\multicolumn{2}{c}{A} &
\multicolumn{2}{c}{B} &
\multicolumn{2}{c|}{C} \\
& O.B.R & A.R & O.B.R & A.R & O.B.R & A.R \\
\hline
D1 & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% \\
\hline
D2 & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% \\
\hline
D3 & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% \\
\hline
\end{tabular}
\end{table}
\end{document}
Y este es el resultado:
Aquí hay un ejemplo que incluye siunitx
y booktabs
(también puse el signo % en el encabezado para facilitar la lectura):
\documentclass{article}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{siunitx}
\begin{document}
\begin{table}
\begin{tabular}{lSSSSSS}
\toprule
\multirow{2}{*}{Dataset} &
\multicolumn{2}{c}{A (\%)} &
\multicolumn{2}{c}{B (\%)} &
\multicolumn{2}{c}{C (\%)} \\
& {O.B.R} & {A.R} & {O.B.R} & {A.R} & {O.B.R} & {A.R} \\
\midrule
D1 & 2.1 & 2.1 & 2.1 & 2.1 & 2.1 & 2.1 \\
D2 & 11.6 & 11.6 & 11.6 & 11.6 & 11.6 & 11.6 \\
D3 & 5.5 & 5.5 & 5.5 & 5.5 & 5.5 & 5.5 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
que se compila a
Respuesta2
\begin{tabular}{|l|l|l|l|l|l|l|}
\hline
\multicolumn{1}{|c|}{Std} &
\multicolumn{2}{c|}{1.5} &
\multicolumn{2}{c|}{2} &
\multicolumn{2}{c|}{3} \\
\hline
d& Mean & Std & Mean & Std & Mean & Std \\
\hline
D1 & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% & 2.1\% \\
\hline
D2 & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% & 11.6\% \\
\hline
D3 & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% & 5.5\% \\
\hline
\end{tabular}