未使用的 documentclass 选项如何影响其他包?

未使用的 documentclass 选项如何影响其他包?

这是对我的这个问题关于套印。

显然,我并不像我希望的那样理解全局选项是如何从类传递到包的。这

\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}

工作正常(如果我添加了来自其他链接问题的补丁)。现在,我的实际 documentclass 有一个cmyk设置各种颜色要求的选项,但如果我将 documentclass 更改为 \documentclass[cmyk]{article},文档将不再编译并显示模糊的错误消息Paragraph ended before \c@lor@@cmyk was complete.如果我稍微改变实际代码,我还可以触发Argument of \c@lor@@cmyk has an extra }.

这让我很困惑。我意识到全局cmyk选项会传递给包,但实际上它们colorspacetikz没有cmyk选项。(手动将其添加到任一包时,我都会收到Unknown option cmyk for package错误消息。

那么,这个全局选项是如何影响内部事物的呢?

答案1

texdoc colorspace使用命令行打开 colorspace 手册。在第 1 页的第一行,你会看到这样一句话:

它需要 xcolor,如果之前没有加载的话,现在就会加载。

打开 xcolor 手册。第 7 页列出了其选项 (!)。查找:»cmyk«。

colorspace 加载 xcolor,xcolor 读取全局选项 cmyk。这回答了你的问题吗?

相关内容