ConTeXt:如何使颜色派生行为像 LaTeX xcolor 包一样

ConTeXt:如何使颜色派生行为像 LaTeX xcolor 包一样

尝试使用颜色衍生作为定义这里,我无法更接近所xcolor提供的内容。

例如,这是我在 LaTeX 中使用以下命令获得的结果xcolor

彩色

\documentclass{minimal}
\usepackage{tcolorbox}

\newtcolorbox{atestbox}{colback=red!20, colframe=red!20}

\begin{document}
  \begin{atestbox}
    A box.  
  \end{atestbox}
\end{document}

这是我在 ConTeXt 中使用颜色派生得到的结果:

上下文颜色推导

\setupcolors[state=start]

\definecolor[ColorA][1.0(red)]
\definecolor[myred02][0.2(ColorA)]
\definecolor[myred08][0.8(ColorA)]

\starttext
\framed[background=color, backgroundcolor=myred02]
        {\color[white]{0.2(red) derivation}}

\framed[background=color, backgroundcolor=myred08]
        {\color[white]{0.8(red) derivation}}
\stoptext

我尝试使用所有可能的设置(以及它们的组合)\definecolor(饱和度、色调、亮度、透明度等),但不知道如何去做。

看来我可能不得不使用蒂克兹。但是我不知道如何用 tikz 定义颜色并在 tikz 图片或节点(如框架或 MetaFun)之外使用它。

蒂克兹

\setupcolors[state=start]
\usemodule[tikz]

\definecolor[ColorA][1.0(red)]
\definecolor[myred02][ColorA!20] % or \definecolor[myred02][red!20]

\starttext
\framed[background=color, backgroundcolor=myred02]
        {\color[white]{red!20}}
\stoptext

\pgfutil@definecolor如上所述这里出现编译错误。

答案1

在 context 邮件列表中进行一番挖掘后,发现了这种似乎可以进行颜色混合的语法。但确切的规则有点不清楚,最好在 context 邮件列表中询问此语法是否仍受支持以及在哪里有文档说明:

\setupcolors[state=start]
\usemodule[tikz]

\definecolor[ColorA] [1.0(red)]
\definecolor[myred02][0.8(ColorA,white)] % 
\starttext
\tikz\node[fill=red!20]{abc};

\framed[background=color, backgroundcolor=myred02]
        {\color[white]{red!20} }
\stoptext

在此处输入图片描述

答案2

来自ConTeXt 颜色手册: 您可以使用

\enabledirectives[colors.pgf]

\definecolor[pgfcolora][red!50!blue]

\starttext
\framed[background=color, backgroundcolor=pgfcolora]
        {\color[white]{red!20} }
\stoptext

彩色

相关内容