Cores de linha transparentes em ambiente tabularx usando XeLaTeX

Cores de linha transparentes em ambiente tabularx usando XeLaTeX

Estou tentando construir uma tabela com cores de linhas alternadas, sendo uma das cores levemente transparente. Tenho o layout da tabela funcionando conforme o esperado, mas não consigo descobrir uma maneira de tornar as cores das linhas transparentes. Pelo que sei, o transparentpacote não funcionará, pois não funciona com o XeLaTeX (também estou usando o fontspecpacote, que requer o XeLaTeX). A seguir está o MWE do que tenho até agora

%!TEX program = xelatex
\documentclass[9pt,a4paper,twocolumn]{extbook}
\usepackage{xparse}
\usepackage{tabularx}
\usepackage[table]{xcolor}
\NewDocumentEnvironment{rtable}{mm}%
    {\rowcolors{2}{}{gray!50}\tabularx{\columnwidth}{c L}%
    \bfseries{#1} & \bfseries{#2}\\%
    }
    {\endtabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}%
\begin{document}
\begin{rtable}{label 1}{label 2}
1 & this is a test\\
2 & to see if this works
\end{rtable}
\end{document}

que produz o seguinte:

insira a descrição da imagem aqui

No entanto, isso obviamente não tem transparência. O documento completo tem um plano de fundo que gostaria de mostrar através do sombreamento das linhas. Embora eu esteja ciente de que facilita o uso da transparência, prefiro evitar o uso do matrixpacote Tikz, pois isso abre uma nova lata de vermes para fazer com que as células da tabela tenham o tamanho certo.

Responder1

Você pode usar os comandos tikz, mas como a transparência não respeita os grupos e também afeta o texto, há uma certa quantidade de configurações e redefinições envolvidas:

\documentclass[9pt,a4paper,twocolumn]{extbook}
\usepackage{xparse}
\usepackage[table]{xcolor}

\usepackage{tabularx,tikz}
\NewDocumentEnvironment{rtable}{mm}%
    {\rowcolors{2}{}{gray!50}\tabularx{\columnwidth}{c L}%
    \bfseries{#1} & \bfseries{#2}\\%
    }
    {\endtabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}%
\begin{document}

\begin{rtable}{label 1}{label 2}
1 & this is a test\\
2 & to see if this works
\end{rtable}


\begin{rtable}{label 1}{label 2}
\noalign{\pgfsetfillopacity{0.5}}%
\pgfsetfillopacity{1}%
1\pgfsetfillopacity{0.5}& 
\leavevmode \pgfsetfillopacity{1}%
this is a test\\
2 & to see if this works
\end{rtable}
\end{document}

insira a descrição da imagem aqui

informação relacionada