我正在努力处理乳胶中的表格。 我想要以下“单词”效果:
但代码如下:
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{xcolor}
\begin{center}
\begin{tabular}{c c c}
\textbf{INGESTION (Hz)} & \textbf{3 STREAMS} & \textbf{6 STREAMS} \\ \toprule
\rowcolor{black!10}[0pt][0pt]50 & 1 & 1 \\
25 & 2 & 2 \\
\rowcolor{black!10}[0pt][0pt]15 & 3 & 3
\end{tabular}
\end{center}
我得到了这个:
对我来说,这非常丑陋。本质上,我想删除标题和第一行之间的空格,此外,我想删除行单元格之间的空格(我使用了 \arraystrech,结果很糟糕)。我还想添加额外的标题。
答案1
水平白条是由于 booktabs 规则添加的填充而产生的。要删除它,您必须使用\specialrule
命令,该命令可让您控制特定规则的填充。列间空白是由于 中的可选 [0pt] 而产生的\rowcolor
。只需抑制它们即可。但是,对于交替行颜色,更好的解决方案是使用带有选项\rowcolors
定义的命令。此选项会加载,因此您不必执行此操作。xcolor
[table]
colortbl
结果如下:\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{booktabs} \usepackage[table, svgnames]{xcolor}
\begin{document}
\begin{center}
\rowcolors{3}{Gainsboro}{white}
\begin{tabular}{c c c}
\multicolumn{3}{c}{\textbf{AVERAGE DATA LOSS (\%)}}\\
\addlinespace
\textbf{INGESTION (Hz)} & \textbf{3 STREAMS} & \textbf{6 STREAMS} \\
\specialrule{\heavyrulewidth}{\aboverulesep}{0pt}
50 & 1 & 1 \\
25 & 2 & 2 \\
15 & 3 & 3 \
\end{tabular}
\end{center}
\end{document}
答案2
您还可以使用tabularx
。要使列类型居中,X
请使用Y
在中定义的列类型在 tabularx 和 X 列中居中。
梅威瑟:
\documentclass{article}
\usepackage{booktabs}
%\usepackage{colortbl}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\rowcolors{3}{black!10}{white}
\begin{tabularx}{0.76\textwidth}{Ycc}
\textbf{INGESTION (Hz)} & \textbf{3 STREAMS} & \textbf{6 STREAMS} \\ \toprule
50 & 1 & 1 \\
25 & 2 & 2 \\
15 & 3 & 3
\end{tabularx}
\end{document}
答案3
您可以使用自定义命令来为行着色
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{colortbl}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{booktabs}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}
\colorlet{tablerowcolor}{black!10} % Table row separator colour = 10% gray
\newcommand{\rowcol}{\rowcolor{tablerowcolor}} %
\begin{document}
\begin{table}[!htpb]
\centering
\begin{tabular}{ccc}\toprule
\textbf{INGESTION(Hz)} & \textbf{3 STREAMS}& \textbf{6 STREAMS} \\ \toprule
\rowcol 50 & 1 & 1 \\
25 & 2 & 2 \\
\rowcol 15 & 3 & 3 \\ \bottomrule
\end{tabular}
\end{table}
\end{document}