颜色重叠的表格

颜色重叠的表格

我对制作一个颜色重叠的表格很感兴趣。我的意思是,我想在表格的第一列添加一种额外的颜色,并将不透明度设置为 20%,如果可能的话,我希望它与行颜色混合。我很难找到答案。我真的很感激有人能帮助我 :)

我目前有的是:

\documentclass[12pt, a4paper, oneside, onecolumn]{memoir}

\usepackage[table]{xcolor}
\definecolor{ltable}{HTML}{EDE7FF}
\definecolor{dtable}{HTML}{D9CEFF}

\begin{document}

\rowcolors{3}{ltable}{dtable}
\begin{tabular}{ |c|c| }
    \hline
    \rowcolor{dtable} \multicolumn{2}{|l|}{header} \\ \hline
    \rowcolor{dtable} \multicolumn{2}{|c|}{some text} \\ \hline
    1 & text \\ \hline
    2 & text \\ \hline
    3 & text \\ \hline
    4 & text \\ \hline
    5 & text \\ \hline
\end{tabular}

\end{document}

重叠颜色从 1 开始并结束于 5。出于练习目的,它可以是黑色并将不透明度设置为 20%。

答案1

你可以使用 tikz 来做这件事。我使用制作了一个表格matrix,然后将颜色应用到背景层上。我得到的结果如下所示。我认为你可以改进并获得所需的结果。

在此处输入图片描述

平均能量损失

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix,backgrounds,calc}
\definecolor{oddrow}{HTML}{00FF00}
\definecolor{evenrow}{HTML}{0000FF}
\definecolor{column1}{HTML}{FF0000}

\begin{document}
\begin{tikzpicture}
\matrix(tab)[matrix of nodes,nodes={inner sep=5pt,minimum width=1cm},column sep=2mm]
{%table without header
1 & text \\
2 & text \\
3 & text \\
4 & text \\
5 & text \\
};

\begin{scope}[on background layer]
\fill[column1,opacity=0.5] (tab-1-1.north west) rectangle (tab-5-1.south east); column1 color
\foreach \rw in {1,3,...,5} %odd rows
\draw[draw=black,fill=oddrow,opacity=0.5] (tab-\rw-1.north west) rectangle (tab-\rw-2.south east);
\foreach \rw in {2,4,...,4} %even rows
\draw[draw=black,fill=evenrow,opacity=0.5] (tab-\rw-1.north west) rectangle (tab-\rw-2.south east);
%headers
\draw (tab-1-1.north west) rectangle ($(tab-1-2.north east)+(0,0.5)$)node[midway]{Some text};
\draw ($(tab-1-1.north west)+(0,0.5)$) rectangle ($(tab-1-2.north east)+(0,1)$)node[midway]{Header};
\end{scope}
\end{tikzpicture}
\end{document}

答案2

该软件包nicematrix中有解决此类问题的工具。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{cc}[hvlines]
\CodeBefore
  \rowlistcolors{3}{green!50,blue!50}
  \rectanglecolor[opacity=0.2]{black}{3-1}{9-1}
\Body
  \Block{1-2}{Header} \\
  \Block{1-2}{Some text} \\
  1 & text \\
  2 & text \\
  3 & text \\
  4 & text \\
  5 & text \\
  6 & text \\
  7 & text
\end{NiceTabular}

\end{document}

您需要多次编译。

上述代码的输出

相关内容