XeLaTeX を使用した tabularx 環境での透明な行の色

XeLaTeX を使用した tabularx 環境での透明な行の色

行の色が交互に変わり、そのうちの 1 つの色がわずかに透明になっている表を作成しようとしています。表のレイアウトは意図したとおりに機能していますが、行の色を透明にする方法がわかりません。私の知る限り、この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}

次のような結果が生成されます。

ここに画像の説明を入力してください

しかし、これは明らかに透明度がありません。ドキュメント全体には背景があり、それを行のシェーディングで表示したいのです。透明度を使用すると簡単になることはわかっていますが、matrixテーブル セルを適切なサイズにするというまったく別の問題が発生するため、Tikz パッケージの使用は避けたいと思います。

答え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}

ここに画像の説明を入力してください

関連情報