This commit is contained in:
Łukasz Dobrowolski 2025-11-07 15:03:47 +00:00 committed by GitHub
commit 130b8f24d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 219 additions and 311 deletions

View file

@ -1,4 +1,6 @@
version next version next
- Fold \phone, \email and friends into \social
- Rework \social command
- Fix french babel breaking contemporary style (#219) - Fix french babel breaking contemporary style (#219)
- Fix birthdate not showing up in contemporary style (#244) - Fix birthdate not showing up in contemporary style (#244)
- Fix Inspire HEP social link (#241) - Fix Inspire HEP social link (#241)

View file

@ -305,19 +305,6 @@ A command for a three-lined street address.
\address{<street address>}{<city and postcode>}{<country>} \address{<street address>}{<city and postcode>}{<country>}
\end{lstlisting} \end{lstlisting}
\paragraph{\code{\\phone}}
A command for a phone number. Takes the phone type as an optional argument.
\begin{lstlisting}
\phone[<type>]{<phone number>}
\end{lstlisting}
The allowed values for \code{<type>} are \code{fax}, \code{fixed} and \code{mobile}.
\paragraph{\code{\\email}}
A command for an email address.
\begin{lstlisting}
\email{<email address>}
\end{lstlisting}
\paragraph{\code{\\homepage}} \paragraph{\code{\\homepage}}
A command for a personal website. A command for a personal website.
\begin{lstlisting} \begin{lstlisting}
@ -325,14 +312,18 @@ A command for a personal website.
\end{lstlisting} \end{lstlisting}
\paragraph{\code{\\social}} \paragraph{\code{\\social}}
A command for a social media account. A command for a social media accounts.
Takes the platform as an optional argument. Takes comma separated list of platforms as an optional argument.
\begin{lstlisting} \begin{lstlisting}
\social[<platform>]{<username or handle>} \social[<platforms>]{<username or handle>}
\end{lstlisting} \end{lstlisting}
The following values are supported for \code{<platform>}: The following values are supported:
\begin{itemize} \begin{itemize}
\begin{multicols}{4} \begin{multicols}{4}
\item \code{email}
\item \code{mobilephone}
\item \code{fixedphone}
\item \code{faxphone}
\item \code{arxiv} \item \code{arxiv}
\item \code{battlenet} \item \code{battlenet}
\item \code{bitbucket} \item \code{bitbucket}
@ -367,6 +358,10 @@ The following values are supported for \code{<platform>}:
\item \code{youtube} \item \code{youtube}
\end{multicols} \end{multicols}
\end{itemize} \end{itemize}
\begin{lstlisting}
% Example:
\social[codeberg,github]{superuser}
\end{lstlisting}
\paragraph{\code{\\extrainfo}} \paragraph{\code{\\extrainfo}}
A command for any extra information. A command for any extra information.

View file

@ -233,103 +233,80 @@
% usage: \born{date, place} % usage: \born{date, place}
\newcommand*{\born}[1]{\def\@born{#1}} \newcommand*{\born}[1]{\def\@born{#1}}
% defines one's email (optional)
% usage: \email{<email address>}
\newcommand*{\email}[1]{\def\@email{#1}}
% defines one's home page (optional) % defines one's home page (optional)
% usage: \homepage[<optional protocol>]{<url>} % usage: \homepage[<optional protocol>]{<url>}
% where <optional protocol> should be either "https" (default) or "http" % where <optional protocol> should be either "https" (default) or "http"
\NewDocumentCommand{\homepage}{O{https}m}{\def\@homepageprotocol{#1}\def\@homepage{#2}} \NewDocumentCommand{\homepage}{O{https}m}{\def\@homepageprotocol{#1}\def\@homepage{#2}}
% adds a fixed/mobile/fax number to one's personal information (optional)
% usage: \phone[<optional type>]{<number>}
% where <optional type> should be either "fixed" (default), "mobile" or "fax
\collectionnew{phones}
\NewDocumentCommand{\phone}{O{fixed}m}{%
\ifthenelse{\equal{#1}{fax}}%
{\collectionadd[#1]{phones}{#2}}
{\collectionadd[#1]{phones}{\protect\tellink{#2}}}
}
% http://latex.org/forum/viewtopic.php?t=12239 % http://latex.org/forum/viewtopic.php?t=12239
\def\SplitMyMacro#1/#2{#2} \def\SplitMyMacro#1/#2{#2}
% Define links for different social networks
\newcommand{\emaillink}[2]{\protect\href{mailto:#2}{#1}}
\newcommand{\mobilephonelink}[2]{\protect\tellink[#1]{#2}}
\newcommand{\fixedphonelink}[2]{\protect\tellink[#1]{#2}}
\newcommand{\faxphonelink}[2]{\protect\tellink[#1]{#2}}
\newcommand{\linkedinlink}[2]{\protect\httpslink[#1]{www.linkedin.com/in/#2}}
\newcommand{\xinglink}[2]{\protect\httpslink[#1]{www.xing.com/profile/#2}}
\newcommand{\twitterlink}[2]{\protect\httpslink[#1]{twitter.com/#2}}
\newcommand{\mastodonlink}[2]{\protect\httpslink[#1]{#2}}
\newcommand{\githublink}[2]{\protect\httpslink[#1]{github.com/#2}}
\newcommand{\gitlablink}[2]{\protect\httpslink[#1]{gitlab.com/#2}}
\newcommand{\stackoverflowlink}[2]{\protect\httpslink[#1]{stackoverflow.com/users/#2}}
\newcommand{\bitbucketlink}[2]{\protect\httpslink[#1]{bitbucket.org/#2}}
\newcommand{\skypelink}[2]{\ifthenelse{\equal{#1}{}}{#1}{#2}}
\newcommand{\orcidlink}[2]{\protect\httpslink[#1]{orcid.org/#2}}
\newcommand{\researchgatelink}[2]{\protect\httpslink[#1]{www.researchgate.net/profile/#2}}
\newcommand{\researcheridlink}[2]{\protect\httpslink[#1]{www.researcherid.com/rid/#2}}
\newcommand{\telegramlink}[2]{\protect\httpslink[#1]{t.me/#2}}
\newcommand{\whatsapplink}[2]{\protect\httpslink[#1]{wa.me/#2}}
\newcommand{\signallink}[2]{\ifthenelse{\equal{#1}{}}{#1}{#2}}
\newcommand{\matrixlink}[2]{\protect\httpslink[#1]{matrix.to/\#/#2}}
\newcommand{\googlescholarlink}[2]{\protect\httpslink[#1]{scholar.google.com/citations?user=#2}}
\newcommand{\codeberglink}[2]{\protect\httpslink[#1]{codeberg.org/#2}}
\newcommand{\discordlink}[2]{\ifthenelse{\equal{#1}{}}{#1}{#2}}
\newcommand{\twitchlink}[2]{\protect\httpslink[#1]{twitch.tv/#2}}
\newcommand{\youtubelink}[2]{\protect\httpslink[#1]{youtube.com/#2}}
\newcommand{\tiktoklink}[2]{\protect\httpslink[#1]{tiktok.com/@#2}}
\newcommand{\instagramlink}[2]{\protect\httpslink[#1]{instagram.com/#2}}
\newcommand{\soundcloudlink}[2]{\protect\httpslink[#1]{soundcloud.com/#2}}
\newcommand{\steamlink}[2]{\protect\httpslink[#1]{steamcommunity.com/id/#2}}
\newcommand{\xboxlink}[2]{\protect\httpslink[#1]{account.xbox.com/profile?gamertag=#2}}
\newcommand{\playstationlink}[2]{\ifthenelse{\equal{#1}{}}{#1}{#2}}
\newcommand{\battlenetlink}[2]{\ifthenelse{\equal{#1}{}}{#1}{#2}}
\newcommand{\arxivlink}[2]{\protect\httpslink[#1]{arxiv.org/a/#2}}
\newcommand{\inspirelink}[2]{\protect\httpslink[#1]{inspirehep.net/authors/#2}}
\newcommand{\simplexlink}[2]{\protect\httpslink[#1]{simplex.chat/#2}}
\newcommand{\threemalink}[2]{\protect\httpslink[#1]{threema.id/#2}}
% adds a social link to one's personal information (optional) \NewDocumentCommand{\socialIconLink}{m}{
% usage: \social[<optional type>][<optional url>]{<account name>} \ifx\previtem\empty
% where <optional type> should be either: % Do nothing on first iteration. This way we 'shift' the whole list by one.
% - "linkedin" \else % The actual work happens here.
% - "xing" \unskip\unskip\unskip~% Get rid of a glue space inserted by \ProcessList
% - "twitter" \expandafter\expandafter\csname\previtem link\endcsname{\csname\previtem socialsymbol\endcsname}{\username}
% - "mastodon" % Eg for (linkedin, username) -> \linkedinlink{\linkedinsocialsymbol}{username}
% - "github" \fi
% - "gitlab" \def\previtem{#1} % Update previtem
% - "stackoverflow" }
% - "bitbucket"
% - "skype" % Adds a links to social networks
% - "orcid" % usage: \social[<network>,<network2>]{<account name>}
% - "researchgate" % If you have the same username you can specify multiple networks separating them by commas.
% - "researcherid" % The entries are shown in order they are added.
% - "telegram" % To be supported network needs a \networknamelink and \networknamesocialsymbol commands.
% - "whatsapp"
% - "signal"
% - "matrix"
% - "googlescholar"
% - "codeberg"
% - "discord"
% - "twitch"
% - "youtube"
% - "tiktok"
% - "instagram"
% - "soundcloud"
% - "steam
% - "xbox"
% - "playstation"
% - "battlenet"
% - "arxiv"
% - "inspire"
% - "simplex"
% - "threema"
\collectionnew{socials} \collectionnew{socials}
\NewDocumentCommand{\social}{O{}O{}m}{% \NewDocumentCommand{\social}{>{\SplitList{,}}o m}{
\ifthenelse{\equal{#2}{}}% \collectionadd{socials}{
{% \begingroup % Make sure \username does not leak outside
\ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}% \def\username{#2} % \ProcessList can't handle multiple arguments. Work around it by defining a var.
\ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}% \let\previtem\empty % Ugly hack to handle all but last element by acting on (i-1)th element
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}% \ProcessList{#1}{\socialIconLink} % Common case handled here (all but last item)
\ifthenelse{\equal{#1}{mastodon}} {\collectionadd[mastodon]{socials} {\protect\httpslink[#3]{#3}}} {}% \unskip\unskip\unskip~% Get rid of a glue space inserted by \ProcessList
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}% \expandafter\expandafter\csname\previtem link\endcsname{\csname\previtem socialsymbol\endcsname~\username}{\username} % Last item
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}% \endgroup
\ifthenelse{\equal{#1}{stackoverflow}}{\collectionadd[stackoverflow]{socials}{\protect\httpslink[#3]{stackoverflow.com/users/#3}}} {}% }
\ifthenelse{\equal{#1}{bitbucket}} {\collectionadd[bitbucket]{socials} {\protect\httpslink[#3]{bitbucket.org/#3}}} {}% }
\ifthenelse{\equal{#1}{skype}} {\collectionadd[skype]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{orcid}} {\collectionadd[orcid]{socials} {\protect\httpslink[#3]{orcid.org/#3}}} {}%
\ifthenelse{\equal{#1}{researchgate}} {\collectionadd[researchgate]{socials} {\protect\httpslink[#3]{www.researchgate.net/profile/#3}}} {}%
\ifthenelse{\equal{#1}{researcherid}} {\collectionadd[researcherid]{socials} {\protect\httpslink[#3]{www.researcherid.com/rid/#3}}} {}%
\ifthenelse{\equal{#1}{telegram}} {\collectionadd[telegram]{socials} {\protect\httpslink[#3]{t.me/#3}}} {}%
\ifthenelse{\equal{#1}{whatsapp}} {\collectionadd[whatsapp]{socials} {\protect\httpslink[#3]{wa.me/#3}}} {}%
\ifthenelse{\equal{#1}{signal}} {\collectionadd[signal]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{matrix}} {\collectionadd[matrix]{socials} {\httpslink[#3]{matrix.to/\#/#3}}} {}%
\ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}%
\ifthenelse{\equal{#1}{codeberg}} {\collectionadd[codeberg]{socials} {\protect\httpslink[#3]{codeberg.org/#3}}} {}%
\ifthenelse{\equal{#1}{discord}} {\collectionadd[discord]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{twitch}} {\collectionadd[twitch]{socials} {\protect\httpslink[#3]{twitch.tv/#3}}} {}%
\ifthenelse{\equal{#1}{youtube}} {\collectionadd[youtube]{socials} {\protect\httpslink[#3]{youtube.com/#3}}} {}%
\ifthenelse{\equal{#1}{tiktok}} {\collectionadd[tiktok]{socials} {\protect\httpslink[#3]{tiktok.com/@#3}}} {}%
\ifthenelse{\equal{#1}{instagram}} {\collectionadd[instagram]{socials} {\protect\httpslink[#3]{instagram.com/#3}}} {}%
\ifthenelse{\equal{#1}{soundcloud}} {\collectionadd[soundcloud]{socials} {\protect\httpslink[#3]{soundcloud.com/#3}}} {}%
\ifthenelse{\equal{#1}{steam}} {\collectionadd[steam]{socials} {\protect\httpslink[#3]{steamcommunity.com/id/#3}}} {}%
\ifthenelse{\equal{#1}{xbox}} {\collectionadd[xbox]{socials} {\protect\httpslink[#3]{account.xbox.com/profile?gamertag=#3}}} {}%
\ifthenelse{\equal{#1}{playstation}} {\collectionadd[playstation]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{battlenet}} {\collectionadd[battlenet]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{arxiv}} {\collectionadd[arxiv]{socials} {\protect\httpslink[#3]{arxiv.org/a/#3}}} {}%
\ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authors/#3}}} {}%
\ifthenelse{\equal{#1}{simplex}} {\collectionadd[simplex]{socials} {\protect\httpslink[#3]{simplex.chat/#3}}} {}%
\ifthenelse{\equal{#1}{threema}} {\collectionadd[threema]{socials} {\protect\httpslink[#3]{threema.id/#3}}} {}%
}
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
% defines additional personal information (optional) % defines additional personal information (optional)
% usage: \extrainfo{<text>} % usage: \extrainfo{<text>}
@ -360,10 +337,10 @@
\newcommand*{\listitemsymbol} {\labelitemi~} \newcommand*{\listitemsymbol} {\labelitemi~}
\newcommand*{\addresssymbol} {} \newcommand*{\addresssymbol} {}
\newcommand*{\bornsymbol} {} \newcommand*{\bornsymbol} {}
\newcommand*{\mobilephonesymbol} {} \newcommand*{\mobilephonesocialsymbol} {}
\newcommand*{\fixedphonesymbol} {} \newcommand*{\fixedphonesocialsymbol} {}
\newcommand*{\faxphonesymbol} {} \newcommand*{\faxphonesocialsymbol} {}
\newcommand*{\emailsymbol} {} \newcommand*{\emailsocialsymbol} {}
\newcommand*{\homepagesymbol} {} \newcommand*{\homepagesymbol} {}
\newcommand*{\linkedinsocialsymbol} {} \newcommand*{\linkedinsocialsymbol} {}
\newcommand*{\xingsocialsymbol} {} \newcommand*{\xingsocialsymbol} {}
@ -622,13 +599,6 @@
{\href{https://#2}{#2}}% {\href{https://#2}{#2}}%
{\href{https://#2}{#1}}}} {\href{https://#2}{#1}}}}
% makes an email hyperlink
% usage: \emaillink[optional text]{link}
\newcommand*{\emaillink}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\href{mailto:#2}{#2}}%
{\href{mailto:#2}{#1}}}
% makes a tel hyperlink % makes a tel hyperlink
% usage: \tellink[optional text]{link} % usage: \tellink[optional text]{link}
\newcommand*{\tellink}[2][]{% \newcommand*{\tellink}[2][]{%

View file

@ -86,13 +86,10 @@
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
\flushfoot\@firstfootelementtrue\\}% \flushfoot\@firstfootelementtrue\\}%
\ifthenelse{\isundefined{\@born}}{}{\addtofoot{\bornsymbol\@born}\flushfoot\@firstfootelementtrue\\}% \ifthenelse{\isundefined{\@born}}{}{\addtofoot{\bornsymbol\@born}\flushfoot\@firstfootelementtrue\\}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% \addtofoot{\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
\ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used \ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used
}}}% }}}%
@ -119,13 +116,10 @@
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
\flushfoot\@firstfootelementtrue\\}% \flushfoot\@firstfootelementtrue\\}%
\ifthenelse{\isundefined{\@born}}{}{\addtofoot{\bornsymbol\@born}\flushfoot\@firstfootelementtrue\\}% \ifthenelse{\isundefined{\@born}}{}{\addtofoot{\bornsymbol\@born}\flushfoot\@firstfootelementtrue\\}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% \addtofoot{\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
\ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used \ifthenelse{\lengthtest{\footboxwidth=0pt}}{}{\flushfoot}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used
}}}% }}}%

View file

@ -72,12 +72,9 @@
% optional detailed information (pre-rendering) % optional detailed information (pre-rendering)
\@initializebox{\makecvheaddetailsbox}% \@initializebox{\makecvheaddetailsbox}%
\if@details% \if@details%
\def\phonesdetails{}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\def\socialsdetails{}% \def\socialsdetails{}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\collectionloopitem}}%
\savebox{\makecvheaddetailsbox}{% \savebox{\makecvheaddetailsbox}{%
\addressfont\color{addresscolor}% \addressfont\color{addresscolor}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi% \if@left\begin{tabular}[b]{@{}r@{}}\fi%
@ -86,8 +83,6 @@
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}% \ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
@ -175,13 +170,10 @@
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}% \makenewline\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
\end{minipage}\\[2em] \end{minipage}\\[2em]
% recipient block % recipient block

View file

@ -141,9 +141,6 @@
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
\ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}% \ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link

View file

@ -94,13 +94,10 @@
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\}% \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\}%
\ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}% \ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% \addtomakeheaddetails{\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
\flushmakeheaddetails}\fi}}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead \flushmakeheaddetails}\fi}}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
@ -154,13 +151,10 @@
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}% \makenewline\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
\end{minipage}\\[2em] \end{minipage}\\[2em]
% recipient block % recipient block

View file

@ -110,13 +110,10 @@
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\ifthenelse{\isundefined{\@born}}{}{\makenewline\hbox to 1.0em{\bornsymbol}~\@born}% \ifthenelse{\isundefined{\@born}}{}{\makenewline\hbox to 1.0em{\bornsymbol}~\@born}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}% \makenewline\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi} \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
@ -159,13 +156,10 @@
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}% \makenewline\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
% ensure no extra spacing after \makelettertitle due to a possible blank line % ensure no extra spacing after \makelettertitle due to a possible blank line
%\ignorespacesafterend% not working %\ignorespacesafterend% not working

View file

@ -82,13 +82,10 @@
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol~\@born}% \ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol~\@born}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}% \makenewline\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}%
{% {%
% name and optional title % name and optional title
@ -155,13 +152,10 @@
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}% \makenewline\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
\end{minipage}\\[2em] \end{minipage}\\[2em]
% recipient block % recipient block

View file

@ -115,13 +115,10 @@
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
\ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}% \ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol% \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
\ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}% \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% \addtomakeheaddetails{\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}% \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
\flushmakeheaddetails}\fi% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead; not forcing it here because of the possible quote \flushmakeheaddetails}\fi% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead; not forcing it here because of the possible quote
% optional quote % optional quote

View file

@ -79,12 +79,9 @@
% optional detailed information (pre-rendering) % optional detailed information (pre-rendering)
\@initializebox{\makecvheaddetailsbox}% \@initializebox{\makecvheaddetailsbox}%
\if@details% \if@details%
\def\phonesdetails{}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\def\socialsdetails{}% \def\socialsdetails{}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}% \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\collectionloopitem}}%
\savebox{\makecvheaddetailsbox}{% \savebox{\makecvheaddetailsbox}{%
\addressfont\color{headtext}% \addressfont\color{headtext}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi% \if@left\begin{tabular}[b]{@{}r@{}}\fi%
@ -93,8 +90,6 @@
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}% \ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
@ -187,9 +182,6 @@
\@initializebox{\makeletterdetailsbox}% \@initializebox{\makeletterdetailsbox}%
\if@details% \if@details%
\def\phonesdetails{}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\savebox{\makeletterdetailsbox}{% \savebox{\makeletterdetailsbox}{%
\addressfont\color{headtext}% \addressfont\color{headtext}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi% \if@left\begin{tabular}[b]{@{}r@{}}\fi%
@ -197,8 +189,6 @@
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}% \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}% \end{tabular}%

View file

@ -38,10 +38,10 @@
%\newcommand*{\listitemsymbol} {\labelitemi~} %\newcommand*{\listitemsymbol} {\labelitemi~}
%\newcommand*{\addresssymbol} {} %\newcommand*{\addresssymbol} {}
%\newcommand*{\bornsymbol} {} %\newcommand*{\bornsymbol} {}
%\newcommand*{\mobilephonesymbol} {} %\newcommand*{\mobilephonesocialsymbol} {}
%\newcommand*{\fixedphonesymbol} {} %\newcommand*{\fixedphonesocialsymbol} {}
%\newcommand*{\faxphonesymbol} {} %\newcommand*{\faxphonesocialsymbol} {}
%\newcommand*{\emailsymbol} {} %\newcommand*{\emailsocialsymbol} {}
%\newcommand*{\homepagesymbol} {} %\newcommand*{\homepagesymbol} {}
%\newcommand*{\linkedinsocialsymbol} {} %\newcommand*{\linkedinsocialsymbol} {}
%\newcommand*{\xingsocialsymbol} {} %\newcommand*{\xingsocialsymbol} {}
@ -51,16 +51,16 @@
%\newcommand*{\stackoverflowsocialsymbol}{} %\newcommand*{\stackoverflowsocialsymbol}{}
%\newcommand*{\bitbucketsocialsymbol} {} %\newcommand*{\bitbucketsocialsymbol} {}
%\newcommand*{\skypesocialsymbol} {} %\newcommand*{\skypesocialsymbol} {}
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~} \renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}}
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate \renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}} % alternative: \aiResearchGate
\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID \renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}} % alternative: \aiResearcherID
\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~} \renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}}
%\newcommand*{\telegramsocialsymbol} {} %\newcommand*{\telegramsocialsymbol} {}
%\newcommand*{\whatsappsocialsymbol} {} %\newcommand*{\whatsappsocialsymbol} {}
%\newcommand*{\matrixsocialsymbol} {} %\newcommand*{\matrixsocialsymbol} {}
%\newcommand*{\signalsocialsymbol} {} %\newcommand*{\signalsocialsymbol} {}
\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}~} \renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}}
\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}~} \renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}}
\endinput \endinput

View file

@ -66,41 +66,41 @@
%\renewcommand*{\addresssymbol} {} %\renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style) \renewcommand*{\mobilephonesocialsymbol} {{\color{mobilephone}\small\faMobile*}} % alternative: \faMobile (solid style)
\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed) \renewcommand*{\fixedphonesocialsymbol} {{\color{fixedphone}\small\faPhone*}} % alternative: \faPhone (reversed)
\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint \renewcommand*{\faxphonesocialsymbol} {{\color{faxphone}\small\faFax}} % alternative: \faPrint
\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style) \renewcommand*{\emailsocialsymbol} {{\color{email}\small\faEnvelope[regular]}} % alternative: \faInbox, \faEnvelope (solid style)
\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia \renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin \renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}} % alternative: \faLinkedin
\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare \renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}} % alternative: \faXingSquare
\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare \renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}} % alternative: \faTwitterSquare
\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~} \renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}}
\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub* \renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}} % alternative: \faGithubSquare, \faGithub*
\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~} \renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}}
\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~} \renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}}
\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~} \renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}}
\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}~} \renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}}
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~} \renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}}
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~} \renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}}
%\renewcommand*{\researcheridsocialsymbol} {} %\renewcommand*{\researcheridsocialsymbol} {}
%\renewcommand*{\googlescholarsocialsymbol}{} %\renewcommand*{\googlescholarsocialsymbol}{}
\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~} \renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}}
\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~} \renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}}
\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~} \renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}}
\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}~} \renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}}
\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}~} \renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}}
\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}~} \renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}}
\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}~} \renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}}
\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}~} \renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}}
\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}~} \renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}}
\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~} \renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}}
\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~} \renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}}
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~} \renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}}
%\renewcommand*{\signalsocialsymbol} {} %\renewcommand*{\signalsocialsymbol} {}
%\renewcommand*{\matrixsocialsymbol} {} %\renewcommand*{\matrixsocialsymbol} {}
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~} % \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}}
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~} % \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}}
\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage \renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}} % alternative: \faBabyCarriage
\endinput \endinput

View file

@ -23,43 +23,43 @@
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls %\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
\renewcommand*{\addresssymbol} {} \renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {\textbf{M}~} \renewcommand*{\mobilephonesocialsymbol} {\textbf{M}}
\renewcommand*{\fixedphonesymbol} {\textbf{T}~} \renewcommand*{\fixedphonesocialsymbol} {\textbf{T}}
\renewcommand*{\faxphonesymbol} {\textbf{F}~} \renewcommand*{\faxphonesocialsymbol} {\textbf{F}}
\renewcommand*{\emailsymbol} {\textbf{E}~} \renewcommand*{\emailsocialsymbol} {\textbf{E}}
\renewcommand*{\homepagesymbol} {\textbf{W}~} \renewcommand*{\homepagesymbol} {\textbf{W}}
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}~} \renewcommand*{\linkedinsocialsymbol} {\textbf{in}}
\renewcommand*{\xingsocialsymbol} {\textbf{xi}~} \renewcommand*{\xingsocialsymbol} {\textbf{xi}}
\renewcommand*{\twittersocialsymbol} {\textbf{tw}~} \renewcommand*{\twittersocialsymbol} {\textbf{tw}}
\renewcommand*{\mastodonsocialsymbol} {\textbf{ms}~} \renewcommand*{\mastodonsocialsymbol} {\textbf{ms}}
\renewcommand*{\githubsocialsymbol} {\textbf{gh}~} \renewcommand*{\githubsocialsymbol} {\textbf{gh}}
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}~} \renewcommand*{\gitlabsocialsymbol} {\textbf{gl}}
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}~} \renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}}
\renewcommand*{\bitbucketsocialsymbol} {\textbf{bb}~} \renewcommand*{\bitbucketsocialsymbol} {\textbf{bb}}
\renewcommand*{\skypesocialsymbol} {\textbf{sk}~} \renewcommand*{\skypesocialsymbol} {\textbf{sk}}
\renewcommand*{\orcidsocialsymbol} {\textbf{orcid}~} \renewcommand*{\orcidsocialsymbol} {\textbf{orcid}}
\renewcommand*{\researchgatesocialsymbol} {\textbf{rg}~} \renewcommand*{\researchgatesocialsymbol} {\textbf{rg}}
\renewcommand*{\researcheridsocialsymbol} {\textbf{ri}~} \renewcommand*{\researcheridsocialsymbol} {\textbf{ri}}
\renewcommand*{\telegramsocialsymbol} {\textbf{tg}~} \renewcommand*{\telegramsocialsymbol} {\textbf{tg}}
\renewcommand*{\whatsappsocialsymbol} {\textbf{wa}~} \renewcommand*{\whatsappsocialsymbol} {\textbf{wa}}
\renewcommand*{\signalsocialsymbol} {\textbf{si}~} \renewcommand*{\signalsocialsymbol} {\textbf{si}}
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~} \renewcommand*{\matrixsocialsymbol} {\textbf{ma}}
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~} \renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}}
\renewcommand*{\bornsymbol} {\textbf{B}~} \renewcommand*{\bornsymbol} {\textbf{B}}
\renewcommand*{\codebergsocialsymbol} {\textbf{cb}~} \renewcommand*{\codebergsocialsymbol} {\textbf{cb}}
\renewcommand*{\twitchsocialsymbol} {\textbf{ttv}~} \renewcommand*{\twitchsocialsymbol} {\textbf{ttv}}
\renewcommand*{\youtubesocialsymbol} {\textbf{yt}~} \renewcommand*{\youtubesocialsymbol} {\textbf{yt}}
\renewcommand*{\tiktoksocialsymbol} {\textbf{tok}~} \renewcommand*{\tiktoksocialsymbol} {\textbf{tok}}
\renewcommand*{\instagramsocialsymbol} {\textbf{insta}~} \renewcommand*{\instagramsocialsymbol} {\textbf{insta}}
\renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}~} \renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}}
\renewcommand*{\steamsocialsymbol} {\textbf{st}~} \renewcommand*{\steamsocialsymbol} {\textbf{st}}
\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~} \renewcommand*{\xboxsocialsymbol} {\textbf{xb}}
\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~} \renewcommand*{\playstationsocialsymbol} {\textbf{psn}}
\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~} \renewcommand*{\battlenetsocialsymbol} {\textbf{bn}}
\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~} \renewcommand*{\arxivsocialsymbol} {\textbf{arx}}
\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~} \renewcommand*{\inspiresocialsymbol} {\textbf{ins}}
\renewcommand*{\simplexsocialsymbol} {\textbf{splx}~} \renewcommand*{\simplexsocialsymbol} {\textbf{splx}}
\renewcommand*{\simplexsocialsymbol} {\textbf{thr}~} \renewcommand*{\simplexsocialsymbol} {\textbf{thr}}
\renewcommand*{\listitemsymbol} {\labelitemi~} \renewcommand*{\listitemsymbol} {\labelitemi~}

View file

@ -19,11 +19,11 @@
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102} \renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
\renewcommand*{\mobilephonesymbol} {\marvosymbol{72}~} \renewcommand*{\mobilephonesocialsymbol}{\marvosymbol{72}}
\renewcommand*{\fixedphonesymbol} {\marvosymbol{84}~} \renewcommand*{\fixedphonesocialsymbol}{\marvosymbol{84}}
\renewcommand*{\faxphonesymbol} {\marvosymbol{117}~} \renewcommand*{\faxphonesocialsymbol}{\marvosymbol{117}}
\renewcommand*{\emailsymbol} {\marvosymbol{66}~} \renewcommand*{\emailsocialsymbol} {\marvosymbol{66}}
\renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}~} \renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}}
\endinput \endinput

View file

@ -338,7 +338,7 @@
(23.7698,30.6792) and (25.7191,30.6094) .. (26.0391,30.6094) -- cycle; (23.7698,30.6792) and (25.7191,30.6094) .. (26.0391,30.6094) -- cycle;
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
~} }
}{}\par }{}\par
\ifdefempty{\matrixsocialsymbol} { \ifdefempty{\matrixsocialsymbol} {
@ -385,7 +385,7 @@
(29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle; (29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle;
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
~} }
}{}\par }{}\par
\ifdefempty{\signalsocialsymbol} { \ifdefempty{\signalsocialsymbol} {
@ -455,7 +455,7 @@
(629.8000,234.8000) .. (512.0000,234.9000) -- cycle; (629.8000,234.8000) .. (512.0000,234.9000) -- cycle;
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
~} }
}{}\par }{}\par
\ifdefempty{\codebergsocialsymbol} { \ifdefempty{\codebergsocialsymbol} {
@ -475,7 +475,7 @@
-- cycle; -- cycle;
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
~} }
}{}\par }{}\par
\ifdefempty{\simplexsocialsymbol} { \ifdefempty{\simplexsocialsymbol} {
@ -494,7 +494,7 @@
(100,0) rectangle +(60,20); (100,0) rectangle +(60,20);
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
~} }
}{}\par }{}\par
\ifdefempty{\threemasocialsymbol} { \ifdefempty{\threemasocialsymbol} {
@ -522,7 +522,7 @@
(390,553) circle (68); (390,553) circle (68);
\protect\end{scope} \protect\end{scope}
\protect\end{tikzpicture}} \protect\end{tikzpicture}}
~} }
}{}\par }{}\par
\endinput \endinput

View file

@ -57,57 +57,46 @@
\title{Résumé title} % optional, remove / comment the line if not wanted \title{Résumé title} % optional, remove / comment the line if not wanted
\born{4 July 1776} % optional, remove / comment the line if not wanted \born{4 July 1776} % optional, remove / comment the line if not wanted
\address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty \address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
\phone[mobile]{+1~(234)~567~890} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{john@doe.org} % optional, remove / comment the line if not wanted
\homepage{www.johndoe.com} % optional, remove / comment the line if not wanted \homepage{www.johndoe.com} % optional, remove / comment the line if not wanted
% Social icons % All uses of \social command are optional
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted \social[mobilephone]{+1~(234)~567~890}
\social[xing]{john\_doe} % optional, remove / comment the line if not wanted \social[fixedphone]{+2~(345)~678~901}
\social[faxphone]{+3~(456)~789~012}
\social[github]{jdoe} % optional, remove / comment the line if not wanted \social[email]{john@doe.org}
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted \social[linkedin]{john.doe}
\social[codeberg]{jdoe} % optional, remove / comment the line if not wanted \social[xing]{john\_doe}
\social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted \social[bitbucket,codeberg,github,gitlab]{jdoe} % Soclial netowrks with the same username can be stacked. Icons are links and text is part of the last one
\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted \social[stackoverflow]{0000000/johndoe}
\social[skype]{jdoe}
\social[skype]{jdoe} % optional, remove / comment the line if not wanted \social[orcid]{0000-0000-000-000}
\social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted \social[researchgate]{jdoe}
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted \social[researcherid]{jdoe}
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted \social[googlescholar]{googlescholarid}
\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted \social[twitter]{ji\_doe}
\social[mastodon]{mastodon.social/web/@user}
\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted \social[telegram]{jdoe}
\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted \social[whatsapp]{12345678901}
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted \social[signal]{12345678901}
\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted \social[matrix]{@johndoe:matrix.org}
\social[signal]{12345678901} % optional, remove / comment the line if not wanted \social[discord]{jdoe\#0000}
\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted \social[twitch]{jdoe}
\social[discord]{jdoe\#0000} % optional, remove / comment the line if not wanted \social[tiktok]{jdoe}
\social[instagram]{jdoe}
\social[soundcloud]{jdoe}
\social[steam]{jdoe}
\social[xbox]{jdoe}
\social[playstation]{jdoe}
\social[battlenet]{jdoe\#0000}
\social[arxiv]{doe\_j\_1}
\social[inspire]{0000000}
\social[simplex]{0000000}
\social[threema]{0000000}
% YouTube links can take several forms, depending on how your account and channel are set up. % YouTube links can take several forms, depending on how your account and channel are set up.
% See https://support.google.com/youtube/answer/6180214 for more information. % See https://support.google.com/youtube/answer/6180214 for more information.
\social[youtube]{c/jdoeschannel} % optional, remove / comment the line if not wanted; Custom URL - can be shorted by removing 'c/' \social[youtube]{c/jdoeschannel} %Custom URL - can be shorted by removing 'c/'
\social[youtube]{channel/XXXXXX} % optional, remove / comment the line if not wanted; Channel URL (ID-based) - can not be shortened \social[youtube]{channel/XXXXXX} %Channel URL (ID-based) - can not be shortened
\social[youtube]{user/jdoe} % optional, remove / comment the line if not wanted; Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/' \social[youtube]{user/jdoe} %Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/'
\social[twitch]{jdoe} % optional, remove / comment the line if not wanted
\social[tiktok]{jdoe} % optional, remove / comment the line if not wanted
\social[instagram]{jdoe} % optional, remove / comment the line if not wanted
\social[soundcloud]{jdoe} % optional, remove / comment the line if not wanted
\social[steam]{jdoe} % optional, remove / comment the line if not wanted
\social[xbox]{jdoe} % optional, remove / comment the line if not wanted
\social[playstation]{jdoe} % optional, remove / comment the line if not wanted
\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted
\social[arxiv]{doe\_j\_1} % optional, remove / comment the line if not wanted
\social[inspire]{0000000} % optional, remove / comment the line if not wanted
\social[simplex]{0000000} % optional, remove / comment the line if not wanted
\social[threema]{0000000} % optional, remove / comment the line if not wanted
\extrainfo{additional information} % optional, remove / comment the line if not wanted \extrainfo{additional information} % optional, remove / comment the line if not wanted
\photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file \photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file