.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
感谢上帝,问题已经解决!