由于我正在使用 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}
运行xelatex
或lualatex
FontAwesome 的 otf 版本保存在 TeXLive 路径中,默认情况下不会被搜索xetex
。luatex
使用自己的字体处理并会找到该文件。可以对其进行测试:
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 的 XML 文件复制到
~/.fonts.conf
(而不是~/fontconfig/fonts.conf
按照建议的); - 运行
fc-cache -fv
(需要一段时间); - 使用以下方法编译 Herbert 的示例文档
lualatex
(需要一段时间); - 如果您正在使用
latexmk
,您可以设置标志-pdflatex=lualatex
来改用LuaLaTeX。
但是,如果您需要更新软件包的升级版本(使用更新的符号),这还不够。就我而言,安装的 TexLive 版本是 2015,因此我不得不从头开始安装最新版本(2017)。您可以找到安装程序这里。