Ich habe eine sehr große Tabelle mit Ergebnissen von 4 verschiedenen Methoden und mein Vorgesetzter hat mir vorgeschlagen, die Methoden der Lesbarkeit halber mit vertikalen Linien zu trennen. Wenn ich jedoch vertikale gestrichelte Linien verwende, sind diese nicht durchgehend und meines Wissens ist dies ein sehr häufiges Problem in Booktabs-Umgebungen. Normalerweise wird empfohlen, keine vertikalen Linien zu verwenden, aber ich möchte es tun. Gibt es eine Problemumgehung? Ich bin auch offen für Ihre Vorschläge zur Verbesserung der Lesbarkeit.
Hier ist das funktionierende Beispiel. Entschuldigen Sie die bedeutungslosen Spaltennamen.
\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}
Die gestrichelten Linien sollten von der ersten bis zur letzten Reihe fortgesetzt werden.
Antwort1
Hier ist eine Lösung, die die Notwendigkeit (gestrichelter oder durchgezogener) vertikaler Linien überflüssig macht. Dies geschieht, indem durch wohlüberlegt platzierte \cmidrule
Anweisungen mehr Struktur in den Kopfzeilen bereitgestellt wird. Außerdem wird von einer Umgebung tabularx
zu einer tabular*
Umgebung gewechselt. Dieser Wechsel ist angezeigt, da innerhalb von Zellen kein automatischer Zeilenumbruch erforderlich zu sein scheint.
\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}