¿Cómo podemos dibujar una línea vertical continua usando pestañas en la tabla? ¿Cuál es el método más sencillo para maximizar el ancho de una mesa? Hay muchos métodos, muy confusos.
\documentclass{article}
\usepackage{makecell} % for bold in table using \small
\renewcommand\theadfont{\small} % for bold in table using \small
\usepackage{tabularx, ragged2e}
\usepackage{booktabs}
\begin{document}
\begin{table}[!ht]
\centering
\begin{tabularx}{\textwidth}{l>{\raggedright\arraybackslash}ccc|ccc}
\toprule
& \multicolumn{3}{c|}{\textbf{Paired Differences1}} & \multicolumn{3}{c}{\textbf{Paired Differences2}}\\
\cmidrule{2-7}
& \small {\textbf{Statistic}}
& \thead{\small {\textbf{df}}}
& \thead{\small {\textbf{Sig.}}}
& \small {\textbf{Statistic}}
& \thead{\small {\textbf{df}}}
& \thead{\small {\textbf{Sig.}}} \\
\midrule
Difference & 44.20 & 14.36 & 4.54 & .957 & 10 & .746\\
\bottomrule
\end{tabularx}
\caption{Testing Testing Testing%
\label{tab:test1234}%
}
\end{table}
\end{document}
Respuesta1
Aquí está mi sugerencia. Lo he usado tabular*
en combinación con @{\extracolsep{\fill}}
para hacer que la tabla sea tan ancha como el ancho del texto y distribuir uniformemente el exceso de espacio en blanco entre las columnas. También eliminé la línea vertical y reemplacé la única \cmidrule
por dos adyacentes con un pequeño espacio en blanco en el medio. Para limpiar el código, también eliminé las apariciones repetidas de \small
y \textbf
y en su lugar agregué \bfseries
a \thedfont
:
\documentclass{article}
\usepackage{makecell} % for bold in table using \small
\renewcommand\theadfont{\small\bfseries} % for bold in table using \small
\usepackage{tabularx, ragged2e}
\usepackage{booktabs}
\begin{document}
\begin{table}[!ht]
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lcccccc}
\toprule
& \multicolumn{3}{c}{\textbf{Paired Differences1}} & \multicolumn{3}{c}{\textbf{Paired Differences2}}\\
\cmidrule(r){2-4} \cmidrule(l){5-7}
& \thead{Statistic}
& \thead{df}
& \thead{Sig.}
& \thead{Statistic}
& \thead{df}
& \thead{Sig.} \\
\midrule
Difference & 44.20 & 14.36 & 4.54 & .957 & 10 & .746\\
\bottomrule
\end{tabular*}
\caption{Testing Testing Testing%
\label{tab:test1234}%
}
\end{table}
\end{document}
Respuesta2
Con combinación de S
y X
tipo de columnas, sin líneas verticales, con números redondeados...:
\documentclass{article}
\usepackage{booktabs, tabularx}
\usepackage{xparse}
\NewExpandableDocumentCommand\mcx{O{1}m}
{\multicolumn{#1}{>{\Centering\small\bfseries\hsize=#1\hsize}X}{#2}}
\usepackage{ragged2e}
\usepackage{siunitx}
\begin{document}
\begin{table}[ht]
\centering
\setlength\tabcolsep{0pt}
\sisetup{round-integer-to-decimal,
round-mode=places,
table-format=2.2}
\begin{tabularx}{\linewidth}{l *{6}{S} }
\toprule
& \mcx[3]{Paired Differences 1}
& \mcx[3]{Paired Differences 2} \\
\cmidrule(r){2-4}\cmidrule(l){5-7}
& \mcx{Statistic} & \mcx{df} & \mcx{Sig.}
& \mcx{Statistic} & \mcx{df} & \mcx{Sig.} \\
\midrule
Difference
& 44.20 & 14.36 & 4.54 & 0.957 & 10 & 0.746 \\
\bottomrule
\end{tabularx}
\caption{Testing Testing Testing}
\label{tab:test1234}
\end{table}
\end{document}
Respuesta3
Preferiría reemplazar la línea vertical con una columna vacía suplementaria para tener una separación clara entre los dos grupos de columnas. Otra posibilidad, estéticamente, podría ser eliminar el relleno vertical de las reglas horizontales y reemplazarlo con el \makegapedcells
comando from makecell
, que agrega un espacio vertical en la parte superior e inferior detodocélulas. Como demostración, reemplacé la línea vertical con una regla gruesa de color gris claro, que encuentro más agradable a la vista que la regla vertical delgada, negra y predeterminada.
\documentclass{article}
\usepackage{makecell} % for bold in table using \small
\renewcommand\theadfont{\small\bfseries} % for bold in table using \small
\usepackage{tabularx, ragged2e}
\usepackage{booktabs}
\usepackage[table, svgnames]{xcolor}
\begin{document}
\begin{table}[!ht]
\centering
\begin{tabularx}{\textwidth}{X>{\raggedright\arraybackslash}ccccccc}
\toprule
& \multicolumn{3}{c}{\textbf{Paired Differences1}} & & \multicolumn{3}{c}{\textbf{Paired Differences2}}\\
\cmidrule(lr){2-4} \cmidrule(lr){6-8}
& \thead{Statistic}
& \thead{df }
& \thead{ Sig. }
& & \thead{Statistic}
& \thead{df}
& \thead{Sig.} \\
\midrule
Difference & 44.20 & 14.36 & 4.54 & & .957 & 10 & .746\\
\bottomrule
\end{tabularx}
\caption{Testing Testing Testing%
\label{tab:test1234}%
}
\end{table}
\begin{table}[!ht]
\centering
\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
\setcellgapes{3pt}\makegapedcells
\begin{tabularx}{\textwidth}{X>{\raggedright\arraybackslash}ccc!{\color{Gainsboro!50!Lavender}\vline width 0.75em}ccc}
\toprule
& \multicolumn{3}{c!{\color{Gainsboro!50!Lavender}\vline width 0.75em}}{\textbf{Paired Differences1}} & \multicolumn{3}{c}{\textbf{Paired Differences2}}\\\noalign{\vskip -0.033em}
\cmidrule(lr{1.33em}){2-4} \cmidrule(lr){5-7}
& \thead{Statistic}
& \thead{df}
& \thead{Sig.}
& \thead{Statistic}
& \thead{df}
& \thead{Sig.} \\
\noalign{\vskip-0.05em}
\cmidrule[0.05em](r{0.9em}){1-4}\cmidrule[0.05em](l{0.15em}){5-7}
Difference & 44.20 & 14.36 & 4.54 & .957 & 10 & .746\\
\bottomrule
\end{tabularx}
\caption{Testing Testing Testing%
\label{tab:test1234}%
}
\end{table}
\end{document}
Respuesta4
Si realmente desea dibujar reglas verticales compatibles con las reglas de booktabs
(lo cual no está en absoluto en el espíritu de booktabs
, debe considerar el entorno {NiceTabular}
de nicematrix
).
\documentclass{article}
\usepackage{nicematrix}
\usepackage{ragged2e}
\usepackage{booktabs}
\begin{document}
\begin{table}[!ht]
\centering
\setlength{\tabcolsep}{7pt}
\begin{NiceTabular}{lccc|ccc}
\toprule
\RowStyle{\bfseries}
& \Block{1-3}{Paired Differences1} &&&\Block{1-3}{Paired Differences2}\\
\cmidrule{2-7}
\RowStyle{\bfseries\small}
& Statistic
& df
& Sig.
& Statistic
& df
& Sig. \\
\midrule
Difference & 44.20 & 14.36 & 4.54 & .957 & 10 & .746\\
\bottomrule
\end{NiceTabular}
\caption{Testing Testing Testing%
\label{tab:test1234}%
}
\end{table}
\end{document}