使用 ModernCV 生成 StackOverflow 图标时出现问题

使用 ModernCV 生成 StackOverflow 图标时出现问题

我正在尝试使用\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,通过fontawesome5academicons包,如果您使用 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 图像。

相关内容