考虑以下 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}