我知道这个消息的一般含义(“不要在包名称中添加路径名”),我的问题不是重复的您请求了包“include/foo”,但该包提供了“foo”,其中两个名称不同(路径名不同)。 在我的例子中,包名称实际上是相同的(两种情况下都没有路径名)!
我正在使用 MiKTeX 2.9,并进行了最新更新(我刷新了 FNDB)。使用最新moderncv
软件包(版本 2.0),MWE,我得到了以下信息:
\documentclass{moderncv}
\moderncvtheme{classic}
\name{Foo}{Bar}
\begin{document}
\end{document}
我在哪里
You have requested package `moderncvheadi', but the package provides `moderncvheadi'.
You have requested package `moderncvbodyi', but the package provides `moderncvbodyi'.
在这种情况下,什么会触发此警告?我该如何解决?这是错误吗moderncv
?官方来源https://github.com/xdanaux/moderncv我觉得不错。
答案1
这是类中的一个错误,看起来像是 github 日志中的最近更改,无法在这里测试,没有 tex,但是由构建的包名称
\expandafter moderncv\romannumeral
它没有做正确的事情\expandafter
,所以你可以忽略警告,直到它被修复。
第 315 至 333 行moderncv.cls
应改为
% loads a header variant
% usage: \moderncvhead[<optional head option>]{<header variant number>}
\newcommand*{\moderncvhead}[2][]{%
\begingroup\edef\x{\endgroup
\noexpand\RequirePackage[#1]{moderncvhead\ifcase#2\or i\or ii\or iii\or iv\or v\fi}%
}\x
}
% loads a body variant
% usage: \moderncvbody[<optional body option>]{<body variant number>}
\newcommand*{\moderncvbody}[2][]{%
\begingroup\edef\x{\endgroup
\noexpand\RequirePackage[#1]{moderncvbody\ifcase#2\or i\or ii\or iii\or iv\or v\fi}%
}\x
}
% loads a footer variant
% usage: \moderncvfoot{<footer variant number>}
\newcommand*{\moderncvfoot}[1]{%
\begingroup\edef\x{\endgroup
\noexpand\RequirePackage{moderncvfoot\ifcase#1\or i\or ii\or iii\or iv\or v\fi}%
}\x
}
但是无法在文档中添加此代码,因为宏已被类本身使用。
答案2
该错误已在 GitHub repo 中修复,但尚未在 CTAN 上修复(截至 2019-04-03):https://www.ctan.org/pkg/moderncv版本:2.0.0 日期:2015-07-28