![避免 xcolor 包的选项冲突](https://linux22.com/image/312648/%E9%81%BF%E5%85%8D%20xcolor%20%E5%8C%85%E7%9A%84%E9%80%89%E9%A1%B9%E5%86%B2%E7%AA%81.png)
我查看了有关 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
,参见回答缺席。