使用包xespotcolor
,我可以用 定义和使用专色XeLaTeX
。即使与 一起使用,也可以正常工作tikz
。
然而,当我尝试使用专色时,我遇到了麻烦外化tikz 图片。pdf
为图片生成的文件已损坏,因此,在包含图片(第二次 tex 运行)之后,最终的 pdf 文件也已损坏。
我已将问题追溯到图片 pdf 中缺少颜色空间定义。pdf 中应该有如下代码
/ColorSpace <<
/PANTONE285C [
/Separation
/PANTONE#20285#20C
/DeviceCMYK
632 0 R
]
>>
但是没有。似乎在生成图片pdf时tikzexternalize
跳过了生成的输出。xespotcolor
有没有办法强制tikzexternalize
在生成图片 pdf 时不跳过某些内容?或者在每个图片 pdf 中包含特定代码?我需要像钩子这样的东西。
最小非工作示例——通过编译它xelatex --shell-escape [filename]
会产生损坏的图形 pdf,其中缺少颜色空间定义。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\RequirePackage[xcolor]{xespotcolor}
\NewSpotColorSpace{PANTONE}
\AddSpotColor{PANTONE}{PANTONE285C}{PANTONE\SpotSpace 285\SpotSpace C} {1 .45 0 0.19}
\SetPageColorSpace{PANTONE}
\definecolor{myblue}{spotcolor}{PANTONE285C,1.0}
\begin{document}
\begin{tikzpicture}
\draw [myblue] (0,0) -- (2,0);
\end{tikzpicture}
\end{document}
答案1
我可以用 texlive 2019 重现你的问题。
但是在 texlive 2020 和新的 LaTeX 2020-10-01 以及使用新 LaTeX 挂钩的新 everypage 中,pdf 很好,并且色彩空间就在那里。