我有一个包含很多表格的文档。我想一次性更改整个文档中所有表格的标题行的背景颜色,而无需更改表格代码本身。有什么想法可以做到这一点吗?
对于交替颜色我使用这个脚本:
\usepackage[table]{xcolor}
\definecolor{mycolor}{HTML}{c5ebec}
\let\oldtabular\tabular
\let\endoldtabular\endtabular
\renewenvironment{tabular}{\rowcolors{2}{white}{gold}\oldtabular}{\endoldtabular}
所以我需要类似上面的脚本,但仅用于标题行。
答案1
这里有一个解决方案,附带etoolbox
软件包。如果全部如果您的表格具有相同的格式,则可以修补环境tabular
。如果只有一些表格有彩色标题,则可以使用新mytabular
环境。在这种情况下,取消注释序言中注释的行,然后注释补丁。我还在包中添加了一些行中的垂直填充cellspace
:
\documentclass{article}
\usepackage[table, svgnames]{xcolor} \usepackage{array}
\usepackage{cellspace}
\setlength\cellspacetoplimit{4pt}
\setlength\cellspacebottomlimit{4pt}
\usepackage{etoolbox}
\colorlet{headercolour}{DarkSeaGreen!40}
%\newenvironment{mytabular}{\rowcolors{1}{\ifnumless{\rownum}{2}{headercolour}{white}}{}\tabular}{\endtabular}
\AtBeginEnvironment{tabular}{\rowcolors{1}{\ifnumless{\rownum}{2}{headercolour}{white}}{}}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|*{4}{Sc}|}
\hline
Column1 & Column2 & Column3 & Column4 \\
\hline
A & \cellcolor[gray]{0.5} & D & E \\
\hline
& & & F \\
\hline
& & & \\
\hline
\end{tabular}
\end{table}
\end{document}