2

This is a sort of followup on this question of mine about overprinting.

Apparantly, I don't understand how global options are passed from classes to packages as well as I hoped I did. This

\documentclass{article}

\usepackage[overprint]{colorspace}
\usepackage{tikz}

%% Patch from other question removed, not relevant for this
%% actual problem.

\definespotcolor{spotcolor}{Spotcolor}{0,1,0,0}

\newcommand{\colbg}{spotcolor!10}

\begin{document}

\begin{tikzpicture}
    \draw[fill=\colbg] (0,0) rectangle (10,4);
    \fill[spotcolor!70] (4,2) rectangle (6,1);
    \draw[fill=spotcolor] (2,2) rectangle (3,3);
    \draw[fill=spotcolor!20] (9,2) rectangle (7,3);
    \node at (5,3) { Text };
\end{tikzpicture}

\end{document}

works as expected (if I add in the patch from the other linked question). Now, my actual documentclass has a cmyk option for setting up various color requirements, but if I change the documentclass to \documentclass[cmyk]{article}, the document no longer compiles with an obscure error message Paragraph ended before \c@lor@@cmyk was complete. If I vary the actual code a little, I can also trigger a Argument of \c@lor@@cmyk has an extra }.

This has me really confused. I realize that the global cmyk option gets passed down to the packages, but neither colorspace nor tikz actually has a cmyk option. (Adding it manually to either package, I get a Unknown option cmyk for package error message.

So, how then can that global option mess with something internally?

mrf
  • 904

1 Answers1

2

Open the manual of colorspace with texdoc colorspaceon the command line. On p. 1 in the first line you see this sentence:

It requires xcolor, which is loaded if it has not been before.

Open the xcolor manual. On p. 7 its options (!) are listed. Finding: »cmyk«.

colorspace loads xcolor, xcolor reads the global option cmyk. Does this answer your question?

Keks Dose
  • 30,892