Прозрачные цвета строк в среде tabularx с использованием XeLaTeX

Прозрачные цвета строк в среде tabularx с использованием XeLaTeX

Я пытаюсь построить таблицу с чередующимися цветами строк, один из которых слегка прозрачен. У меня есть макет таблицы, работающий как задумано, однако я не могу понять, как сделать цвета строк прозрачными. Насколько я могу судить, пакет transparentне будет работать, так как он не работает с XeLaTeX (я также использую пакет fontspec, который требует XeLaTeX). Ниже приведен MWE того, что у меня есть на данный момент

%!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}

что производит следующее:

введите описание изображения здесь

Однако это, очевидно, не имеет прозрачности. Полный документ имеет фон, который я хотел бы показать через затенение строк. Хотя я знаю, что это упрощает использование прозрачности, я бы предпочел избегать использования пакета Tikz matrix, так как это открывает целую кучу проблем с получением ячеек таблицы нужного размера.

решение1

Вы можете использовать команды tikz, но поскольку прозрачность не учитывает группы и также влияет на текст, необходимо выполнить определенное количество настроек и сбросов:

\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}

введите описание изображения здесь

Связанный контент