使用 moderncv 时没有生成 pdf(很可能是因为特殊图标)

使用 moderncv 时没有生成 pdf(很可能是因为特殊图标)

我正在尝试使用现代 CV 写简历。我遇到的问题与解决的问题出奇地相似这里。我尝试了那里建议的解决方案,但无济于事,因此写了这篇文章。以下是我正在尝试编译的内容:

\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{casual} 
\moderncvcolor{blue}
\setlength{\hintscolumnwidth}{2cm} 
\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}
\usepackage{helvet}
\usepackage[french]{babel}
\name{Pierre}{Gibberish}
\phone{0000000000}
\email{[email protected]}

\begin{document}

\makecvtitle

\end{document}

我尝试编译时收到的警告如下:

  • 您请求了 modercvheadii 包,但是该包提供了 modercvheadii
  • 您请求了 modercvbodyi 包,但是该包提供了 modercvbodyi
  • 你已经请求了软件包modercvfooti但是软件包提供了modercvfooti
  • 段落第 15-15 行的 \hbox 未满(badness 10000)
  • 字体形状 U/fontawesometwo/m/sl' 未定义,在输入行 17 中改用 U/fontawesometwo/m/n'。
  • 某些字体形状不可用,因此用默认字体形状代替。

我尝试了 \maketitle 和 \makecvtitle,它们都显示相同的错误。如果我省略 \maketitle,它就会运行,并且只会生成一个包含我在其后输入的内容的 pdf。

我怀疑这与地址行上的特殊图标有关,例如移动或电子邮件图标(这是我上面链接的帖子中的问题),但正如我所说,修复似乎不起作用。

我正在使用 Texmaker 和最新的 Miktex。有人能帮忙吗?

答案1

使用 XeLaTeX 编译文件。它运行顺利。使用 pdflatex 时,我遇到了与您相同的错误。

edit:// moderncvgithub 上的软件包 2.0.0 版本提供了几个模板。classic模板使用不同的图标集,如 *.sty 文件中所示(参见这里

% symbols
\moderncvicons{marvosym}

主题casual使用

% symbols
\moderncvicons{awesome}

在项目中更新日志您可以注意以下几点:

版本 1.5.1(2013 年 4 月 29 日) - 在加载出色的图标集之前,确保使用了 XeLaTeX 或 LuaLaTeX,如果没有,则恢复为 marvosym 图标集。

版本 1.5.0(2013 年 4 月 23 日)[...] - 添加了一组新图标:“awesome”(使用 Font Awesome 字体中的图标)。

我猜想 1.5.1 中描述的“回退”方法在新版本中不再起作用。因此,XeLatex由于没有回退加载与pdflatex

答案2

您提到您遇到了问题。您说得对,您确实收到了几个警告,但最终它们都不是真正的问题,因为您得到的是一个 pdf 文件,唯一的区别可能是电话、信封等特殊符号的字形。

但是让我们检查一下警告。前三个是:

  • 您请求了 modercvheadii 包,但是该包提供了 modercvheadii
  • 您请求了 modercvbodyi 包,但是该包提供了 modercvbodyi
  • 你已经请求了软件包modercvfooti但是软件包提供了modercvfooti

此警告是由当前类中的错误引起的moderncv,必须由类作者进行更正。据我记得(但我现在找不到答案)有一个问题,@egreg 回答了如何避免这些警告。但无论有没有这些警告,生成的 pdf 都是相同的。

下一个警告是:

  • 段落第 15-15 行的 \hbox 未满(badness 10000)

第 15 行是包含命令的行\makecvtitle。这意味着此命令或宏中写入了导致此警告的内容。要消除此警告,作者应更改宏的代码\makecvtitle,但框未满通常不会造成任何损害。在这种情况下,您可以忽略它。

最后两个警告是:

  • 字体形状 U/fontawesometwo/m/sl' 未定义,在输入行 17 中改用 U/fontawesometwo/m/n'。
  • 某些字体形状不可用,因此用默认字体形状代替。

您收到此警告是因为您使用 编译了 MWE pdflatex,但类中使用的字体在 中不可用pdflatex。因此 LaTeX 更改了字体形状。

要消除此警告,请添加以下行(@hatetheplot 的答案中提到)

\moderncvicons{marvosym} 

建议\begin{document}LaTeX 使用可用的字体。不同之处在于电话、电子邮件等所用符号的布局。

所以最后这是您的代码中唯一真正存在的“问题”。

梅威瑟:

\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{casual} 
\moderncvcolor{blue}
\setlength{\hintscolumnwidth}{2cm} 
\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}
\usepackage{helvet}
\usepackage[french]{babel}
\name{Pierre}{Gibberish}
\phone{0000000000}
\email{[email protected]}

\moderncvicons{marvosym} % font runs with pdflatex without warning

\begin{document}

\makecvtitle

\end{document}

结果为marvosym

在此处输入图片描述

并且没有添加行:

在此处输入图片描述

相关内容