列重叠

列重叠

我问了以下问题: 表格中的水平线

有什么方法可以让列不重叠,那么我可以以某种方式改变宽度吗?


\begin{tabularx}{\textwidth}{
l|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering}X|
>{\centering\arraybackslash}X
}
 & \multicolumn{13}{c}{Exercise}\\
\cmidrule{2-14}
{Name} & 1(i) & 1(ii) & 1(iii) &2(i) & 2(ii) & 2(iii) & 2(iv) & 2(v) & 2(vi)& 3(i) & 3(ii)& 3(iii)& 4 \\\hline
 & & & & & & & & & & & & &\\
 & & & & & & & & & & & & &\\
 & & & & & & & & & & & & &\\
 & & & & & & & & & & & & &
\end{tabularx}

答案1

这些标题没有足够的空间,而且根据以下行的内容,情况可能会更糟。在这些情况下,最好使用tabulary而不是tabularx,这样每个 L、C、R 或 J 列都会尝试根据列的内容(而不仅仅是标题)获取最佳宽度。

垂直规则总是需要避免的,但在这种情况下,它只会使空间不足的情况更加严重,所以我展示了规则的另一种用法。

姆韦

\documentclass{article}
\usepackage{tabulary,booktabs,lipsum,parskip}
\begin{document}
\lipsum[1][1-4]

\begin{tabulary}{\textwidth}{@{}lCCCCCCCCCCCCC@{}}\toprule
 & \multicolumn{13}{c}{Exercise}\\\cmidrule{2-14}
{Name} & 1(i) & 1(ii) & 1(iii) &2(i) & 2(ii) & 2(iii) & 2(iv) & 2(v) & 2(vi)& 3(i) & 3(ii)& 3(iii)& 4 \\
\cmidrule(r){1-1}
\cmidrule(rl){2-2}
\cmidrule(rl){3-3}
\cmidrule(rl){4-4}
\cmidrule(rl){5-5}
\cmidrule(rl){6-6}
\cmidrule(rl){7-7}
\cmidrule(rl){8-8}
\cmidrule(rl){9-9}
\cmidrule(rl){10-10}
\cmidrule(rl){11-11}
\cmidrule(rl){12-12}
\cmidrule(rl){13-13}
\cmidrule(l){14-14}
 Foo & a & b & c & d & e & f & g  & h & i & j & k & l & m\\
 Bah  & nn & oo& pp& qq& rr& ss& tt& uu& vv& ww& xx& yy & zz\\
 Baz  & nnn & ooo& ppp& qqq& rrr& srs& ttt& uuu& vvv& www& xxx& yyy & zzz\\\bottomrule
\end{tabulary}
\end{document}

尽管如此,请考虑减小字体大小和/或重新设计表格,例如像这样:

姆韦

相关内容