我被要求制作一个带有 PANTONE 专色的 PDF 文件。我使用了以下代码(来自上一篇)在 XeLaTeX 中:
\documentclass{article}
\usepackage[pantone]{xespotcolor}
\NewSpotColorSpace{PANTONE}
\AddSpotColor {PANTONE} {PANTONE293C} {PANTONE\SpotSpace 293\SpotSpace C} {1 0.68 0.0 0.02}
\AddSpotColor {PANTONE} {PANTONE485C} {PANTONE\SpotSpace 485\SpotSpace C} {0 0.93 0.95 0}
\SetPageColorSpace{PANTONE}
\definecolor{PANTONE293C} {spotcolor} {PANTONE293C,1.0}
\definecolor{PANTONE485C} {spotcolor} {PANTONE485C,1.0}
\begin{document}
\color{PANTONE293C}
Test (blue)
\color{PANTONE485C}
Test (red)
\end{document}
它工作得很好。但现在我需要混合两种专色。在包中colorspace
我发现了以下代码:
\definecolorspace{mymix}{mixed}{PANTONE293C,PANTONE485C}
通常情况下,我可以使用 50%-50% 的混合比例,如下所示:
\color[mymix]{.5,.5}
但显然xespotcolor
和colorspace
不兼容,\definecolorspace
前者不知道该命令,当我加载两者时收到错误消息。
我怎样才能混合专色xespotcolor
?
答案1
这可以通过 来实现l3color
,它支持dvips
、XeTeX/dvipdfmx
和直接 PDF 输出 (pdfTeX/LuaTeX) 的色彩空间。使用最新的系统
\RequirePackage{pdfmanagement-testphase}
\DeclareDocumentMetadata{uncompress}
\RequirePackage{expl3}
\documentclass{article}
\ExplSyntaxOn
\NewDocumentCommand \definespotcolor { m m m }
{
\color_model_new:nnn {#1} { Separation }
{
name = {#2} ,
alternative-model = cmyk,
alternative-values = {#3}
}
}
\NewDocumentCommand \definecolorspace { m m m }
{
\color_model_new:nnn {#1} { DeviceN }
{
names = {#3}
}
}
\NewDocumentCommand \definecolor { m m m }
{
\color_set:nnn {#1} {#2} {#3}
}
\NewDocumentCommand \color { o m }
{
\IfNoValueTF {#1}
{ \color_select:n {#2} }
{ \color_select:nn {#1} {#2} }
}
\ExplSyntaxOff
\definespotcolor{fooA}{PANTONE 293 C}{1, 0.68, 0.0, 0.02}
\definespotcolor{fooB}{PANTONE 485 C}{0, 0.93, 0.95, 0}
\definecolor{fooA}{fooA}{1}
\definecolor{fooB}{fooB}{1}
\definecolorspace{mymix}{mixed}{fooA,fooB}
\definecolor{mix1}{mymix}{1,0}
\definecolor{mix2}{mymix}{0,1}
\definecolor{mix3}{mymix}{0.75,0.25}
\begin{document}
\color{fooA}abc%
\color{fooB}abc%
\color{mix1}abc%
\color{mix2}abc%
\color{mix3}abc
\end{document}
将得到期望的结果。