我正在尝试使用\social
带有 stackoverflow 徽标的 ModernCV 工具。
下列的此建议之后,我将此版本的 moderncv.cls 上传到我的项目:http://tug.ctan.org/tex-archive/macros/latex/contrib/moderncv/moderncv.cls。
我添加了堆栈溢出将徽标作为 jpg 图像标题添加到我的项目中SO.jpg
。
我尝试将以下内容添加到 cls 文件的第 270 行,就在以下行之前\collectionnew{socials}
:
\newcommand*{\stackoverflowsocialsymbol} {\includegraphics[width=0.33cm]{SO.jpg}~}
我还尝试替换原来的第 335\newcommand*{\stackoverflowsocialsymbol}{}
行\newcommand*{\stackoverflowsocialsymbol} {\includegraphics[width=0.33cm]{SO.jpg}~}
。
我做错了什么?我正在使用 Overleaf。
下面是我的示例 tex 文件:
\documentclass[12pt,a4paper,roman]{moderncv}
\moderncvstyle{classic}
\moderncvcolor{black}
\firstname{kilo}
\familyname{Joules}
\social[linkedin]{kilojoules}
\social[stackoverflow][stackoverflow.com/users/3474956/kilojoules]{kilojoules}
\begin{document}
\makecvtitle
The LinkedIn icon shows up fine, but the StackOverflow icon is missing.
\end{document}
答案1
解决方法:在 Overleaf 中,请将“编译器”更改为“XeLaTeX”。(点击左上角的 Overleaf 菜单,更改“设置”下的选择即可。)
moderncv
包括内置符号两个都堆栈溢出和GoogleScholar,通过fontawesome5
和academicons
包,如果您使用 LuaTex 或 XeTeX 进行编译。(附注:fontawesome5
也可以与 pdflatex 配合使用,但academicons
需要 Xe/LuaTeX。)
不幸的是,如果您使用 pdfLatex 进行编译,它使用不同的方法来定义图标(参见文件moderncviconsmarvosym.sty
)。对于 LinkedIn,该文件以 Tikz 绘图的形式包含 LinkedIn 图标的渲染,但该文件中找不到 SO 或 GoogleScholar 的类似物。
编辑 .cls 文件没有任何作用的原因在于,对于内置符号,它们是\renewcommand
在加载过程的稍后阶段(当您发出时\moderncvstyle{...}
)进行的,因此更改中的定义moderncv.cls
没有帮助(因为它们会在中被重写moderncviconsmarvosym.sty
)。
如果你想使用 pdflatex,你实际上应该包含以下行
\renewcommand*{\stackoverflowsocialsymbol}{\includegraphics[width=0.33cm]{SO.jpg}~}
在里面前言您的.tex
文件,后你调用\moderncvstyle
。这样它将覆盖内置并使用你下载的 jpeg 图像。