hyperref(与 dvipsnames)和 pdfpages 不兼容吗?

hyperref(与 dvipsnames)和 pdfpages 不兼容吗?

我喜欢使用自定义颜色的超链接

\usepackage[dvipsnames]{xcolor}
\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    linkcolor=NavyBlue,
    filecolor=magenta,
    urlcolor=cyan,
    citecolor=MidnightBlue
}

并使用 插入多页 pdf 文档\usepackage{pdfpages}。当只使用其中一个包时,它可以正常工作(没有错误)。

但是,当我包含这两个包时,出现以下错误:

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.7 \usepackage
               {hyperref}
The package xcolor has already been loaded with options:
  []
There has now been an attempt to load it with options
  [dvipsnames]
Adding the global options:
  ,dvipsnames
to your \documentclass declaration may fix this.
Try typing  <return>  to proceed.

我还有多个其他包,简单地添加并\documentclass[xcolor={dvipsnames}]{article}不能解决问题,反而会导致更多错误。

hyperref是什么原因造成的?是否有其他包或方法可以插入与兼容的 PDF 文档xcolor=dvipsnames

答案1

您报告的错误与 hyperref 无关。您肯定遇到过这种情况

\usepackage{pdfpages}
\usepackage[dvipsnames]{xcolor}

要解决这个问题

\usepackage[dvipsnames]{xcolor}
\usepackage{pdfpages}

因为其他包可能会在序言中尽早xcolor加载。\usepackage[dvipsnames]{xcolor}

答案2

它通过添加\PassOptionsToPackage{dvipsnames}{xcolor}\usepackage{pdfpages}后来\usepackage[dvipsnames]{xcolor}工作\usepackage{hyperref};该解决方案基于 Ulrike Fischer 的评论。

像这样:

\usepackage[dvipsnames]{xcolor}
\usepackage{hyperref}
\hypersetup{...}

\PassOptionsToPackage{dvipsnames}{xcolor}
\usepackage{pdfpages}

相关内容