mirror of
https://github.com/moderncv/moderncv.git
synced 2026-02-06 10:05:19 +01:00
Merge branch 'master' into PR2-makefile
This commit is contained in:
commit
9b00a0f8eb
21 changed files with 189 additions and 69 deletions
2
.github/workflows/build-pdf.yml
vendored
2
.github/workflows/build-pdf.yml
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
name: Build template
|
name: Build template
|
||||||
on: push
|
on: [push, pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-template:
|
build-template:
|
||||||
|
|
|
||||||
11
CHANGELOG
11
CHANGELOG
|
|
@ -1,3 +1,14 @@
|
||||||
|
Release: next
|
||||||
|
- fix Researcher ID (still) doesn't display Issue #29.
|
||||||
|
- make options 'symbols' and 'nosymbols' available to all styles to toggle whether
|
||||||
|
symbols should be used or not. Include symbols in oldstyle by default.
|
||||||
|
- migrate older newcommand syntax in moderncvcollection.sty to the xparse syntax.
|
||||||
|
- Fix resumé typo in template. Is now résumé.
|
||||||
|
- remove loading lmodern fonts in all styles as they can produce issues with
|
||||||
|
german characters, see https://tex.stackexchange.com/questions/496630/lualatex-problems-with-german-characters.
|
||||||
|
- remove loading inputenc package by default. Only load the package when pdflatex is
|
||||||
|
used.
|
||||||
|
|
||||||
version 2.1.0 (21 Jan 2021)
|
version 2.1.0 (21 Jan 2021)
|
||||||
- maintainer change: now team maintained (https://github.com/moderncv), since
|
- maintainer change: now team maintained (https://github.com/moderncv), since
|
||||||
original repository is basically dead since 2016.
|
original repository is basically dead since 2016.
|
||||||
|
|
|
||||||
25
moderncv.cls
25
moderncv.cls
|
|
@ -249,6 +249,10 @@
|
||||||
% where the <city> and <country> arguments can be omitted or provided empty
|
% 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}}
|
\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)
|
% defines one's email (optional)
|
||||||
% usage: \email{<email adress>}
|
% usage: \email{<email adress>}
|
||||||
\newcommand*{\email}[1]{\def\@email{#1}}
|
\newcommand*{\email}[1]{\def\@email{#1}}
|
||||||
|
|
@ -281,19 +285,22 @@
|
||||||
{%
|
{%
|
||||||
\ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}%
|
\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}{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}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{www.github.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]{www.gitlab.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}{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}{skype}} {\collectionadd[skype]{socials} {#3}} {}%
|
||||||
\ifthenelse{\equal{#1}{orcid}} {\collectionadd[orcid]{socials} {\protect\httpslink[#3]{orcid.org/#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}{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}{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}{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}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}% {}%
|
||||||
}
|
}
|
||||||
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}
|
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
|
||||||
|
|
||||||
% defines additional personal information (optional)
|
% defines additional personal information (optional)
|
||||||
% usage: \extrainfo{<text>}
|
% usage: \extrainfo{<text>}
|
||||||
|
|
@ -323,6 +330,7 @@
|
||||||
% other symbols
|
% other symbols
|
||||||
\newcommand*{\listitemsymbol} {\labelitemi~}
|
\newcommand*{\listitemsymbol} {\labelitemi~}
|
||||||
\newcommand*{\addresssymbol} {}
|
\newcommand*{\addresssymbol} {}
|
||||||
|
\newcommand*{\bornsymbol} {}
|
||||||
\newcommand*{\mobilephonesymbol} {}
|
\newcommand*{\mobilephonesymbol} {}
|
||||||
\newcommand*{\fixedphonesymbol} {}
|
\newcommand*{\fixedphonesymbol} {}
|
||||||
\newcommand*{\faxphonesymbol} {}
|
\newcommand*{\faxphonesymbol} {}
|
||||||
|
|
@ -338,9 +346,12 @@
|
||||||
\newcommand*{\skypesocialsymbol} {}
|
\newcommand*{\skypesocialsymbol} {}
|
||||||
\newcommand*{\orcidsocialsymbol} {}
|
\newcommand*{\orcidsocialsymbol} {}
|
||||||
\newcommand*{\researchgatesocialsymbol} {}
|
\newcommand*{\researchgatesocialsymbol} {}
|
||||||
\newcommand*{\researchidsocialsymbol} {}
|
\newcommand*{\researcheridsocialsymbol} {}
|
||||||
\newcommand*{\googlescholarsocialsymbol}{}
|
\newcommand*{\googlescholarsocialsymbol}{}
|
||||||
\newcommand*{\telegramsocialsymbol} {}
|
\newcommand*{\telegramsocialsymbol} {}
|
||||||
|
\newcommand*{\whatsappsocialsymbol} {}
|
||||||
|
\newcommand*{\matrixsocialsymbol} {}
|
||||||
|
\newcommand*{\signalsocialsymbol} {}
|
||||||
|
|
||||||
% other
|
% other
|
||||||
%------
|
%------
|
||||||
|
|
@ -551,8 +562,8 @@
|
||||||
\newcommand*{\emaillink}[2][]{%
|
\newcommand*{\emaillink}[2][]{%
|
||||||
\ifthenelse{\equal{#1}{}}%
|
\ifthenelse{\equal{#1}{}}%
|
||||||
{\href{mailto:#2}{#2}}%
|
{\href{mailto:#2}{#2}}%
|
||||||
|
|
||||||
{\href{mailto:#2}{\detokenize{#1}}}}
|
{\href{mailto:#2}{\detokenize{#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][]{%
|
||||||
|
|
|
||||||
|
|
@ -27,42 +27,48 @@
|
||||||
|
|
||||||
% creates a new collection
|
% creates a new collection
|
||||||
% usage: \collectionnew{<collection name>}
|
% usage: \collectionnew{<collection name>}
|
||||||
\newcommand*{\collectionnew}[1]{%
|
\NewDocumentCommand\collectionnew{m}{%
|
||||||
\newcounter{collection@#1@count}}
|
\newcounter{collection@#1@count}%
|
||||||
|
}%
|
||||||
|
|
||||||
% adds an item to a collection
|
% adds an item to a collection
|
||||||
% usage: \collectionadd[<optional key>]{<collection name>}{<item to add>}
|
% usage: \collectionadd[<optional key>]{<collection name>}{<item to add>}
|
||||||
\newcommand*{\collectionadd}[3][]{%
|
\NewDocumentCommand\collectionadd{ O{} m m }{%
|
||||||
\expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}%
|
\expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}%
|
||||||
\if\relax\noexpand#1\relax% if #1 is empty
|
\def\optional@FirstArg{#1}%
|
||||||
\else\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}\fi%
|
\ifdefempty{\optional@FirstArg}{%
|
||||||
\stepcounter{collection@#2@count}}
|
\relax% if #1 is empty
|
||||||
|
}{%
|
||||||
|
\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}%
|
||||||
|
}%
|
||||||
|
\stepcounter{collection@#2@count}%
|
||||||
|
}%
|
||||||
% returns the number of items in a collection
|
% returns the number of items in a collection
|
||||||
% usage: \collectioncount{<collection name>}
|
% usage: \collectioncount{<collection name>}
|
||||||
\newcommand*{\collectioncount}[1]{%
|
\NewDocumentCommand\collectioncount{m}{%
|
||||||
\value{collection@#1@count}}
|
\value{collection@#1@count}%
|
||||||
|
}%
|
||||||
% gets an item from a collection
|
% gets an item from a collection
|
||||||
% usage: \collectiongetitem{<collection name>}{<element id>}
|
% usage: \collectiongetitem{<collection name>}{<element id>}
|
||||||
% where <element id> is an integer between 0 and (collectioncount-1)
|
% where <element id> is an integer between 0 and (collectioncount-1)
|
||||||
\newcommand*{\collectiongetitem}[2]{%
|
\NewDocumentCommand\collectiongetitem{m m}{%
|
||||||
\csname collection@#1@item\romannumeral #2\endcsname}
|
\csname collection@#1@item\romannumeral #2\endcsname%
|
||||||
|
}%
|
||||||
|
|
||||||
% gets a key from a collection
|
% gets a key from a collection
|
||||||
% usage: \collectiongetkey{<collection name>}{<element id>}
|
% usage: \collectiongetkey{<collection name>}{<element id>}
|
||||||
% where <element id> is an integer between 0 and (collectioncount-1)
|
% where <element id> is an integer between 0 and (collectioncount-1)
|
||||||
\newcommand*{\collectiongetkey}[2]{%
|
\NewDocumentCommand\collectiongetkey{m m}{%
|
||||||
\csname collection@#1@key\romannumeral #2\endcsname}
|
\csname collection@#1@key\romannumeral #2\endcsname%
|
||||||
|
}%
|
||||||
% loops through a collection and perform the given operation on every element
|
% loops through a collection and perform the given operation on every element
|
||||||
% usage: \collectionloop{<collection name>}{<operation sequence>}
|
% usage: \collectionloop{<collection name>}{<operation sequence>}
|
||||||
% where <operation sequence> is the code sequence to be evaluated for each collection item,
|
% where <operation sequence> is the code sequence to be evaluated for each collection item,
|
||||||
% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and
|
% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and
|
||||||
% \collectionloopbreak
|
% \collectionloopbreak
|
||||||
\newcounter{collection@iterator}
|
\newcounter{collection@iterator}
|
||||||
\newcommand*{\collectionloopbreak}{\let\iterate\relax}
|
\NewDocumentCommand\collectionloopbreak{}{\let\iterate\relax}
|
||||||
\newcommand*{\collectionloop}[2]{%
|
\NewDocumentCommand\collectionloop{m m}{%
|
||||||
\setcounter{collection@iterator}{0}%
|
\setcounter{collection@iterator}{0}%
|
||||||
\loop\ifnum\value{collection@iterator}<\value{collection@#1@count}%
|
\loop\ifnum\value{collection@iterator}<\value{collection@#1@count}%
|
||||||
\def\collectionloopid{\arabic{collection@iterator}}%
|
\def\collectionloopid{\arabic{collection@iterator}}%
|
||||||
|
|
@ -70,14 +76,15 @@
|
||||||
\def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}%
|
\def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}%
|
||||||
#2%
|
#2%
|
||||||
\stepcounter{collection@iterator}%
|
\stepcounter{collection@iterator}%
|
||||||
\repeat}
|
\repeat%
|
||||||
|
}
|
||||||
|
|
||||||
% loops through a collection and finds the (first) element matching the given key
|
% loops through a collection and finds the (first) element matching the given key
|
||||||
% usage: \collectionfindbykey{<collection name>}{key>}
|
% usage: \collectionfindbykey{<collection name>}{key>}
|
||||||
\newcommand*{\collectionfindbykey}[2]{%
|
\NewDocumentCommand\collectionfindbykey{m m}{%
|
||||||
\collectionloop{#1}{%
|
\collectionloop{#1}{%
|
||||||
\ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}}
|
\ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}%
|
||||||
|
}%
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
|
||||||
\flushfoot\@firstfootelementtrue\\}%
|
\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
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
|
\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{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}%
|
||||||
\flushfoot\@firstfootelementtrue\\}%
|
\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
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@
|
||||||
\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}}%
|
||||||
|
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
|
||||||
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
|
\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{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
|
\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
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,7 @@
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\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}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
|
\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
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,7 @@
|
||||||
\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}}%
|
||||||
|
\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
|
\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}%
|
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@
|
||||||
\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}}%
|
||||||
|
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol~\@born}%
|
||||||
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
|
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,7 @@
|
||||||
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
\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}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
\flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}%
|
\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
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
|
\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*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
|
||||||
%\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} {{\small\faMobile}~}
|
\renewcommand*{\mobilephonesymbol} {{\small\faMobile}~}
|
||||||
\renewcommand*{\fixedphonesymbol} {{\small\faPhone}~}
|
\renewcommand*{\fixedphonesymbol} {{\small\faPhone}~}
|
||||||
|
|
@ -45,9 +46,14 @@
|
||||||
\renewcommand*{\skypesocialsymbol} {{\small\faSkype}~}
|
\renewcommand*{\skypesocialsymbol} {{\small\faSkype}~}
|
||||||
\renewcommand*{\orcidsocialsymbol} {{\small\aiOrcid}~}
|
\renewcommand*{\orcidsocialsymbol} {{\small\aiOrcid}~}
|
||||||
\renewcommand*{\researchgatesocialsymbol} {{\small\aiResearchGate}~}
|
\renewcommand*{\researchgatesocialsymbol} {{\small\aiResearchGate}~}
|
||||||
\renewcommand*{\researchidsocialsymbol} {{\small\aiResearcherID}~}
|
\renewcommand*{\researcheridsocialsymbol} {{\small\aiResearcherID}~} % alternative: \aiResearcherIDSquare
|
||||||
\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
|
\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
|
||||||
\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
|
\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
|
||||||
|
\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
|
||||||
|
\renewcommand*{\whatsappsocialsymbol} {{\small\faWhatsapp}~}
|
||||||
|
\renewcommand*{\signalsocialsymbol} {}
|
||||||
|
\renewcommand*{\matrixsocialsymbol} {}
|
||||||
|
\renewcommand*{\bornsymbol} {{\small\faAsterisk}~}
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,9 +50,13 @@
|
||||||
\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*{\researchidsocialsymbol} {\textbf{ri}~}
|
\renewcommand*{\researcheridsocialsymbol} {\textbf{ri}~}
|
||||||
\renewcommand*{\telegramsocialsymbol} {\textbf{tg}~}
|
\renewcommand*{\telegramsocialsymbol} {\textbf{tg}~}
|
||||||
|
\renewcommand*{\whatsappsocialsymbol} {\textbf{wa}~}
|
||||||
|
\renewcommand*{\signalsocialsymbol} {\textbf{si}~}
|
||||||
|
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~}
|
||||||
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
|
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
|
||||||
|
\renewcommand*{\bornsymbol} {\textbf{B}~}
|
||||||
|
|
||||||
\renewcommand*{\listitemsymbol} {\labelitemi~}
|
\renewcommand*{\listitemsymbol} {\labelitemi~}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -227,9 +227,12 @@
|
||||||
\renewcommand*{\stackoverflowsocialsymbol}{}
|
\renewcommand*{\stackoverflowsocialsymbol}{}
|
||||||
\renewcommand*{\googlescholarsocialsymbol}{}
|
\renewcommand*{\googlescholarsocialsymbol}{}
|
||||||
\renewcommand*{\telegramsocialsymbol}{}
|
\renewcommand*{\telegramsocialsymbol}{}
|
||||||
|
\renewcommand*{\whatsappsocialsymbol}{}
|
||||||
|
\renewcommand*{\signalsocialsymbol}{}
|
||||||
|
\renewcommand*{\matrixsocialsymbol}{}
|
||||||
\renewcommand*{\orcidsocialsymbol}{}
|
\renewcommand*{\orcidsocialsymbol}{}
|
||||||
\renewcommand*{\researchgatesocialsymbol}{}
|
\renewcommand*{\researchgatesocialsymbol}{}
|
||||||
\renewcommand*{\researchidsocialsymbol}{}
|
\renewcommand*{\researcheridsocialsymbol}{}
|
||||||
\renewcommand*{\bitbucketsocialsymbol}{}
|
\renewcommand*{\bitbucketsocialsymbol}{}
|
||||||
\renewcommand*{\skypesocialsymbol} {%
|
\renewcommand*{\skypesocialsymbol} {%
|
||||||
\protect\raisebox{-0.15em}{%
|
\protect\raisebox{-0.15em}{%
|
||||||
|
|
@ -264,6 +267,7 @@
|
||||||
\protect\end{scope}%
|
\protect\end{scope}%
|
||||||
\protect\end{tikzpicture}}%
|
\protect\end{tikzpicture}}%
|
||||||
~}
|
~}
|
||||||
|
\renewcommand*{\bornsymbol}{}
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,13 @@
|
||||||
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
|
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
|
||||||
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
|
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
|
||||||
|
|
||||||
|
% toggle use of symbol fonts.
|
||||||
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{mixedrules,left}
|
\ExecuteOptions{mixedrules,left,symbols}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -49,14 +54,18 @@
|
||||||
%\fi
|
%\fi
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\RequirePackage{ifxetex}
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\ifxetexorluatex
|
||||||
\moderncvicons{awesome}
|
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
||||||
|
\else
|
||||||
|
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
||||||
|
\fi
|
||||||
\else
|
\else
|
||||||
\moderncvicons{marvosym}
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% header, body & footer
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,13 @@
|
||||||
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
||||||
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
|
|
||||||
|
% toggle use of symbol fonts.
|
||||||
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{right}
|
\ExecuteOptions{right,symbols}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -30,17 +35,20 @@
|
||||||
% \setsansfont{Latin Modern Sans}
|
% \setsansfont{Latin Modern Sans}
|
||||||
% \setmathfont{Latin Modern Math}
|
% \setmathfont{Latin Modern Math}
|
||||||
%\else
|
%\else
|
||||||
\IfFileExists{lmodern.sty}%
|
% \IfFileExists{lmodern.sty}%
|
||||||
{\RequirePackage{lmodern}}%
|
% {\RequirePackage{lmodern}}%
|
||||||
{}
|
% {}
|
||||||
%\fi
|
%\fi
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\RequirePackage{ifxetex}
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\ifxetexorluatex
|
||||||
\moderncvicons{awesome}
|
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
||||||
|
\else
|
||||||
|
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
||||||
|
\fi
|
||||||
\else
|
\else
|
||||||
\moderncvicons{marvosym}
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,13 @@
|
||||||
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
||||||
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
|
|
||||||
|
% toggle use of symbol fonts.
|
||||||
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{left}
|
\ExecuteOptions{left,symbols}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -30,17 +35,20 @@
|
||||||
% \setsansfont{Latin Modern Sans}
|
% \setsansfont{Latin Modern Sans}
|
||||||
% \setmathfont{Latin Modern Math}
|
% \setmathfont{Latin Modern Math}
|
||||||
%\else
|
%\else
|
||||||
\IfFileExists{lmodern.sty}%
|
% \IfFileExists{lmodern.sty}%
|
||||||
{\RequirePackage{lmodern}}%
|
% {\RequirePackage{lmodern}}%
|
||||||
{}
|
% {}
|
||||||
%\fi
|
%\fi
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\RequirePackage{ifxetex}
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\ifxetexorluatex
|
||||||
\moderncvicons{awesome}
|
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
||||||
|
\else
|
||||||
|
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
||||||
|
\fi
|
||||||
\else
|
\else
|
||||||
\moderncvicons{marvosym}
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,20 +12,40 @@
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstyleempty}[2021/01/21 v2.1.0 modern curriculum vitae scheme: empty]
|
\ProvidesPackage{moderncvstyleempty}[2021/01/21 v2.1.0 modern curriculum vitae scheme: empty]
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% required packages
|
% required packages
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% package options
|
% package options
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
% toggle use of symbol fonts.
|
||||||
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
|
\ExecuteOptions{symbols}
|
||||||
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% style definition
|
% style definition
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% fonts & icons
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% symbols
|
||||||
|
\if@symbols
|
||||||
|
\ifxetexorluatex
|
||||||
|
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
||||||
|
\else
|
||||||
|
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
|
\fi
|
||||||
|
|
||||||
% see moderncv.cls for command declarations that needs to be implemented, e.g. \maketitle, \section, \subsections, \cvline, etc
|
% see moderncv.cls for command declarations that needs to be implemented, e.g. \maketitle, \section, \subsections, \cvline, etc
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,13 @@
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstylefancy}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: fancy]
|
\ProvidesPackage{moderncvstylefancy}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: fancy]
|
||||||
|
|
||||||
|
% toggle use of symbol fonts.
|
||||||
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{}
|
\ExecuteOptions{symbols}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -30,12 +35,16 @@
|
||||||
{}
|
{}
|
||||||
%\fi
|
%\fi
|
||||||
|
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\RequirePackage{ifxetex}
|
\if@symbols
|
||||||
\ifxetexorluatex
|
\ifxetexorluatex
|
||||||
\moderncvicons{awesome}
|
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
||||||
|
\else
|
||||||
|
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
||||||
|
\fi
|
||||||
\else
|
\else
|
||||||
\moderncvicons{marvosym}
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,14 @@
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstyleoldstyle}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: oldstyle]
|
\ProvidesPackage{moderncvstyleoldstyle}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: oldstyle]
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
% toggle use of symbol fonts.
|
||||||
\ExecuteOptions{}
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
|
\ExecuteOptions{symbols}
|
||||||
|
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% fonts & icons
|
% fonts & icons
|
||||||
|
|
@ -35,7 +39,15 @@
|
||||||
%\fi
|
%\fi
|
||||||
|
|
||||||
% symbols
|
% symbols
|
||||||
\moderncvicons{letters}
|
\if@symbols
|
||||||
|
\ifxetexorluatex
|
||||||
|
\moderncvicons{awesome} % use font-awesome symbols if lualatex or xelatex is used
|
||||||
|
\else
|
||||||
|
\moderncvicons{marvosym} % use marvosym symbols pdflatex is used
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
11
template.tex
11
template.tex
|
|
@ -23,10 +23,10 @@
|
||||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||||
|
|
||||||
|
|
||||||
% personal data
|
% personal data
|
||||||
\name{John}{Doe}
|
\name{John}{Doe}
|
||||||
\title{Resumé 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
|
||||||
\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[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[fixed]{+2~(345)~678~901}
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
% Social icons
|
% Social icons
|
||||||
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
|
\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[twitter]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[github]{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
|
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
|
|
@ -47,7 +47,10 @@
|
||||||
\social[researchgate]{jdoe} % 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[researcherid]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[telegram]{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
|
\extrainfo{additional information} % optional, remove / comment the line if not wanted
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue