mirror of
https://github.com/moderncv/moderncv.git
synced 2026-02-06 10:05:19 +01:00
Merge 235be7cfc4 into ee076d39f6
This commit is contained in:
commit
130b8f24d5
17 changed files with 219 additions and 311 deletions
|
|
@ -1,4 +1,6 @@
|
|||
version next
|
||||
- Fold \phone, \email and friends into \social
|
||||
- Rework \social command
|
||||
- Fix french babel breaking contemporary style (#219)
|
||||
- Fix birthdate not showing up in contemporary style (#244)
|
||||
- Fix Inspire HEP social link (#241)
|
||||
|
|
|
|||
|
|
@ -305,19 +305,6 @@ A command for a three-lined street address.
|
|||
\address{<street address>}{<city and postcode>}{<country>}
|
||||
\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}}
|
||||
A command for a personal website.
|
||||
\begin{lstlisting}
|
||||
|
|
@ -325,14 +312,18 @@ A command for a personal website.
|
|||
\end{lstlisting}
|
||||
|
||||
\paragraph{\code{\\social}}
|
||||
A command for a social media account.
|
||||
Takes the platform as an optional argument.
|
||||
A command for a social media accounts.
|
||||
Takes comma separated list of platforms as an optional argument.
|
||||
\begin{lstlisting}
|
||||
\social[<platform>]{<username or handle>}
|
||||
\social[<platforms>]{<username or handle>}
|
||||
\end{lstlisting}
|
||||
The following values are supported for \code{<platform>}:
|
||||
The following values are supported:
|
||||
\begin{itemize}
|
||||
\begin{multicols}{4}
|
||||
\item \code{email}
|
||||
\item \code{mobilephone}
|
||||
\item \code{fixedphone}
|
||||
\item \code{faxphone}
|
||||
\item \code{arxiv}
|
||||
\item \code{battlenet}
|
||||
\item \code{bitbucket}
|
||||
|
|
@ -367,6 +358,10 @@ The following values are supported for \code{<platform>}:
|
|||
\item \code{youtube}
|
||||
\end{multicols}
|
||||
\end{itemize}
|
||||
\begin{lstlisting}
|
||||
% Example:
|
||||
\social[codeberg,github]{superuser}
|
||||
\end{lstlisting}
|
||||
|
||||
\paragraph{\code{\\extrainfo}}
|
||||
A command for any extra information.
|
||||
|
|
|
|||
166
moderncv.cls
166
moderncv.cls
|
|
@ -233,103 +233,80 @@
|
|||
% usage: \born{date, place}
|
||||
\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)
|
||||
% usage: \homepage[<optional protocol>]{<url>}
|
||||
% where <optional protocol> should be either "https" (default) or "http"
|
||||
\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
|
||||
\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)
|
||||
% usage: \social[<optional type>][<optional url>]{<account name>}
|
||||
% where <optional type> should be either:
|
||||
% - "linkedin"
|
||||
% - "xing"
|
||||
% - "twitter"
|
||||
% - "mastodon"
|
||||
% - "github"
|
||||
% - "gitlab"
|
||||
% - "stackoverflow"
|
||||
% - "bitbucket"
|
||||
% - "skype"
|
||||
% - "orcid"
|
||||
% - "researchgate"
|
||||
% - "researcherid"
|
||||
% - "telegram"
|
||||
% - "whatsapp"
|
||||
% - "signal"
|
||||
% - "matrix"
|
||||
% - "googlescholar"
|
||||
% - "codeberg"
|
||||
% - "discord"
|
||||
% - "twitch"
|
||||
% - "youtube"
|
||||
% - "tiktok"
|
||||
% - "instagram"
|
||||
% - "soundcloud"
|
||||
% - "steam
|
||||
% - "xbox"
|
||||
% - "playstation"
|
||||
% - "battlenet"
|
||||
% - "arxiv"
|
||||
% - "inspire"
|
||||
% - "simplex"
|
||||
% - "threema"
|
||||
\NewDocumentCommand{\socialIconLink}{m}{
|
||||
\ifx\previtem\empty
|
||||
% Do nothing on first iteration. This way we 'shift' the whole list by one.
|
||||
\else % The actual work happens here.
|
||||
\unskip\unskip\unskip~% Get rid of a glue space inserted by \ProcessList
|
||||
\expandafter\expandafter\csname\previtem link\endcsname{\csname\previtem socialsymbol\endcsname}{\username}
|
||||
% Eg for (linkedin, username) -> \linkedinlink{\linkedinsocialsymbol}{username}
|
||||
\fi
|
||||
\def\previtem{#1} % Update previtem
|
||||
}
|
||||
|
||||
% Adds a links to social networks
|
||||
% usage: \social[<network>,<network2>]{<account name>}
|
||||
% If you have the same username you can specify multiple networks separating them by commas.
|
||||
% The entries are shown in order they are added.
|
||||
% To be supported network needs a \networknamelink and \networknamesocialsymbol commands.
|
||||
\collectionnew{socials}
|
||||
\NewDocumentCommand{\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}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}%
|
||||
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}%
|
||||
\ifthenelse{\equal{#1}{mastodon}} {\collectionadd[mastodon]{socials} {\protect\httpslink[#3]{#3}}} {}%
|
||||
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}%
|
||||
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}%
|
||||
\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}}}}%
|
||||
\NewDocumentCommand{\social}{>{\SplitList{,}}o m}{
|
||||
\collectionadd{socials}{
|
||||
\begingroup % Make sure \username does not leak outside
|
||||
\def\username{#2} % \ProcessList can't handle multiple arguments. Work around it by defining a var.
|
||||
\let\previtem\empty % Ugly hack to handle all but last element by acting on (i-1)th element
|
||||
\ProcessList{#1}{\socialIconLink} % Common case handled here (all but last item)
|
||||
\unskip\unskip\unskip~% Get rid of a glue space inserted by \ProcessList
|
||||
\expandafter\expandafter\csname\previtem link\endcsname{\csname\previtem socialsymbol\endcsname~\username}{\username} % Last item
|
||||
\endgroup
|
||||
}
|
||||
}
|
||||
|
||||
% defines additional personal information (optional)
|
||||
% usage: \extrainfo{<text>}
|
||||
|
|
@ -360,10 +337,10 @@
|
|||
\newcommand*{\listitemsymbol} {\labelitemi~}
|
||||
\newcommand*{\addresssymbol} {}
|
||||
\newcommand*{\bornsymbol} {}
|
||||
\newcommand*{\mobilephonesymbol} {}
|
||||
\newcommand*{\fixedphonesymbol} {}
|
||||
\newcommand*{\faxphonesymbol} {}
|
||||
\newcommand*{\emailsymbol} {}
|
||||
\newcommand*{\mobilephonesocialsymbol} {}
|
||||
\newcommand*{\fixedphonesocialsymbol} {}
|
||||
\newcommand*{\faxphonesocialsymbol} {}
|
||||
\newcommand*{\emailsocialsymbol} {}
|
||||
\newcommand*{\homepagesymbol} {}
|
||||
\newcommand*{\linkedinsocialsymbol} {}
|
||||
\newcommand*{\xingsocialsymbol} {}
|
||||
|
|
@ -622,13 +599,6 @@
|
|||
{\href{https://#2}{#2}}%
|
||||
{\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
|
||||
% usage: \tellink[optional text]{link}
|
||||
\newcommand*{\tellink}[2][]{%
|
||||
|
|
|
|||
|
|
@ -86,13 +86,10 @@
|
|||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||
\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{\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}}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||
\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{\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
|
||||
}}}%
|
||||
|
|
|
|||
|
|
@ -72,12 +72,9 @@
|
|||
% optional detailed information (pre-rendering)
|
||||
\@initializebox{\makecvheaddetailsbox}%
|
||||
\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{}%
|
||||
\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}{%
|
||||
\addressfont\color{addresscolor}%
|
||||
\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{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||
|
|
@ -175,13 +170,10 @@
|
|||
\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{\@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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||
\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%
|
||||
\end{minipage}\\[2em]
|
||||
% recipient block
|
||||
|
|
|
|||
|
|
@ -141,9 +141,6 @@
|
|||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
|
||||
|
|
|
|||
|
|
@ -94,13 +94,10 @@
|
|||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||
\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}}%
|
||||
\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{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||
\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%
|
||||
\end{minipage}\\[2em]
|
||||
% recipient block
|
||||
|
|
|
|||
|
|
@ -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{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||
\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}
|
||||
|
||||
|
||||
|
|
@ -159,13 +156,10 @@
|
|||
\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{\@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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||
\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}}}%
|
||||
% ensure no extra spacing after \makelettertitle due to a possible blank line
|
||||
%\ignorespacesafterend% not working
|
||||
|
|
|
|||
|
|
@ -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{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||
\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}%
|
||||
{%
|
||||
% name and optional title
|
||||
|
|
@ -155,13 +152,10 @@
|
|||
\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{\@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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
|
||||
\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%
|
||||
\end{minipage}\\[2em]
|
||||
% recipient block
|
||||
|
|
|
|||
|
|
@ -115,13 +115,10 @@
|
|||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
|
||||
\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{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
|
||||
\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}}%
|
||||
\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
|
||||
|
|
|
|||
|
|
@ -79,12 +79,9 @@
|
|||
% optional detailed information (pre-rendering)
|
||||
\@initializebox{\makecvheaddetailsbox}%
|
||||
\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{}%
|
||||
\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}{%
|
||||
\addressfont\color{headtext}%
|
||||
\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{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||
\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}}%
|
||||
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
|
||||
|
|
@ -187,9 +182,6 @@
|
|||
|
||||
\@initializebox{\makeletterdetailsbox}%
|
||||
\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}{%
|
||||
\addressfont\color{headtext}%
|
||||
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
|
||||
|
|
@ -197,8 +189,6 @@
|
|||
\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{\@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{\@extrainfo}}{}{\makenewline\@extrainfo}%
|
||||
\end{tabular}%
|
||||
|
|
|
|||
|
|
@ -38,10 +38,10 @@
|
|||
%\newcommand*{\listitemsymbol} {\labelitemi~}
|
||||
%\newcommand*{\addresssymbol} {}
|
||||
%\newcommand*{\bornsymbol} {}
|
||||
%\newcommand*{\mobilephonesymbol} {}
|
||||
%\newcommand*{\fixedphonesymbol} {}
|
||||
%\newcommand*{\faxphonesymbol} {}
|
||||
%\newcommand*{\emailsymbol} {}
|
||||
%\newcommand*{\mobilephonesocialsymbol} {}
|
||||
%\newcommand*{\fixedphonesocialsymbol} {}
|
||||
%\newcommand*{\faxphonesocialsymbol} {}
|
||||
%\newcommand*{\emailsocialsymbol} {}
|
||||
%\newcommand*{\homepagesymbol} {}
|
||||
%\newcommand*{\linkedinsocialsymbol} {}
|
||||
%\newcommand*{\xingsocialsymbol} {}
|
||||
|
|
@ -51,16 +51,16 @@
|
|||
%\newcommand*{\stackoverflowsocialsymbol}{}
|
||||
%\newcommand*{\bitbucketsocialsymbol} {}
|
||||
%\newcommand*{\skypesocialsymbol} {}
|
||||
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~}
|
||||
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
|
||||
\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
|
||||
\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~}
|
||||
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}}
|
||||
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}} % alternative: \aiResearchGate
|
||||
\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}} % alternative: \aiResearcherID
|
||||
\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}}
|
||||
%\newcommand*{\telegramsocialsymbol} {}
|
||||
%\newcommand*{\whatsappsocialsymbol} {}
|
||||
%\newcommand*{\matrixsocialsymbol} {}
|
||||
%\newcommand*{\signalsocialsymbol} {}
|
||||
\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}~}
|
||||
\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}~}
|
||||
\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}}
|
||||
\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}}
|
||||
|
||||
|
||||
\endinput
|
||||
|
|
|
|||
|
|
@ -66,41 +66,41 @@
|
|||
|
||||
|
||||
%\renewcommand*{\addresssymbol} {}
|
||||
\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style)
|
||||
\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed)
|
||||
\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint
|
||||
\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
|
||||
\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
|
||||
\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin
|
||||
\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare
|
||||
\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare
|
||||
\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~}
|
||||
\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
|
||||
\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~}
|
||||
\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~}
|
||||
\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~}
|
||||
\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}~}
|
||||
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~}
|
||||
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~}
|
||||
\renewcommand*{\mobilephonesocialsymbol} {{\color{mobilephone}\small\faMobile*}} % alternative: \faMobile (solid style)
|
||||
\renewcommand*{\fixedphonesocialsymbol} {{\color{fixedphone}\small\faPhone*}} % alternative: \faPhone (reversed)
|
||||
\renewcommand*{\faxphonesocialsymbol} {{\color{faxphone}\small\faFax}} % alternative: \faPrint
|
||||
\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*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}} % alternative: \faLinkedin
|
||||
\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}} % alternative: \faXingSquare
|
||||
\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}} % alternative: \faTwitterSquare
|
||||
\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}}
|
||||
\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}} % alternative: \faGithubSquare, \faGithub*
|
||||
\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}}
|
||||
\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}}
|
||||
\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}}
|
||||
\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}}
|
||||
\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}}
|
||||
\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}}
|
||||
%\renewcommand*{\researcheridsocialsymbol} {}
|
||||
%\renewcommand*{\googlescholarsocialsymbol}{}
|
||||
\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~}
|
||||
\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~}
|
||||
\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~}
|
||||
\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}~}
|
||||
\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}~}
|
||||
\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}~}
|
||||
\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}~}
|
||||
\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}~}
|
||||
\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}~}
|
||||
\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~}
|
||||
\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~}
|
||||
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
|
||||
\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}}
|
||||
\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}}
|
||||
\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}}
|
||||
\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}}
|
||||
\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}}
|
||||
\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}}
|
||||
\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}}
|
||||
\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}}
|
||||
\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}}
|
||||
\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}}
|
||||
\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}}
|
||||
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}}
|
||||
%\renewcommand*{\signalsocialsymbol} {}
|
||||
%\renewcommand*{\matrixsocialsymbol} {}
|
||||
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
|
||||
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
|
||||
\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
|
||||
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}}
|
||||
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}}
|
||||
\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}} % alternative: \faBabyCarriage
|
||||
|
||||
\endinput
|
||||
|
||||
|
|
|
|||
|
|
@ -23,43 +23,43 @@
|
|||
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
|
||||
|
||||
\renewcommand*{\addresssymbol} {}
|
||||
\renewcommand*{\mobilephonesymbol} {\textbf{M}~}
|
||||
\renewcommand*{\fixedphonesymbol} {\textbf{T}~}
|
||||
\renewcommand*{\faxphonesymbol} {\textbf{F}~}
|
||||
\renewcommand*{\emailsymbol} {\textbf{E}~}
|
||||
\renewcommand*{\homepagesymbol} {\textbf{W}~}
|
||||
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}~}
|
||||
\renewcommand*{\xingsocialsymbol} {\textbf{xi}~}
|
||||
\renewcommand*{\twittersocialsymbol} {\textbf{tw}~}
|
||||
\renewcommand*{\mastodonsocialsymbol} {\textbf{ms}~}
|
||||
\renewcommand*{\githubsocialsymbol} {\textbf{gh}~}
|
||||
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}~}
|
||||
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}~}
|
||||
\renewcommand*{\bitbucketsocialsymbol} {\textbf{bb}~}
|
||||
\renewcommand*{\skypesocialsymbol} {\textbf{sk}~}
|
||||
\renewcommand*{\orcidsocialsymbol} {\textbf{orcid}~}
|
||||
\renewcommand*{\researchgatesocialsymbol} {\textbf{rg}~}
|
||||
\renewcommand*{\researcheridsocialsymbol} {\textbf{ri}~}
|
||||
\renewcommand*{\telegramsocialsymbol} {\textbf{tg}~}
|
||||
\renewcommand*{\whatsappsocialsymbol} {\textbf{wa}~}
|
||||
\renewcommand*{\signalsocialsymbol} {\textbf{si}~}
|
||||
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~}
|
||||
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
|
||||
\renewcommand*{\bornsymbol} {\textbf{B}~}
|
||||
\renewcommand*{\codebergsocialsymbol} {\textbf{cb}~}
|
||||
\renewcommand*{\twitchsocialsymbol} {\textbf{ttv}~}
|
||||
\renewcommand*{\youtubesocialsymbol} {\textbf{yt}~}
|
||||
\renewcommand*{\tiktoksocialsymbol} {\textbf{tok}~}
|
||||
\renewcommand*{\instagramsocialsymbol} {\textbf{insta}~}
|
||||
\renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}~}
|
||||
\renewcommand*{\steamsocialsymbol} {\textbf{st}~}
|
||||
\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~}
|
||||
\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~}
|
||||
\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~}
|
||||
\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~}
|
||||
\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~}
|
||||
\renewcommand*{\simplexsocialsymbol} {\textbf{splx}~}
|
||||
\renewcommand*{\simplexsocialsymbol} {\textbf{thr}~}
|
||||
\renewcommand*{\mobilephonesocialsymbol} {\textbf{M}}
|
||||
\renewcommand*{\fixedphonesocialsymbol} {\textbf{T}}
|
||||
\renewcommand*{\faxphonesocialsymbol} {\textbf{F}}
|
||||
\renewcommand*{\emailsocialsymbol} {\textbf{E}}
|
||||
\renewcommand*{\homepagesymbol} {\textbf{W}}
|
||||
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}}
|
||||
\renewcommand*{\xingsocialsymbol} {\textbf{xi}}
|
||||
\renewcommand*{\twittersocialsymbol} {\textbf{tw}}
|
||||
\renewcommand*{\mastodonsocialsymbol} {\textbf{ms}}
|
||||
\renewcommand*{\githubsocialsymbol} {\textbf{gh}}
|
||||
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}}
|
||||
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}}
|
||||
\renewcommand*{\bitbucketsocialsymbol} {\textbf{bb}}
|
||||
\renewcommand*{\skypesocialsymbol} {\textbf{sk}}
|
||||
\renewcommand*{\orcidsocialsymbol} {\textbf{orcid}}
|
||||
\renewcommand*{\researchgatesocialsymbol} {\textbf{rg}}
|
||||
\renewcommand*{\researcheridsocialsymbol} {\textbf{ri}}
|
||||
\renewcommand*{\telegramsocialsymbol} {\textbf{tg}}
|
||||
\renewcommand*{\whatsappsocialsymbol} {\textbf{wa}}
|
||||
\renewcommand*{\signalsocialsymbol} {\textbf{si}}
|
||||
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}}
|
||||
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}}
|
||||
\renewcommand*{\bornsymbol} {\textbf{B}}
|
||||
\renewcommand*{\codebergsocialsymbol} {\textbf{cb}}
|
||||
\renewcommand*{\twitchsocialsymbol} {\textbf{ttv}}
|
||||
\renewcommand*{\youtubesocialsymbol} {\textbf{yt}}
|
||||
\renewcommand*{\tiktoksocialsymbol} {\textbf{tok}}
|
||||
\renewcommand*{\instagramsocialsymbol} {\textbf{insta}}
|
||||
\renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}}
|
||||
\renewcommand*{\steamsocialsymbol} {\textbf{st}}
|
||||
\renewcommand*{\xboxsocialsymbol} {\textbf{xb}}
|
||||
\renewcommand*{\playstationsocialsymbol} {\textbf{psn}}
|
||||
\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}}
|
||||
\renewcommand*{\arxivsocialsymbol} {\textbf{arx}}
|
||||
\renewcommand*{\inspiresocialsymbol} {\textbf{ins}}
|
||||
\renewcommand*{\simplexsocialsymbol} {\textbf{splx}}
|
||||
\renewcommand*{\simplexsocialsymbol} {\textbf{thr}}
|
||||
|
||||
\renewcommand*{\listitemsymbol} {\labelitemi~}
|
||||
|
||||
|
|
|
|||
|
|
@ -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*{\mobilephonesymbol} {\marvosymbol{72}~}
|
||||
\renewcommand*{\fixedphonesymbol} {\marvosymbol{84}~}
|
||||
\renewcommand*{\faxphonesymbol} {\marvosymbol{117}~}
|
||||
\renewcommand*{\emailsymbol} {\marvosymbol{66}~}
|
||||
\renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}~}
|
||||
\renewcommand*{\mobilephonesocialsymbol}{\marvosymbol{72}}
|
||||
\renewcommand*{\fixedphonesocialsymbol}{\marvosymbol{84}}
|
||||
\renewcommand*{\faxphonesocialsymbol}{\marvosymbol{117}}
|
||||
\renewcommand*{\emailsocialsymbol} {\marvosymbol{66}}
|
||||
\renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}}
|
||||
|
||||
\endinput
|
||||
|
||||
|
|
|
|||
|
|
@ -338,7 +338,7 @@
|
|||
(23.7698,30.6792) and (25.7191,30.6094) .. (26.0391,30.6094) -- cycle;
|
||||
\protect\end{scope}
|
||||
\protect\end{tikzpicture}}
|
||||
~}
|
||||
}
|
||||
}{}\par
|
||||
|
||||
\ifdefempty{\matrixsocialsymbol} {
|
||||
|
|
@ -385,7 +385,7 @@
|
|||
(29.2278,31.2454) and (29.6629,31.2462) .. (30.0980,31.2470) -- cycle;
|
||||
\protect\end{scope}
|
||||
\protect\end{tikzpicture}}
|
||||
~}
|
||||
}
|
||||
}{}\par
|
||||
|
||||
\ifdefempty{\signalsocialsymbol} {
|
||||
|
|
@ -455,7 +455,7 @@
|
|||
(629.8000,234.8000) .. (512.0000,234.9000) -- cycle;
|
||||
\protect\end{scope}
|
||||
\protect\end{tikzpicture}}
|
||||
~}
|
||||
}
|
||||
}{}\par
|
||||
|
||||
\ifdefempty{\codebergsocialsymbol} {
|
||||
|
|
@ -475,7 +475,7 @@
|
|||
-- cycle;
|
||||
\protect\end{scope}
|
||||
\protect\end{tikzpicture}}
|
||||
~}
|
||||
}
|
||||
}{}\par
|
||||
|
||||
\ifdefempty{\simplexsocialsymbol} {
|
||||
|
|
@ -494,7 +494,7 @@
|
|||
(100,0) rectangle +(60,20);
|
||||
\protect\end{scope}
|
||||
\protect\end{tikzpicture}}
|
||||
~}
|
||||
}
|
||||
}{}\par
|
||||
|
||||
\ifdefempty{\threemasocialsymbol} {
|
||||
|
|
@ -522,7 +522,7 @@
|
|||
(390,553) circle (68);
|
||||
\protect\end{scope}
|
||||
\protect\end{tikzpicture}}
|
||||
~}
|
||||
}
|
||||
}{}\par
|
||||
|
||||
\endinput
|
||||
|
|
|
|||
83
template.tex
83
template.tex
|
|
@ -57,57 +57,46 @@
|
|||
\title{Résumé title} % 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
|
||||
\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
|
||||
|
||||
% Social icons
|
||||
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
|
||||
\social[xing]{john\_doe} % optional, remove / comment the line if not wanted
|
||||
|
||||
\social[github]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[codeberg]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
|
||||
|
||||
\social[skype]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted
|
||||
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
|
||||
|
||||
\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
|
||||
\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted
|
||||
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted
|
||||
\social[signal]{12345678901} % optional, remove / comment the line if not wanted
|
||||
\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted
|
||||
\social[discord]{jdoe\#0000} % optional, remove / comment the line if not wanted
|
||||
|
||||
% All uses of \social command are optional
|
||||
\social[mobilephone]{+1~(234)~567~890}
|
||||
\social[fixedphone]{+2~(345)~678~901}
|
||||
\social[faxphone]{+3~(456)~789~012}
|
||||
\social[email]{john@doe.org}
|
||||
\social[linkedin]{john.doe}
|
||||
\social[xing]{john\_doe}
|
||||
\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}
|
||||
\social[skype]{jdoe}
|
||||
\social[orcid]{0000-0000-000-000}
|
||||
\social[researchgate]{jdoe}
|
||||
\social[researcherid]{jdoe}
|
||||
\social[googlescholar]{googlescholarid}
|
||||
\social[twitter]{ji\_doe}
|
||||
\social[mastodon]{mastodon.social/web/@user}
|
||||
\social[telegram]{jdoe}
|
||||
\social[whatsapp]{12345678901}
|
||||
\social[signal]{12345678901}
|
||||
\social[matrix]{@johndoe:matrix.org}
|
||||
\social[discord]{jdoe\#0000}
|
||||
\social[twitch]{jdoe}
|
||||
\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.
|
||||
% 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]{channel/XXXXXX} % optional, remove / comment the line if not wanted; 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[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
|
||||
|
||||
\social[youtube]{c/jdoeschannel} %Custom URL - can be shorted by removing 'c/'
|
||||
\social[youtube]{channel/XXXXXX} %Channel URL (ID-based) - can not be shortened
|
||||
\social[youtube]{user/jdoe} %Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/'
|
||||
|
||||
\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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue