tabularx、booktabs 環境における不連続な垂直破線

tabularx、booktabs 環境における不連続な垂直破線

4 つの異なる方法の結果を含む非常に大きな表があり、上司は読みやすくするために縦線を使用して方法を区切るよう提案しました。しかし、縦の破線を使用すると連続しなくなり、これは booktabs 環境では非常に一般的な問題であると理解しています。一般的に、提案される解決策は縦線を使用しないことですが、私は縦線を使用したいと思っています。回避策はありますか? 読みやすさを改善するための提案もお待ちしています。

以下に動作例を示します。意味のない列名で申し訳ありません。

\documentclass[journal]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage{amsmath} % assumes amsmath package installed
\usepackage{amssymb} 
\usepackage{caption}
\usepackage{tabularx, booktabs}

\usepackage{arydshln}


\begin{document}

\begin{table*}
\caption{a $\rightarrow$ b}
\label{tabAB}
\begin{tabularx}{\textwidth}{@{\extracolsep{\fill}}ccc:cccc:cccc:cccc}
\toprule
 & \multicolumn{2}{c}{\begin{tabular}[c]{@{}c@{}}a \\ b \end{tabular}} & \multicolumn{4}{c}{\begin{tabular}[c]{@{}c@{}}c \\$\downarrow$\\ d \end{tabular}} & \multicolumn{4}{c}{\begin{tabular}[c]{@{}c@{}}e \\ $\downarrow$\\ f \end{tabular}} & \multicolumn{4}{c}{\begin{tabular}[c]{@{}c@{}}g \\ $\downarrow$\\ h \end{tabular}}\\ 
& & & \multicolumn{2}{c}{q} & \multicolumn{2}{c}{w} & \multicolumn{2}{c}{e} & \multicolumn{2}{c}{r} & \multicolumn{2}{c}{t} & \multicolumn{2}{c}{y}\\
\cmidrule(lr){2-15}
 & u & w & \begin{tabular}[c]{@{}c@{}}a\\ b \end{tabular} & \begin{tabular}[c]{@{}c@{}}c.\\ d \end{tabular} & \begin{tabular}[c]{@{}c@{}}e.\\ f \end{tabular} & \begin{tabular}[c]{@{}c@{}}h.\\ g \end{tabular} & \begin{tabular}[c]{@{}c@{}}j.\\ j \end{tabular}  & \begin{tabular}[c]{@{}c@{}}k.\\ t \end{tabular} & \begin{tabular}[c]{@{}c@{}}y.\\ v \end{tabular} & \begin{tabular}[c]{@{}c@{}}z.\\ w \end{tabular} & \begin{tabular}[c]{@{}c@{}}q.\\ w \end{tabular} & \begin{tabular}[c]{@{}c@{}}a.\\ t \end{tabular} & \begin{tabular}[c]{@{}c@{}}y.\\ u \end{tabular} & \begin{tabular}[c]{@{}c@{}}z.\\ x \end{tabular} \\ \hline\\
\begin{tabular}[c]{@{}c@{}}q\\ a No \\\ t \end{tabular} & & \multicolumn{13}{c}{err(\%)} \\
\cmidrule(lr){2-15}
1        & 1.33  & 1.10 & 2.43 & 1.92 & 1.57 & 1.79 & 1.58  & 1.57 & 1.19 & 1.77 & 1.42 & 1.41 & 1.89 & \textbf{1.52} \\
2        & 2.48  & 2.53 & 2.60 & 2.31 & 2.82 & 2.80 & 2.84  & 2.82 & 2.50 & 2.79 & 2.60 & 2.59 & 2.13 & \textbf{2.51} \\
3        & 2.94  & 2.75 & 2.90 & 2.46 & 4.82 & 3.48 & 2.83  & 4.82 & 2.30 & 2.45 & 3.78 & 2.77 & 2.41 & \textbf{2.67} \\
4        & 3.36  & 3.53 & 3.45 & 0.54 & 9.69 & 2.34 & 2.70  & 2.68 & 2.17 & \textbf{2.28} & 3.53 & 3.52 & 2.03 & 2.30 \\
5        & \textbf{2.38}  & 2.65 & 3.60 & 2.32 & 2.31 & 2.10 & 2.34  & 2.31 & 4.92 & 2.05 & 2.81 & 2.78 & 2.08 & 2.33 \\\\
Overall        & 2.90  & 2.11 &  2.80 & 2.11 & 2.84 & 2.30 & 3.86  & 3.84 & 2.02 & 2.27 & 2.23 & 3.21 & 2.51 & \textbf{2.87} \\\\
\begin{tabular}[c]{@{}c@{}}t\\ w \end{tabular} & \textbf{1.55} & 1.88 & 2.09 & 1.59 & 1.15 & 1.01 & 1.15 & 1.15 & 1.64 & 1.98 & 1.85 & 1.85 & 1.24 & 1.68 \\
\bottomrule

\end{tabularx}
\end{table*}

\end{document}

中止。

破線は最初の行から最後まで続く必要があります。

答え1

これは、縦線 (破線または実線) の必要性をなくすソリューションです。\cmidruleヘッダー マテリアルに適切に配置されたディレクティブを介して、より多くの構造を提供することでこれを実現します。また、環境をtabularxから に切り替えますtabular*。セル内で自動改行する必要がないと思われるため、この切り替えを行うように指示されています。

ここに画像の説明を入力してください

\documentclass[journal]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,caption,booktabs}
%% Handy shortcut macro:
\newcommand\mytab[1]{\begin{tabular}[c]{@{}c@{}} #1 \end{tabular}}

\begin{document}

\begin{table*}
\caption{a$\to$b} \label{tabAB}
\setlength\tabcolsep{0pt} % let LaTeX figure out intecol. whitespace
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} *{15}{c} }
\toprule
 \mytab{q\\a No\\t} 
 & \multicolumn{2}{c}{\mytab{a\\$\downarrow$\\ b}} 
 & \multicolumn{4}{c}{\mytab{c\\$\downarrow$\\ d}}  
 & \multicolumn{4}{c}{\mytab{e\\$\downarrow$\\ f}}
 & \multicolumn{4}{c}{\mytab{g\\$\downarrow$\\ h}}\\ 
\cmidrule{4-7} \cmidrule{8-11} \cmidrule{12-15} 
& & & \multicolumn{2}{c}{q} & \multicolumn{2}{c}{w} 
    & \multicolumn{2}{c}{e} & \multicolumn{2}{c}{r} 
    & \multicolumn{2}{c}{t} & \multicolumn{2}{c}{y}\\
\cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-7} \cmidrule{8-9} 
\cmidrule{10-11} \cmidrule{12-13} \cmidrule{14-15} 
 & u & w 
 & \mytab{a\\b} & \mytab{c.\\d} & \mytab{e.\\f} & \mytab{h.\\g} 
 & \mytab{j.\\j}& \mytab{k.\\t} & \mytab{y.\\v} & \mytab{z.\\w} 
 & \mytab{q.\\w}& \mytab{a.\\t} & \mytab{y.\\u} & \mytab{z.\\x}\\
\midrule
 & \multicolumn{14}{c}{err(\%)} \\
\cmidrule{2-15}
1  & 1.33  & 1.10 & 2.43 & 1.92 & 1.57 & 1.79 & 1.58  & 1.57 
   & 1.19 & 1.77 & 1.42 & 1.41 & 1.89 & \textbf{1.52} \\
2  & 2.48  & 2.53 & 2.60 & 2.31 & 2.82 & 2.80 & 2.84  & 2.82 
   & 2.50 & 2.79 & 2.60 & 2.59 & 2.13 & \textbf{2.51} \\
3  & 2.94  & 2.75 & 2.90 & 2.46 & 4.82 & 3.48 & 2.83  & 4.82 
   & 2.30 & 2.45 & 3.78 & 2.77 & 2.41 & \textbf{2.67} \\
4  & 3.36  & 3.53 & 3.45 & 0.54 & 9.69 & 2.34 & 2.70  & 2.68 
   & 2.17 & \textbf{2.28} & 3.53 & 3.52 & 2.03 & 2.30 \\
5  & \textbf{2.38}  & 2.65 & 3.60 & 2.32 & 2.31 & 2.10 & 2.34  
   & 2.31 & 4.92 & 2.05 & 2.81 & 2.78 & 2.08 & 2.33 \\[1ex]
Overall  & 2.90  & 2.11 &  2.80 & 2.11 & 2.84 & 2.30 & 3.86  
   & 3.84 & 2.02 & 2.27 & 2.23 & 3.21 & 2.51 & \textbf{2.87} \\[1ex]
\mytab{t\\w} & \textbf{1.55} & 1.88 & 2.09 & 1.59 & 1.15 & 1.01 & 1.15 
   & 1.15 & 1.64 & 1.98 & 1.85 & 1.85 & 1.24 & 1.68 \\
\bottomrule
\end{tabular*}
\end{table*}

\end{document}

関連情報