列颜色和 l3colors

列颜色和 l3colors

考虑以下 MWE:

在此处输入图片描述

\documentclass{article}
\usepackage[table]{xcolor}
%\usepackage{l3color}
%\usepackage{colortbl}
%\usepackage{l3draw}

\definecolor{sampleredexpl}{RGB}{21,71,158}
%\ExplSyntaxOn
% \color_set:nnn {sampleredexpl} {RGB} {21,71,158}
%\ExplSyntaxOff

\begin{document}
\begin{tabular}{|>{\columncolor{sampleredexpl!20}}c|}
\hline
$t$ (min)\\
\hline
\end{tabular}
\end{document}

请注意,上面的代码编译时没有错误。现在考虑我想使用l3draw来创建图表并使用来定义颜色\color_set:nnn {sampleredexpl} {RGB} {21,71,158}。在其他地方使用这种颜色可以正常工作,但如果我想在表格列中使用它,我就不能。

例如,

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{l3draw}


\ExplSyntaxOn
 \color_set:nnn {sampleredexpl} {RGB} {21,71,158}
\ExplSyntaxOff

\begin{document}
\begin{tabular}{|>{\columncolor{sampleredexpl!20}}c|}
\hline
$t$ (min)\\
\hline
\end{tabular}
\end{document}

无法编译。我推测使用命令的颜色\columncolor{@}必须使用 来定义\definecolor{@}{@}{@}。我尝试使用 加载colortbl包,l3draw但它仍然不遵守使用 的颜色定义l3color

LaTeX 是否可以遵循任一定义?也就是说,我可以在l3语法中使用明确定义的颜色来为列着色吗?我猜它应该类似于全局颜色。

答案1

在此处输入图片描述

colortbl使彩色面板具有,但它期望该命令与用于定义颜色的颜色定义命令相关。您可以通过定义为来\color实现它的愿望\color\color_select:n

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{l3draw}


\ExplSyntaxOn
 \color_set:nnn {sampleredexpl} {RGB} {21,71,158}
 \RenewDocumentCommand\color{om}{\color_select:n{#2}}
\ExplSyntaxOff

\begin{document}
\begin{tabular}{|>{\columncolor{sampleredexpl!20}}c|}
\hline
$t$ (min)\\
\hline
\end{tabular}
\end{document}

相关内容