mirror of
https://github.com/moderncv/moderncv.git
synced 2026-02-06 10:05:19 +01:00
Merge branch 'master' into update_documentation
This commit is contained in:
commit
01c1eec8ee
14 changed files with 55 additions and 10 deletions
2
.github/workflows/build-pdf.yml
vendored
2
.github/workflows/build-pdf.yml
vendored
|
|
@ -1,5 +1,5 @@
|
|||
name: Build template
|
||||
on: push
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build-template:
|
||||
|
|
|
|||
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -6,9 +6,17 @@
|
|||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
<<<<<<< HEAD
|
||||
*.pdf
|
||||
*.kate-swp
|
||||
*.toc
|
||||
=======
|
||||
*.synctex.gz
|
||||
|
||||
# template.tex output
|
||||
# move to *.pdf once manual is done
|
||||
template.pdf
|
||||
>>>>>>> upstream/master
|
||||
|
||||
# release tarballs
|
||||
moderncv-*.tar.gz
|
||||
|
|
|
|||
23
moderncv.cls
23
moderncv.cls
|
|
@ -249,6 +249,10 @@
|
|||
% where the <city> and <country> arguments can be omitted or provided empty
|
||||
\NewDocumentCommand{\address}{mG{}G{}}{\def\@addressstreet{#1}\def\@addresscity{#2}\def\@addresscountry{#3}}
|
||||
|
||||
% defines one's birthday (optional)
|
||||
% usage: \born{date, place}
|
||||
\newcommand*{\born}[1]{\def\@born{#1}}
|
||||
|
||||
% defines one's email (optional)
|
||||
% usage: \email{<email adress>}
|
||||
\newcommand*{\email}[1]{\def\@email{#1}}
|
||||
|
|
@ -281,16 +285,19 @@
|
|||
{%
|
||||
\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]{www.twitter.com/#3}}} {}%
|
||||
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{www.github.com/#3}}} {}%
|
||||
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{www.gitlab.com/#3}}} {}%
|
||||
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#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]{www.bitbucket.org/#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}}} {}% {}%
|
||||
}
|
||||
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
|
||||
|
|
@ -323,6 +330,7 @@
|
|||
% other symbols
|
||||
\newcommand*{\listitemsymbol} {\labelitemi~}
|
||||
\newcommand*{\addresssymbol} {}
|
||||
\newcommand*{\bornsymbol} {}
|
||||
\newcommand*{\mobilephonesymbol} {}
|
||||
\newcommand*{\fixedphonesymbol} {}
|
||||
\newcommand*{\faxphonesymbol} {}
|
||||
|
|
@ -341,6 +349,9 @@
|
|||
\newcommand*{\researcheridsocialsymbol} {}
|
||||
\newcommand*{\googlescholarsocialsymbol}{}
|
||||
\newcommand*{\telegramsocialsymbol} {}
|
||||
\newcommand*{\whatsappsocialsymbol} {}
|
||||
\newcommand*{\matrixsocialsymbol} {}
|
||||
\newcommand*{\signalsocialsymbol} {}
|
||||
|
||||
% other
|
||||
%------
|
||||
|
|
@ -379,7 +390,7 @@
|
|||
% usage: \moderncvfoot[<optional foot option>]{<foot variant number>}
|
||||
\newcommand*{\moderncvfoot}[2][]{%
|
||||
\@loadmoderncvpackage[#1]{foot}{#2}}
|
||||
|
||||
|
||||
% loads a color scheme
|
||||
% usage: \moderncvcolor{<color scheme name>}
|
||||
\newcommand*{\moderncvcolor}[1]{%
|
||||
|
|
@ -583,8 +594,8 @@
|
|||
\newcommand*{\emaillink}[2][]{%
|
||||
\ifthenelse{\equal{#1}{}}%
|
||||
{\href{mailto:#2}{#2}}%
|
||||
|
||||
{\href{mailto:#2}{\detokenize{#1}}}}
|
||||
|
||||
% makes a tel hyperlink
|
||||
% usage: \tellink[optional text]{link}
|
||||
\newcommand*{\tellink}[2][]{%
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@
|
|||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||
\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}}}%
|
||||
|
|
@ -116,6 +117,7 @@
|
|||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
|
||||
\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}}}%
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@
|
|||
\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}}%
|
||||
\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\httpslink{\@homepage}}%
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@
|
|||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||
\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}}}%
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@
|
|||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||
\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}}}%
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@
|
|||
\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}}%
|
||||
\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}}%
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@
|
|||
\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}}%
|
||||
\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}}%
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@
|
|||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||
\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}}}%
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
|
||||
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
|
||||
|
||||
|
||||
\renewcommand*{\addresssymbol} {}
|
||||
\renewcommand*{\mobilephonesymbol} {{\small\faMobile}~}
|
||||
\renewcommand*{\fixedphonesymbol} {{\small\faPhone}~}
|
||||
|
|
@ -48,6 +49,11 @@
|
|||
\renewcommand*{\researcheridsocialsymbol} {{\small\aiResearcherID}~} % alternative: \aiResearcherIDSquare
|
||||
\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
|
||||
\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
|
||||
\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
|
||||
\renewcommand*{\whatsappsocialsymbol} {{\small\faWhatsapp}~}
|
||||
\renewcommand*{\signalsocialsymbol} {}
|
||||
\renewcommand*{\matrixsocialsymbol} {}
|
||||
\renewcommand*{\bornsymbol} {{\small\faAsterisk}~}
|
||||
|
||||
\endinput
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,11 @@
|
|||
\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*{\listitemsymbol} {\labelitemi~}
|
||||
|
||||
|
|
|
|||
|
|
@ -227,6 +227,9 @@
|
|||
\renewcommand*{\stackoverflowsocialsymbol}{}
|
||||
\renewcommand*{\googlescholarsocialsymbol}{}
|
||||
\renewcommand*{\telegramsocialsymbol}{}
|
||||
\renewcommand*{\whatsappsocialsymbol}{}
|
||||
\renewcommand*{\signalsocialsymbol}{}
|
||||
\renewcommand*{\matrixsocialsymbol}{}
|
||||
\renewcommand*{\orcidsocialsymbol}{}
|
||||
\renewcommand*{\researchgatesocialsymbol}{}
|
||||
\renewcommand*{\researcheridsocialsymbol}{}
|
||||
|
|
@ -238,7 +241,7 @@
|
|||
\protect\path[fill=color2,even odd rule]
|
||||
(487.6550,288.9690) .. controls (489.0610,278.5690) and (489.8700,267.9960) ..
|
||||
(489.8700,257.2330) .. controls (489.8700,128.0770) and (384.5990,23.3610) ..
|
||||
(254.7670,23.3610) .. controls (241.8630,23.3610) and (229.2120,24.4210) ..
|
||||
(254.7670,23.3610) .. controls (241.8630,23.3610) and (229.2120,24.4210) ..
|
||||
(216.9010,26.4410) .. controls (194.8280,12.0570) and (168.5590,3.6740) ..
|
||||
(140.2880,3.6740) .. controls (62.7660,3.6740) and (0.0000,66.4820) ..
|
||||
(0.0000,143.9800) .. controls (0.0000,172.1780) and (8.2990,198.3740) ..
|
||||
|
|
@ -264,6 +267,7 @@
|
|||
\protect\end{scope}%
|
||||
\protect\end{tikzpicture}}%
|
||||
~}
|
||||
\renewcommand*{\bornsymbol}{}
|
||||
|
||||
|
||||
\endinput
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
% personal data
|
||||
\name{John}{Doe}
|
||||
\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}
|
||||
|
|
@ -35,7 +36,7 @@
|
|||
|
||||
% 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[xing]{john_doe} % optional, remove / comment the line if not wanted
|
||||
\social[twitter]{jdoe} % 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
|
||||
|
|
@ -46,7 +47,10 @@
|
|||
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted
|
||||
\social[googlescholar]{googlescholarid} % 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[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
|
||||
|
||||
|
||||
\extrainfo{additional information} % optional, remove / comment the line if not wanted
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue