如何在 moderncv 中使用 fontawesome-package?

如何在 moderncv 中使用 fontawesome-package?

由于我正在使用 moderncv 制作简历,我想知道是否可以更改标题中使用的图标。这些图标来自 marvosym 包。正如这个问题所指出的moderncv - 非 marvosym 符号,您可以使用 fontawesome-package。

\documentclass{article}
\usepackage{fontawesome}

\begin{document}
\faTwitter

\faLinkedin

\faLinkedinSign
\end{document}

看起来简单,但不幸的是,即使使用 xelatex 或 lualatex 进行编译,也会收到错误消息。错误指示以下内容:

! Fatal fontspec error: "cannot-use-pdftex"
!
! The fontspec package requires either XeTeX or LuaTeX to function.
!
! You must change your typesetting engine to, e.g., "xelatex" or "lualatex"

xelatex 和 lualatex 与其他代码配合使用效果都很好。因此,我不知道问题出在哪里。不过,我真的很想使用 fontawesome-package 中的图标。

有人有想法吗?

提前非常感谢,

菲尔

答案1

我的例子:

\documentclass{moderncv}
\usepackage{fontawesome}
\firstname{H}\lastname{foo}    
\begin{document}
\faTwitter

\faLinkedin

\faLinkedinSign
\end{document}

运行xelatexlualatex

在此处输入图片描述

FontAwesome 的 otf 版本保存在 TeXLive 路径中,默认情况下不会被搜索xetexluatex使用自己的字体处理并会找到该文件。可以对其进行测试:

voss@shania:~> fc-list | grep fontawesome
/usr/local/texlive/current/texmf-dist/fonts/opentype/public/fontawesome/FontAwesome.otf: FontAwesome:style=Regular

如果没有输出,则xelatex找不到字体。在一个文件中,~/fontconfig/fonts.conf我有

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <dir>/usr/local/texlive/current/texmf-dist/fonts/opentype</dir>
 <dir>/usr/local/texlive/current/texmf-dist/fonts/truetype</dir>
 <dir>/usr/local/texlive/current/texmf-dist/fonts/type1</dir>
 <dir>/usr/local/texlive/texmf-local/fonts/opentype</dir>
 <dir>/usr/local/texlive/texmf-local/fonts/truetype</dir>
 <match target="font">
  <edit mode="assign" name="rgba">
   <const>none</const>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hinting">
   <bool>true</bool>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hintstyle">
   <const>hintmedium</const>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="antialias">
   <bool>true</bool>
  </edit>
 </match>
 <dir>~/.fonts</dir>
</fontconfig>

它还告诉fontconfig在 中搜索字体/usr/local/texlive/current/...current始终是指向当前 TL 版本的链接。创建该文件后,运行fc-cache -fv

使用 测试您的文件lualatex,如果找不到 awesome,它应该默认生成字体列表。或者luaotfload-tool --update --force在测试之前运行lualatex

答案2

只是为了分享我自己在 OSX El Capitan 上的经验,Herbert 的回答几乎解决了我的问题。另请参阅这些相关文章:

  • 这两篇帖子与 Herbert 的非常相似:
  • 档案与该问题相关

以下是我运行的结果,没有出现错误:

  • 将 Herbert 的 XML 文件复制到~/.fonts.conf(而不是~/fontconfig/fonts.conf按照建议的);
  • 运行fc-cache -fv(需要一段时间);
  • 使用以下方法编译 Herbert 的示例文档lualatex(需要一段时间);
  • 如果您正在使用latexmk,您可以设置标志-pdflatex=lualatex来改用LuaLaTeX。

但是,如果您需要更新软件包的升级版本(使用更新的符号),这还不够。就我而言,安装的 TexLive 版本是 2015,因此我不得不从头开始安装最新版本(2017)。您可以找到安装程序这里

相关内容