在 tabular* 环境中使用 \extraccolsep\fill 时,行中的颜色无法正确应用

在 tabular* 环境中使用 \extraccolsep\fill 时,行中的颜色无法正确应用

在我的文章中,我尝试为表格中的一行应用颜色,当我使用\extracolsep\fill使表格适合文本宽度时,行颜色会在添加额外空间的地方被分割\extracolsep\fill。是否可以通过自动方式获得不分割的颜色阴影?

我的文章中有很多表格,我需要按小数对齐数字,所以我dcolumn.sty也添加了表格。我们如何才能通过自动方式获得这种颜色阴影而不进行分割?有什么技巧吗?

以下是 MWE:

\documentclass{article}
\usepackage{dcolumn}
\usepackage[table,dvips]{xcolor}
\usepackage{showframe}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\begin{document}

\rowcolors{2}{gray!35}{gray!70}
\begin{table}
\begin{tabular*}{\textwidth}{@{\extracolsep\fill}d{3,0}d{2,0}d{3,0}d{2,0}d{2,0}d{3,0}d{3,0}d{3,0}}
  \hline
  \rowcolor{blue!50}128&64&32&16&8&400&200&100\\
  \hline
  1   &0  &1   &1  &0  &1  &0  &1\\\hline
  1   &0  &100 &1  &0  &1  &0  &1\\\hline
  100 &0  &52  &1  &0  &1  &0  &1\\\hline
  1   &0  &1   &1  &0  &1  &0  &1\\\hline
\end{tabular*}
\end{table}
\end{document} 

我得到了这个输出:

输出

答案1

siunitx软件包提供了选择S列宽的可能性。这是使用此软件包的解决方案 - 以及符合我口味的颜色 ;o)

\documentclass{article}
\usepackage[table,dvipsnames, svgnames]{xcolor}
\usepackage{graphicx, siunitx}
\usepackage[showframe]{geometry}

\begin{document}

\begin{table}
  \setlength\extrarowheight{3pt}
  \sisetup{table-format=3.0, table-number-alignment=center, table-column-width=\dimexpr0.125\textwidth-2\tabcolsep}
  \rowcolors{2}{Gainsboro!80!Lavender}{Gainsboro!60!LightSteelBlue}
  \begin{tabular}{SS[table-format=2.0]SS[table-format=2.0]S[table-format=2.0]SSS}
    \hline
    \rowcolor{RoyalBlue!80} 128 & 64 & 32 & 16 & 8 & 400 & 200 & 100 \\
    \hline
    1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 \\%\hline
    1 & 0 & 100 & 1 & 0 & 1 & 0 & 1 \\%\hline
    100 & 0 & 52 & 1 & 0 & 1 & 0 & 1 \\%\hline
    1 & 0 & 1 & 1 & 0 & 1 & 0 & 1 \\\hline
  \end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

相关内容