每当我用 编写简历时moderncv
, 都会给我四次警告hyperref
。它们似乎没有任何严重问题,但它们却让我烦恼。我希望我的文档在编写时没有警告。我怎样才能避免这些警告?(最好不要自行修补moderncv.cls
,我宁愿在我的每份简历中添加几行。)
梅威瑟:
\documentclass{moderncv}
\firstname{John}
\familyname{Doe}
\begin{document}
\maketitle
\cvline{always}{King of the World}
\end{document}
警告:
软件包 hyperref 警告:选项“pdfpagelabels”已关闭 (hyperref) 因为 \thepage 未定义。 软件包 hyperref 警告:选项 `baseurl' 已被使用, (hyperref) 设置该选项对输入第 6 行没有影响。 软件包 hyperref 警告:选项“pdfpagemode”已被使用, (hyperref) 设置该选项对输入第 6 行没有影响。 软件包 hyperref 警告:选项‘pdfstartpage’已被使用, (hyperref) 设置该选项对输入第 6 行没有影响。
更新:
版本 0.19(2012/02/06)moderncv
只会产生这些警告,其中后者似乎是新的:
软件包 hyperref 警告:选项“pdfpagelabels”已关闭 (hyperref) 因为 \thepage 未定义。 软件包 hyperref 警告:选项“pdfpagelabels”已被使用, (hyperref) 设置该选项对输入第 6 行没有影响。
答案1
您可以通过设置以下选项来避免第一个警告\documentclass
:
\PassOptionsToPackage{pdfpagelabels=false}{hyperref}
如果不修补 moderncv,就无法避免其他三个问题。moderncv 在 中错误地设置了一些 hyperref 选项\AtBeginDocument
。
答案2
您可以在加载类之前停用 hyperref 包的所有警告:
\RequirePackage{etoolbox}
\pretocmd\PackageWarning{%
\edef\pkgname{#1}\edef\hyperrefname{hyperref}%
\ifx\pkgname\hyperrefname
\expandafter\gobblethree
\fi
}{}{\undefined}
\newcommand*{\gobblethree}[3]{}
\documentclass{moderncv}
\firstname{John}
\familyname{Doe}
\begin{document}
\maketitle
\cvline{always}{King of the World}
\end{document}
尽管如此,moderncv
还是做了一些奇怪的事情(例如强制选择pdftex
)。
答案3
随着moderncv
,所有这些警告都消失了。如果您仍然收到它们,请更新您的moderncv
!
更新日志:
版本 1.1.3(2012 年 8 月 10 日) - 纠正了导致 hyperref 对其“pdfpagelabels”选项发出两个警告的长期问题,正如 P. Leifeld 指出并解决的那样(启动板错误 #1035466)。
最小代码要求似乎也发生了变化,现在您需要声明一个\moderncvstyle
;\maketitle
现在被称为,但这对于 MWE 来说不是必需的(我不记得它是否更早或者我是否将它放在那里以便于查看)。\makecvtitle
\documentclass{moderncv}
\moderncvstyle{casual}
\firstname{John}
\familyname{Doe}
\begin{document}
%\makecvtitle
\cvline{always}{King of the World}
\end{document}
答案4
(有点晚了,但对某些人可能仍然有帮助......)
使用最新版本(1.0,2012 年 3 月发布)的moderncv
来自CTAN删除了除第一个警告之外的所有警告。
由于某种原因,设置pdfpagelabels
选项\PassOptionsToPackage
对我来说不起作用。我最终决定使用silence
包裹要消除hyperref
包中的所有警告,请在之前放置以下代码\documentclass
:
\RequirePackage[]{silence}
\WarningsOff[hyperref]
它并不完美,但我认为它是可以接受的,直到moderncv
能够更好地与他人相处融洽......