如何修复“软件包 hyperref 错误:错误的 DVI 模式驱动程序选项‘dvips’”?

如何修复“软件包 hyperref 错误:错误的 DVI 模式驱动程序选项‘dvips’”?

.tex当我尝试使用以下命令编译文件时出现此错误xelatex

! Package hyperref Error: Wrong DVI mode driver option `dvips',
(hyperref)                because XeTeX is running.

See the hyperref package documentation for explanation.

这是我的 LaTeX 标题

\documentclass[10pt, a4paper, dvips,]{moderncv}

\moderncvtheme[grey, roman]{classic}

\usepackage{ifxetex}
\ifxetex % only for xelatex
\usepackage{xltxtra} % this should load both fontspec & xunicode
\usepackage{fontspec}
\setromanfont{Helvetica Neue}
\else %
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi % \ifxetex

有任何想法吗?

编辑:

我删除了‘dvips’,现在我得到:

! Package hyperref Error: Wrong driver option `pdftex',
(hyperref)                because pdfTeX in PDF mode is not detected.

See the hyperref package documentation for explanation.

现在我的第一条乳胶线

\documentclass[10pt, a4paper]{moderncv}

有什么线索吗?

答案1

不要dvips为类(和任何包)使用该选项。它将像所有类选项一样传递给每个包,并告诉它们应该使用 DVIPS 模式或驱动程序。然而,你显然使用了使用不同驱动程序的 XeLaTeX。

无论如何,您都不应该明确说明驱动程序。如今,软件包应该能够自行确定正确的驱动程序,手动说明错误的驱动程序会导致此类错误。

答案2

我有这个版本:

moderncv.cls    2011/12/23 v0.15.1 modern curriculum vitae document class

并且不会出现与驱动程序相关的问题。

答案3

我也遇到了同样的问题,因为我用的是XeLaTeX。原始的.cls 写着:如果 dvips 失败,则转向 dvipdfm。所以我要添加第三个选项,当 dvipdfm 也失败时,它转向 xetex。

\ifTWXJZ@dvips   \TWXJZ@dvipsfalse
    \DeclareOption{dvips}{\TWXJZ@dvipstrue} \DeclareOption{dvipdfm}
{\TWXJZ@dvipsfalse}
    \DeclareOption{xetex}{\TWXJZ@dvipsfalse} % I added this sentence

以下是我提出的第三种选择:

\ifpdf   % We're running pdfTeX in PDF mode
  \RequirePackage[pdftex]{hyperref}
\else    % We're not running pdfTeX, or running pdfTeX in DVI mode
  \ifTWXJZ@dvips
     \RequirePackage[dvips]{hyperref}
  \else
    %\RequirePackage[dvipdfm]{hyperref}    % this is the original description, which I'd prefer to modify as below:
     \if\RequirePackage[dvipdfm]{hyperref} % I added
     \else                                 % I added
        \RequirePackage[xetex]{hyperref}   % I added

感谢上帝,问题已经解决!

相关内容