该软件包有一个很好的功能,您可以在多个颜色模型中指定一种颜色。然后根据加载的xcolor
选项选择适当的颜色。xcolor
例如,我可以定义PANTONE 7740 CP在调色板文件中为:
\definecolor{PANTONE-7740-CP}{RGB/cmyk}{70,151,58/0.75,0,0.95,0.15}
然后根据我是否加载xcolor
选项rgb
或cmyk
选项,我将获得适当的颜色空间。
现在,假设我想在 CMYK 中工作,并且指定专色或套准色。例如,我可以使用包定义特殊套准色彩空间colorspace
:
\usepackage{colorspace}
\definespotcolor{registration}{All}{1,1,1,1}
但是,如果我xcolor
使用该cmyk
选项加载,则在尝试使用此注册颜色时会出现错误。
! Argument of \c@lor@@cmyk has an extra }.
<inserted text>
\par
l.9 \textcolor{registration}{Registration colour}
如果只是让其colorspace
加载xcolor
,那么就会选取我调色板中的 RGB 定义而不是 CMYK 定义,这显然不是我想要的。
有人能提出解决方案吗?
平均能量损失
在这个 MWE 中,我的测试颜色是 RGB 红色和 CMYK 青色,因此您可以轻松看到正在使用哪种颜色。
\documentclass{article}
\usepackage[cmyk]{xcolor}
\usepackage{colorspace}
\definecolor{testcolour}{RGB/cmyk}{255,0,0/1,0,0,0}
\definespotcolor{registration}{All}{1,1,1,1}
\begin{document}
\textcolor{testcolour}{Test Colour}
\textcolor{registration}{Registration colour}
\end{document}
答案1
是的,包选项cmyk
调用\selectcolormodel
,如手册中所述,它还不起作用。这是一个限制,这意味着cmyk
在定义颜色时必须明确选择 。
答案2
\selectcolormodel{natural}
对我来说,一个合适的解决方法是在将颜色设置为专色之前调用:
\documentclass{article}
\usepackage[cmyk]{xcolor}
\usepackage{colorspace}
\definecolor{testcolour}{RGB/cmyk}{255,0,0/1,0,0,0}
\selectcolormodel{natural}
\definespotcolor{registration}{All}{1,1,1,1}
\begin{document}
\textcolor{testcolour}{Test Colour}
{\selectcolormodel{natural}\textcolor{registration}{Registration colour}}
\textcolor{testcolour}{Test Colour}
\end{document}