tabularx テーブルで booktabs を使用して連続した垂直線を作成しますか?

tabularx テーブルで booktabs を使用して連続した垂直線を作成しますか?

テーブルでブックタブを使用して連続した垂直線を描くにはどうすればよいですか? テーブルの幅を最大化する最も簡単な方法は何ですか? たくさんの方法があり、非常に混乱します。

\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}}、表の幅をテキスト幅と同じにし、列間の余分な空白を均等に分散しました。 また、垂直線を削除し、1 本の線を、\cmidrule間に小さな空白がある 2 本の隣接する線に置き換えました。 コードを整理するために、 と の繰り返しも削除し\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

2つの列のグループを明確に区別するために、縦線を補助的な空の列に置き換えたい。美観上のもう1つの可能性は、水平線による縦方向の余白を削除し、 の\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}

上記コードの出力

関連情報