# How can an unused documentclass option affect other packages?

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?

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