为表格中整行的*文本*着色

为表格中整行的*文本*着色

我可以colortbl通过设置来为行的背景着色\rowcolor{Gray}。如何仅将文本设置为灰色并保留白色背景?

答案1

借用代码来回答一个我找不到的问题的解决方案:

\documentclass[11pt]{article}%
\usepackage[table, svgnames]{xcolor}
\usepackage{array}

\makeatletter
\g@addto@macro{\endtabular}{\rowfont{}}% Clear row font
\makeatother
\newcommand{\rowfonttype}{}% Current row font
\newcommand{\rowfont}[1]{% Set current row font
\gdef\rowfonttype{#1}#1\ignorespaces%
}
\makeatother

\begin{document}

\setlength{\extrarowheight}{3pt}
\begin{tabular}{*{5}{>{\rowfonttype}c}<{\rowfont{}}}
\hline
A & B & C & D & E \\
\hline
\rowcolor{WhiteSmoke}\rowfont{\color{Tomato}} I & II & III & IV & V \\
\hline
a & b & c & d & e\\
 \hline
\end{tabular}

\end{document} 

在此处输入图片描述

如果您想要一个带有垂直规则的表格,则返回下一行的非彩色文本会略有不同:

\begin{tabular}{|*{5}{>{\rowfonttype}c|}}
\hline
A & B & C & D & E \\
\hline
\rowcolor{WhiteSmoke}\rowfont{\color{Tomato}} I & II & III & IV & V \\
\hline
\rowfont{\color{black}}a & b & c & d & e\\
 \hline
\end{tabular}

在此处输入图片描述

相关内容