在我的文章中,我尝试为表格中的一行应用颜色,当我使用\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}