避免 xcolor 包的选项冲突

避免 xcolor 包的选项冲突

我查看了有关 xcolor 包选项冲突的其他问题,但无济于事。尝试将 xcolor 放在 hyperref 和 tikz 之前,尝试将选项 [usenames, dvispsnames] 添加到 documentclass,但仍然出现错误。它似乎总是在第 14 行找到错误,无论第 14 行是什么。

我该如何解决?

以下是 MWE:

\documentclass[letterpaper, usenames, dvipsnames]{article}

\usepackage{graphicx}
\usepackage{float}
\usepackage[letterpaper, top=1.125in, bottom=1.125in, left=0.75in, right=0.75in, footskip=0.00in]{geometry}
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{pxfonts}
\usepackage[usenames, dvipsnames]{xcolor}
\usepackage[toc, page]{appendix}
\usepackage[printwatermark]{xwatermark}
\usepackage{tikz}
\usepackage{hyperref}
% Make the links blue, to follow the Web convention. Using xcolor syntax, internal links will be
% 70 % blue, the remainder black, and URLs 80 % blue (brighter)
\hypersetup{colorlinks, linkcolor={blue!70!black}, citecolor={blue!50!black}, urlcolor={blue!80!black}}


\DeclareGraphicsExtensions{.png,.pdf,.jpg,.mps}


% Setup Draft watermark %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newsavebox\mybox
\savebox\mybox{\tikz[color=red,opacity=0.3]\node{DRAFT};}
\newwatermark*[allpages, angle=45, scale=6, xpos=-20, ypos=15]{\usebox\mybox}


\begin{document}
Test
\end{document}

答案1

代替

\usepackage[usenames, dvipsnames]{xcolor}

\PassOptionsToPackage{usenames,dvipsnames}{xcolor}

然后tikz加载包。

或者将任何tikz想要的选项添加到您加载的选项中xcolor。例如,

\usepackage[usenames,dvipsnames,rgb]{xcolor}

答案2

这种奇怪的行为是由 包添加的catoptions,由 加载xwatermark。在普通 LaTeX 中,使用不同选项多次加载包不会出错,只要第一次加载的包已经包含所有选项的超集即可。LaTeX 不会两次加载包文件(\newcommand其他操作将不起作用),但会检查是否有第一次加载时不存在的新选项,并抛出错误消息。

最好的解决方法似乎是\PassOptionsToPackage,参见回答缺席。

相关内容