\cline 使用 tabularx 超出表格

\cline 使用 tabularx 超出表格

我遇到了一个问题,在强制将表格设置为 \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}

enter image description here

相关内容