如何使用 xcolor 包的 `named` 关键字

如何使用 xcolor 包的 `named` 关键字
  1. 我何时以及为何要使用包named的关键字xcolor

    具体来说,请考虑以下场景。假设我MyNewCol使用之前定义过的颜色 来定义一种新颜色MyOldCol。我应该将什么指定为模型named??

    \definecolor{我的新Col}{模型}{我的旧Col}

  2. 根据大卫·卡莱尔的回答

    named是颜色模型,如rgbcmyk

    但是rgbcmyk(以及除之外的所有其他颜色模型named)具有固定的值域,例如在的情况下,rgb域为 [0,1]^3,而在的情况下,cmyk域为 [0,1]^4。 指定模型的固定值域是什么?

    以下说法正确吗?

    该模型的规格named包括第 4.1 节中列出的所有基本颜色手册xcolor,并且,如果指定了一个或多个包选项dvipsnamessvgnamesx11names那么另外还会指定手册第 4.2-4.4 节中相应列表中指定的所有颜色名称。

答案1

这来自color包,named是一个颜色模型,rgb问题cmyk不在于用户是否通过名称访问定义,而在于颜色是否由名称而不是后端的数值定义。例如,使用 latex+dvips,后端驱动程序知道一种颜色,GreenYellow而 latex 可以通过命名的颜色模型使用该颜色,而无需任何有关该颜色的信息。(是的,{cmyk}{0.15,0,0.69,0}但您只需要知道,如果GreenYellow为某些没有内置此名称的系统定义。)

答案2

1)...\definecolor没有根据先前定义的颜色来定义颜色,您是在考虑吗\colorlet

2) 我没有意识到\definecolor不能与先前定义的颜色一起使用。这是难题的一个重要部分。

实际上,\definecolor 允许您使用模型进行引用named— 不仅包括基色的名称(以及由包选项启用的任何其他颜色),还包括您已使用其他\definecolor命令定义的任何命名颜色。请参阅下面的 MWE 及其输出。

\documentclass{article}
\usepackage{xcolor}
\definecolor{mycolor}{rgb}{1,0,0}
\definecolor{anothercolor}{named}{mycolor}
\begin{document}
\noindent
\textcolor{mycolor}{This is \texttt{mycolor}.}\\
\textcolor{anothercolor}{This is \texttt{anothercolor}.}
\end{document}

在此处输入图片描述

相关内容