표의 책탭을 사용하여 어떻게 연속적인 수직선을 그릴 수 있나요? 테이블 너비를 최대화하는 가장 간단한 방법은 무엇입니까? 방법이 많아 매우 혼란스럽습니다.
\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}
답변1
여기 내 제안이 있습니다. 나는 테이블을 텍스트 너비만큼 넓게 만들고 열 사이의 여분의 공백을 균등하게 분배하기 위해 tabular*
를 조합하여 사용했습니다 . @{\extracolsep{\fill}}
또한 수직선을 제거하고 \cmidrule
그 사이에 작은 공백이 있는 두 개의 인접한 선으로 단일 선을 교체했습니다. 코드를 정리하기 위해 반복되는 항목도 제거하고 \small
대신 \textbf
에 다음을 추가 \bfseries
했습니다 \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}
답변2
S
열 유형 의 조합 X
, 수직선 없음, 반올림된 숫자 포함 ... :
\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}
답변3
두 개의 열 그룹을 명확하게 구분하기 위해 수직선을 보충적인 빈 열로 바꾸는 것이 좋습니다. 미학적으로 또 다른 가능성은 가로 규칙의 세로 여백을 삭제하고 이를 다음 \makegapedcells
명령 으로 바꾸는 것입니다.makecell
으로 바꾸는 것입니다 . 이 명령은 상단과 하단에 수직 공백을 추가합니다.모두세포. 시연을 위해 수직선을 두껍고 밝은 회색의 주름으로 대체했습니다. 기본 얇고 검은색의 수직선보다 눈에 더 좋습니다.
\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}
답변4
실제로 의 규칙과 호환되는 수직 규칙을 그리려면 booktabs
(전혀 의 정신에 맞지 않는 경우 의 booktabs
환경을 고려해야 합니다 ).{NiceTabular}
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}