3

I'm trying to add the ORCiD logo to the moderncv using \moderncvstyle{classic}, but I always get an error.

For the symbol itself, I tried using academicons package described here: Is there a standard way to include ORCID in TeX / PDF? and also using tikz following the steps here: IEEEtran - How to include ORCID in TeX/PDF with PdfLatex

Then, I just got the example from this answer: https://tex.stackexchange.com/a/464850/143252 and noted that by just changing the model from banking to classic, it already gives the error:

./test_cv.tex:60: Argument of \@firstoftwo has an extra }. <inserted text> \par l.60 \makecvtitle

Here is the code that works with \moderncvstyle{banking} but not with \moderncvstyle{classic}:

\documentclass[11pt,a4paper,sans]{moderncv}

% moderncv themes
\moderncvstyle{classic} % casual, classic, banking, oldstyle and fancy
\moderncvcolor{blue} 

\usepackage[utf8]{inputenc}

\usepackage[scale=0.75]{geometry}

% makes a https hyperlink
% usage: \httpslink[optional text]{link}
\newcommand*{\httpslink}[2][]{% <=======================================
  \ifthenelse{\equal{#1}{}}%
    {\href{https://#2}{#2}}%
    {\href{https://#2}{#1}}}

\newcommand*{\googlescholarsocialsymbol}  {\includegraphics[width=0.5cm]{example-image-a}~} % <===================
\newcommand*{\researchgatesocialsymbol}  {\includegraphics[width=0.5cm]{example-image-b}~} % <===================
\newcommand*{\testsocialsymbol}  {\includegraphics[width=0.5cm]{example-image-c}~} % <===================

\makeatletter
\RenewDocumentCommand{\social}{O{}O{}m}{%
  \ifthenelse{\equal{#2}{}}%
    { 
    \ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httpslink[#3]{www.linkedin.com/in/#3}}}{}%
    \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{www.googlescholar.com/profile/#3}}}{}% <================================================================
    \ifthenelse{\equal{#1}{researchgate}}{\collectionadd[researchgate]{socials}{\protect\httpslink[#3]{www.researchgate.com/profile/#3}}}{}% <================================================================
      \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{www.twitter.com/#3}}}    {}%
      \ifthenelse{\equal{#1}{github}}  {\collectionadd[github]{socials}  {\protect\httpslink[#3]{www.github.com/#3}}}     {}%
    }
    {\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}
\makeatother



% personal data
\name{John}{Doe}
\title{Resumé title}
\address{street and number}{postcode city}{country}
\phone[mobile]{+1~(234)~567~890}
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{john@doe.org}
\homepage{www.johndoe.com}
\social[linkedin]{john.doe}
\social[twitter]{jdoe}
\social[github]{jdoe}
\social[googlescholar]{john.doe} % <====================================
\social[researchgate]{john.doe} % <=====================================
\social[test][www.test.com/profile/john.doe]{john.doe} % <=====================================
\extrainfo{additional information}
\quote{Some quote}

\setlength{\footskip}{66pt} 


\begin{document}

\makecvtitle

\section{Education}
\cventry{year--year}{Degree}{Institution--3}{City--4}{\textit{Grade}--5}{Description--6}  % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}

\section{Master thesis}
\cvitem{title}{\emph{Title}}
\cvitem{supervisors}{Supervisors}
\cvitem{description}{Short thesis abstract}

\section{Experience}
\subsection{Vocational}
\cventry{year--year}{Job title}{Employer}{City}{}{General description 
  no longer than 1--2 lines.\newline{}%
Detailed achievements:%
\begin{itemize}%
\item Achievement 1;
\item Achievement 2, with sub-achievements:
  \begin{itemize}%
  \item Sub-achievement (a);
  \item Sub-achievement (b), with sub-sub-achievements (don't do this!);
    \begin{itemize}
    \item Sub-sub-achievement i;
    \item Sub-sub-achievement ii;
    \item Sub-sub-achievement iii;
    \end{itemize}
  \item Sub-achievement (c);
  \end{itemize}
\item Achievement 3.
\end{itemize}}
\cventry{year--year}{Job title}{Employer}{City}{}{Description 
  line 1\newline{}Description line 2}
\subsection{Miscellaneous}
\cventry{year--year}{Job title}{Employer}{City}{}{Description}

\section{Languages}
\cvitemwithcomment{Language 1}{Skill level}{Comment}
\cvitemwithcomment{\textbf{Language} 2}{\textbf{Skill} level}{Comment}
\cvitemwithcomment{Language 3}{Skill level}{Comment}

\section{Computer skills}
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}

\section{Interests}
\cvitem{hobby 1}{Description}
\cvitem{hobby 2}{Description}
\cvitem{hobby 3}{Description}

\section{Extra 1}
\cvlistitem{Item 1}
\cvlistitem{Item 2}
\cvlistitem{Item 3. This item is particularly long and therefore 
  normally spans over several lines. Did you notice the indentation 
  when the line wraps?}

\section{Extra 2}
\cvlistdoubleitem{Item 1}{Item 4}
\cvlistdoubleitem{Item 2}{Item 5}
\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}

\section{References}
\begin{cvcolumns}
  \cvcolumn{Category 1}{\begin{itemize}\item Person 1\item Person 2\item Person 3\end{itemize}}
  \cvcolumn{Category 2}{Amongst others:\begin{itemize}\item Person 1, and\item Person 2\end{itemize}(more upon request)}
  \cvcolumn[0.5]{All the rest \& some more}{\textit{That} person, and \textbf{those} also (all available upon request).}
\end{cvcolumns}

\end{document} 
1

Well, that is an old answer of me you are trying ... Glad to see that ...

For the symbol for Orcid you need to use package academicons. Because this package already contains pretty symbols for GoogleScholar and ResearchGate you should better use the following commands for the symbols

\newcommand*\orcidsocialsymbol{{\aiOrcid}~} % <=========================
\newcommand*\googlescholarsocialsymbol{{\aiGoogleScholar}~} % <========= \aiGoogleScholarSquare
\newcommand*\researchgatesocialsymbol{{\aiResearchGate}~}   % <========= \aiResearchGateSquare

and then you can use the following redefinement:

\RenewDocumentCommand{\social}{O{}O{}m}{%
  \ifthenelse{\equal{#2}{}}%
    { 
      \ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httpslink[#3]{www.linkedin.com/in/#3}}}{}%
      \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{www.twitter.com/#3}}}    {}%
      \ifthenelse{\equal{#1}{github}}  {\collectionadd[github]{socials}  {\protect\httpslink[#3]{www.github.com/#3}}}     {}%
      \ifthenelse{\equal{#1}{orcid}}   {\collectionadd[orcid]{socials}  {\protect\httpslink[#3]{orcid.org/#3}}}     {}%
      \ifthenelse{\equal{#1}{googlescholar}}   {\collectionadd[googlescholar]{socials}  {\protect\httpslink[#3]{www.googlescholar.com/profile/#3}}}     {}% <======================
      \ifthenelse{\equal{#1}{researchgate}}   {\collectionadd[researchgate]{socials}  {\protect\httpslink[#3]{www.researchgate.com/profile/#3}}}     {}% <==========================
    }
    {\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}

With XeLaTeX you can compile this without errors, with LuaLaTeX you will get 100 warnings about using microtype, called in class moderncv ... So I used XeLaTeX for the following MWE

\documentclass[11pt,a4paper,sans]{moderncv}

% moderncv themes
\moderncvstyle{classic} % casual, classic, banking, oldstyle and fancy % head 1, body 1      moderncvcollection moderncviconsmarvosym
\moderncvcolor{blue} 

%\usepackage[utf8]{inputenc} % <============= not needed with lualatex or xelatex

\usepackage[scale=0.75]{geometry}

\usepackage{academicons} % <=============== needs lualatex or xelatex

% makes a https hyperlink
% usage: \httpslink[optional text]{link}
\newcommand*{\httpslink}[2][]{% <=======================================
  \ifthenelse{\equal{#1}{}}%
    {\href{https://#2}{#2}}%
    {\href{https://#2}{#1}}}

\newcommand*\orcidsocialsymbol{{\aiOrcid}~} % <=========================
\newcommand*\googlescholarsocialsymbol{{\aiGoogleScholar}~} % <========= \aiGoogleScholarSquare
\newcommand*\researchgatesocialsymbol{{\aiResearchGate}~}   % <========= \aiResearchGateSquare

\RenewDocumentCommand{\social}{O{}O{}m}{%
  \ifthenelse{\equal{#2}{}}%
    { 
      \ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httpslink[#3]{www.linkedin.com/in/#3}}}{}%
      \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{www.twitter.com/#3}}}    {}%
      \ifthenelse{\equal{#1}{github}}  {\collectionadd[github]{socials}  {\protect\httpslink[#3]{www.github.com/#3}}}     {}%
      \ifthenelse{\equal{#1}{orcid}}   {\collectionadd[orcid]{socials}  {\protect\httpslink[#3]{orcid.org/#3}}}     {}%
      \ifthenelse{\equal{#1}{googlescholar}}   {\collectionadd[googlescholar]{socials}  {\protect\httpslink[#3]{www.googlescholar.com/profile/#3}}}     {}% <======================
      \ifthenelse{\equal{#1}{researchgate}}   {\collectionadd[researchgate]{socials}  {\protect\httpslink[#3]{www.researchgate.com/profile/#3}}}     {}% <==========================
    }
    {\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}


% personal data
\name{John}{Doe}
\title{Resumé title}
\address{street and number}{postcode city}{country}
\phone[mobile]{+1~(234)~567~890}
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{john@doe.org}
\homepage{www.johndoe.com}
\social[linkedin]{john.doe}
\social[twitter]{jdoe}
\social[github]{jdoe}
\social[orcid]{0000-0000-0000-0000}
\social[googlescholar]{john.doe}
\social[researchgate]{john.doe}
\extrainfo{additional information}
\quote{Some quote}

\setlength{\footskip}{66pt} 


\begin{document}

\makecvtitle

\section{Education}
\cventry{year--year}{Degree}{Institution--3}{City--4}{\textit{Grade}--5}{Description--6}  % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}

\section{Master thesis}
\cvitem{title}{\emph{Title}}
\cvitem{supervisors}{Supervisors}
\cvitem{description}{Short thesis abstract}

\section{Experience}
\subsection{Vocational}
\cventry{year--year}{Job title}{Employer}{City}{}{General description 
  no longer than 1--2 lines.\newline{}%
Detailed achievements:%
\begin{itemize}%
\item Achievement 1;
\item Achievement 2, with sub-achievements:
  \begin{itemize}%
  \item Sub-achievement (a);
  \item Sub-achievement (b), with sub-sub-achievements (don't do this!);
    \begin{itemize}
    \item Sub-sub-achievement i;
    \item Sub-sub-achievement ii;
    \item Sub-sub-achievement iii;
    \end{itemize}
  \item Sub-achievement (c);
  \end{itemize}
\item Achievement 3.
\end{itemize}}
\cventry{year--year}{Job title}{Employer}{City}{}{Description 
  line 1\newline{}Description line 2}
\subsection{Miscellaneous}
\cventry{year--year}{Job title}{Employer}{City}{}{Description}

\section{Languages}
\cvitemwithcomment{Language 1}{Skill level}{Comment}
\cvitemwithcomment{\textbf{Language} 2}{\textbf{Skill} level}{Comment}
\cvitemwithcomment{Language 3}{Skill level}{Comment}

\section{Computer skills}
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}

\section{Interests}
\cvitem{hobby 1}{Description}
\cvitem{hobby 2}{Description}
\cvitem{hobby 3}{Description}

\section{Extra 1}
\cvlistitem{Item 1}
\cvlistitem{Item 2}
\cvlistitem{Item 3. This item is particularly long and therefore 
  normally spans over several lines. Did you notice the indentation 
  when the line wraps?}

\section{Extra 2}
\cvlistdoubleitem{Item 1}{Item 4}
\cvlistdoubleitem{Item 2}{Item 5}
\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}

\section{References}
\begin{cvcolumns}
  \cvcolumn{Category 1}{\begin{itemize}\item Person 1\item Person 2\item Person 3\end{itemize}}
  \cvcolumn{Category 2}{Amongst others:\begin{itemize}\item Person 1, and\item Person 2\end{itemize}(more upon request)}
  \cvcolumn[0.5]{All the rest \& some more}{\textit{That} person, and \textbf{those} also (all available upon request).}
\end{cvcolumns}

\end{document}

and its result:

resulting pdf

So you did not need to use the old images and I did not investigate where the error you got comes from ...

Please see that I keeped the code for https:// instead http:// because https:// is the correct protocol used today ...

  • Thank you for the more detailed answer! I was initially trying to make it work with LaTeX, since I thought it couldn't be that difficult (as it works with the banking style)... In any case, now I have it working, and it is also simple to use. – Filipe Jul 27 '19 at 23:18
  • Sorry, I have used your answer but forgot to upvote. The other one was also working, but you added more details, so I also marked as the accepted answer. Thanks! – Filipe Nov 29 '19 at 14:06
2

This is how I did it on my CV.

It should be enough to define a new social line with \newcommand*\orcidsocialsymbol{{\aiOrcid}~} (from academicons or whatever font you want), and then to use it with \social[orcid][https://orcid.org/0000-0000-0000-0000]{0000-0000-0000-0000}.

Note that you should use LuaLaTeX or XeLaTeX to use academicons.

%!TEX program = lualatex
\documentclass[10pt,a4paper,nolmodern,roman]{moderncv}
\moderncvtheme[blue]{classic}

\usepackage{fontspec}

% Define ORCID symbol
\usepackage{academicons}
\newcommand*\orcidsocialsymbol{{\aiOrcid}~}


\firstname{Name}
\familyname{Family Name}
\title{Curriculum Vitæ}
\social[orcid][https://orcid.org/0000-0000-0000-0000]{0000-0000-0000-0000}

\begin{document}

\maketitle

\section{Education}
\cventry{2015--2019}{Ph.\ D.\ in software engineering}{}{}{}{}
\end{document}
  • It worked, thanks! Maybe what I missed was compiling with LuaLaTeX or XeLaTeX... – Filipe Jul 27 '19 at 14:30
  • Just to add: I did a new test and compiling with LuaLaTeX works with the academicons, but doesn't solve the Argument of \@firstoftwo has an extra } issue when I try to use the logo image with \includegraphics, for example. – Filipe Jul 27 '19 at 14:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.