![\cline 使用 tabularx 超出表格](https://linux22.com/image/354541/%5Ccline%20%E4%BD%BF%E7%94%A8%20tabularx%20%E8%B6%85%E5%87%BA%E8%A1%A8%E6%A0%BC.png)
我遇到了一个问题,在强制将表格设置为 \textwidth 后,\cline 超出了表格的结束列。有没有办法强制它结束在与 \hline 相同的位置?
\begin{table}[h]
\centering
\begin{tabularx}{\textwidth}{ c|c|c c|c c }
\hline
\hline
& & \multicolumn{2}{c|}{Dog} & \multicolumn{2}{c}{Bear} \\
\cline{3-6}
& Cat & A & B & A & B \\
\hline
Value 1 & 0.70 & 0.57 & 0.42 & 0.41 & 0.48 \\
Value 2 & 0.10 & 0.051 & 0.07 & 0.03 & 0.022 \\
\hline
\end{tabularx}
\end{table}
答案1
使用
\begin{tabularx}{\textwidth}{ X|c|c c|c c }
\hline
\hline
& & \multicolumn{2}{c|}{Dog} & \multicolumn{2}{c}{Bear} \\
\cline{3-6}
& Cat & A & B & A & B \\
\hline
Value 1 & 0.70 & 0.57 & 0.42 & 0.41 & 0.48 \\
Value 2 & 0.10 & 0.051 & 0.07 & 0.03 & 0.022 \\
\hline
\end{tabularx}
或者
\begin{tabular}{ c|c|c c|c c }
\hline
\hline
& & \multicolumn{2}{c|}{Dog} & \multicolumn{2}{c}{Bear} \\
\cline{3-6}
& Cat & A & B & A & B \\
\hline
Value 1 & 0.70 & 0.57 & 0.42 & 0.41 & 0.48 \\
Value 2 & 0.10 & 0.051 & 0.07 & 0.03 & 0.022 \\
\hline
\end{tabular}
答案2
Atabularx
需求至少一X
列。
避免使用垂直规则,因为它们没有任何作用。
以下是表格的四种实现方式;第一种是错误的,接下来的两种扩展到整个文本宽度。最后一种是我的做法。
\documentclass{article}
\usepackage{tabularx} % needed for the bad example
\usepackage{siunitx,booktabs} % for the better examples
\begin{document}
\begin{table}[!htp]
\centering
\begin{tabularx}{\textwidth}{ c|c|c c|c c }
\hline
\hline
& & \multicolumn{2}{c|}{Dog} & \multicolumn{2}{c}{Bear} \\
\cline{3-6}
& Cat & A & B & A & B \\
\hline
Value 1 & 0.70 & 0.57 & 0.42 & 0.41 & 0.48 \\
Value 2 & 0.10 & 0.051 & 0.07 & 0.03 & 0.022 \\
\hline
\end{tabularx}
\bigskip
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}\hspace{\tabcolsep}} cccccc }
\hline
\hline
& & \multicolumn{2}{c}{Dog} & \multicolumn{2}{c}{Bear} \\
\cline{3-6}
& Cat & A & B & A & B \\
\hline
Value 1 & 0.70 & 0.57 & 0.42 & 0.41 & 0.48 \\
Value 2 & 0.10 & 0.051 & 0.07 & 0.03 & 0.022 \\
\hline
\end{tabular*}
\bigskip
\begin{tabular*}{\textwidth}{
@{\extracolsep{\fill}\hspace{\tabcolsep}}
l
S[table-format=1.2]
S[table-format=1.3]
S[table-format=1.2]
S[table-format=1.2]
S[table-format=1.3]
}
\toprule
& & \multicolumn{2}{c}{Dog} & \multicolumn{2}{c}{Bear} \\
\cmidrule(lr){3-4}\cmidrule(lr){5-6}
& {Cat} & {A} & {B} & {A} & {B} \\
\midrule
Value 1 & 0.70 & 0.57 & 0.42 & 0.41 & 0.48 \\
Value 2 & 0.10 & 0.051 & 0.07 & 0.03 & 0.022 \\
\bottomrule
\end{tabular*}
\bigskip
\begin{tabular}{
l
S[table-format=1.2]
S[table-format=1.3]
S[table-format=1.2]
S[table-format=1.2]
S[table-format=1.3]
}
\toprule
& & \multicolumn{2}{c}{Dog} & \multicolumn{2}{c}{Bear} \\
\cmidrule(lr){3-4}\cmidrule(lr){5-6}
& {Cat} & {A} & {B} & {A} & {B} \\
\midrule
Value 1 & 0.70 & 0.57 & 0.42 & 0.41 & 0.48 \\
Value 2 & 0.10 & 0.051 & 0.07 & 0.03 & 0.022 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}