summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-01-22 22:31:33 +0000
committerKarl Berry <karl@freefriends.org>2021-01-22 22:31:33 +0000
commit8b1eff59ef4e0fa32ff38461e631a55cc747d3b3 (patch)
tree608af609410ab0bac2223879ab770e727b47578c /Master/texmf-dist/tex/latex
parent393d98aa9b73034e551b7548b484a26c824386ad (diff)
moderncv (22jan21)
git-svn-id: svn://tug.org/texlive/trunk@57496 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncv.cls174
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty10
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty10
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty27
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty9
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty19
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty7
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty8
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty11
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty8
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty20
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty13
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty10
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty6
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty39
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty32
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty46
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty1051
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty11
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty11
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty11
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty11
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty4
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/tweaklist.sty4
35 files changed, 1418 insertions, 178 deletions
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
index 193f8e2bb6e..2facfcd8d48 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
@@ -1,5 +1,5 @@
%% start of file `moderncv.cls'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{moderncv}[2015/07/28 v2.0.0 modern curriculum vitae and letter document class]
+\ProvidesClass{moderncv}[2021/01/21 v2.1.0 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------
@@ -95,21 +95,34 @@
\xetexorluatexfalse
\fi
\fi
-% automatic loading of latin modern fonts
-%\ifxetexorluatex
-% \RequirePackage{fontspec}
-% \defaultfontfeatures{Ligatures=TeX}
-% \RequirePackage{unicode-math}
-% \setmainfont{Latin Modern}
-% \setsansfont{Latin Modern Sans}
-% \setmathfont{Latin Modern Math}
-%\else
- \RequirePackage[T1]{fontenc}
- \IfFileExists{lmodern.sty}%
- {\RequirePackage{lmodern}}%
- {}
-%\fi
+% do not use inputenc and do not automatically load lmodern to avoid problems with German
+% charactes, see
+% https://tex.stackexchange.com/questions/496630/lualatex-problems-with-german-characters
+\ifxetexorluatex
+% \RequirePackage{fontspec}
+% \defaultfontfeatures{Ligatures=TeX}
+% \RequirePackage{unicode-math}
+% \setmainfont{Latin Modern}
+% \setsansfont{Latin Modern Sans}
+% \setmathfont{Latin Modern Math}
+% \ifluatex
+% \usepackage{luatextra}
+% \usepackage{lualatex-math} %loads fontspec
+% \usepackage{shellesc} % fix a bug for lualatex shellescape
+% \fi
+\else
+ \RequirePackage[utf8]{inputenc}
+% \RequirePackage[utf8]{inputenx}
+% %additions for utf8
+% \input{ix-utf8enc.dfu}
+ \RequirePackage[T1]{fontenc}
+ % loading lmodern can cause issues with certain special characters. avoid.
+% \IfFileExists{lmodern.sty}%
+% {\RequirePackage{lmodern}}%
+% {}
+% \fi
+\fi
% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
\newcommand*\pdfpagemode{UseNone}% do not show thumbnails or bookmarks on opening (on supporting browsers); set \pdfpagemode to "UseOutlines" to show bookmarks
\RequirePackage{url}
@@ -129,8 +142,8 @@
bookmarksdepth= 2,% to show sections and subsections
pdfauthor = {\@firstname{}~\@lastname{}},
pdftitle = {\@firstname{}~\@lastname{}\notblank{\@title}{ -- \@title}{}},
- pdfsubject = {Resum\'{e} of \@firstname{}~\@lastname{}},
- pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, resum\'{e}}}}
+ pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}},
+ pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}}
% graphics
\RequirePackage{graphicx}
@@ -155,13 +168,13 @@
\settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
\fancypagestyle{plain}{%
\fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
- \pagestyle{plain}}{}}%
- \AtEndDocument{\label{lastpage}}\else\fi}}
+ \pagestyle{plain}}{}}\fi}%
+ \AtEndDocument{\label{lastpage}}}
\pagestyle{plain}
% reduced list spacing
% package providing hooks into lists
-% originally developped by Jakob Schiøtz (see http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty)
+% originally developped by Jakob Schiotz (see http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty)
% modified and distributed with moderncv(not available otherwise on ctan)
\RequirePackage{tweaklist}
\renewcommand*{\itemhook}{%
@@ -191,6 +204,7 @@
% compatibility package with older versions of moderncv
\RequirePackageWithOptions{moderncvcompatibility}
+\RequirePackage{expl3}
%-------------------------------------------------------------------------------
% class definition
@@ -247,20 +261,39 @@
% usage: \phone[<optional type>]{<number>}
% where <optional type> should be either "fixed" (default), "mobile" or "fax
\collectionnew{phones}
-\newcommand*{\phone}[2][fixed]{\collectionadd[#1]{phones}{#2}}
+\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}
+
+
% 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", "twitter" or "github"
+% where <optional type> should be either "linkedin", "xing", "twitter", "github", "gitlab", "bitbucket" or "skype"
\collectionnew{socials}
\NewDocumentCommand{\social}{O{}O{}m}{%
\ifthenelse{\equal{#2}{}}%
{%
- \ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httplink[#3]{www.linkedin.com/in/#3}}}{}%
- \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httplink[#3]{www.twitter.com/#3}}} {}%
- \ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httplink[#3]{www.github.com/#3}}} {}%
- }
- {\collectionadd[#1]{socials}{\protect\httplink[#3]{#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]{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}{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}{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}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}% {}%
+ }
+ {\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}
% defines additional personal information (optional)
% usage: \extrainfo{<text>}
@@ -288,16 +321,26 @@
\renewcommand{\theenumiv} {\@Alph\c@enumiv}
% other symbols
-\newcommand*{\listitemsymbol} {\labelitemi~}
-\newcommand*{\addresssymbol} {}
-\newcommand*{\mobilephonesymbol} {}
-\newcommand*{\fixedphonesymbol} {}
-\newcommand*{\faxphonesymbol} {}
-\newcommand*{\emailsymbol} {}
-\newcommand*{\homepagesymbol} {}
-\newcommand*{\linkedinsocialsymbol}{}
-\newcommand*{\twittersocialsymbol} {}
-\newcommand*{\githubsocialsymbol} {}
+\newcommand*{\listitemsymbol} {\labelitemi~}
+\newcommand*{\addresssymbol} {}
+\newcommand*{\mobilephonesymbol} {}
+\newcommand*{\fixedphonesymbol} {}
+\newcommand*{\faxphonesymbol} {}
+\newcommand*{\emailsymbol} {}
+\newcommand*{\homepagesymbol} {}
+\newcommand*{\linkedinsocialsymbol} {}
+\newcommand*{\xingsocialsymbol} {}
+\newcommand*{\twittersocialsymbol} {}
+\newcommand*{\githubsocialsymbol} {}
+\newcommand*{\gitlabsocialsymbol} {}
+\newcommand*{\stackoverflowsocialsymbol}{}
+\newcommand*{\bitbucketsocialsymbol} {}
+\newcommand*{\skypesocialsymbol} {}
+\newcommand*{\orcidsocialsymbol} {}
+\newcommand*{\researchgatesocialsymbol} {}
+\newcommand*{\researchidsocialsymbol} {}
+\newcommand*{\googlescholarsocialsymbol}{}
+\newcommand*{\telegramsocialsymbol} {}
% other
%------
@@ -312,34 +355,39 @@
% usage: \makefooter
\newcommand*{\makefooter}{}%
+\newcommand*{\@loadmoderncvpackage}[3][]{%
+ \begingroup\edef\x{\endgroup%
+ \noexpand\RequirePackage[#1]{moderncv#2\ifcase#3\or i\or ii\or iii\or iv\or v\or vi\or vii\or viii\or ix\or x\fi}%
+ }\x}
+
% loads a style variant (a combination of header, body and footer)
% usage: \moderncvstyle{<style variant name>}
-\newcommand*{\moderncvstyle}[2][]{
+\newcommand*{\moderncvstyle}[2][]{%
\RequirePackage[#1]{moderncvstyle#2}}
% loads a header variant
% usage: \moderncvhead[<optional head option>]{<header variant number>}
-\newcommand*{\moderncvhead}[2][]{
- \expandafter\RequirePackage\expandafter[\expandafter#1\expandafter]{\expandafter moderncvhead\romannumeral #2}}
+\newcommand*{\moderncvhead}[2][]{%
+ \@loadmoderncvpackage[#1]{head}{#2}}
% loads a body variant
% usage: \moderncvbody[<optional body option>]{<body variant number>}
-\newcommand*{\moderncvbody}[2][]{
- \expandafter\RequirePackage\expandafter[\expandafter#1\expandafter]{\expandafter moderncvbody\romannumeral #2}}
+\newcommand*{\moderncvbody}[2][]{%
+ \@loadmoderncvpackage[#1]{body}{#2}}
% loads a footer variant
-% usage: \moderncvfoot{<footer variant number>}
-\newcommand*{\moderncvfoot}[1]{
- \expandafter\RequirePackage\expandafter{\expandafter moderncvfoot\romannumeral #1}}
+% 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]{
+\newcommand*{\moderncvcolor}[1]{%
\RequirePackage{moderncvcolor#1}}
% loads an icons set
% usage: \moderncvicons{<icon set name>}
-\newcommand*{\moderncvicons}[1]{
+\newcommand*{\moderncvicons}[1]{%
\RequirePackage{moderncvicons#1}}
% recomputes all automatic lengths
@@ -481,21 +529,45 @@
\newcommand*{\link}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\href{#2}{#2}}%
- {\href{#2}{#1}}}
+ {\href{#2}{\detokenize{#1}}}}
% makes a http hyperlink
% usage: \httplink[optional text]{link}
\newcommand*{\httplink}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\href{http://#2}{#2}}%
- {\href{http://#2}{#1}}}
+ {\href{http://#2}{\detokenize{#1}}}}
+
+
+% makes an https hyperlink
+% usage: \httpslink[optional text]{link}
+\newcommand*{\httpslink}[2][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{https://#2}{#2}}%
+ {\href{https://#2}{\detokenize{#1}}}}
% makes an email hyperlink
% usage: \emaillink[optional text]{link}
\newcommand*{\emaillink}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\href{mailto:#2}{#2}}%
- {\href{mailto:#2}{#1}}}
+
+ {\href{mailto:#2}{\detokenize{#1}}}}
+% makes a tel hyperlink
+% usage: \tellink[optional text]{link}
+\newcommand*{\tellink}[2][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\expandafter\onlynumberslink\expandafter{#2}{#2}}%
+ {\expandafter\onlynumberslink\expandafter{#2}{#1}}}
+
+\ExplSyntaxOn
+\tl_new:N \l_onlynumberslink_tl
+\cs_new:Npn \onlynumberslink #1 #2 {
+ \tl_set:Nn \l_onlynumberslink_tl {#1}
+ \regex_replace_all:nnN {[^0-9+]} {} \l_onlynumberslink_tl
+ \href{ tel\token_to_str:N : \tl_use:N \l_onlynumberslink_tl}{ #2 }
+}
+\ExplSyntaxOff
% cvcolumns environment, where every column is created through \cvcolumn
% usage: \begin{cvcolumns}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty
index a86bcf2425d..b30af90b5f8 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,15 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyi}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 1]
+\ProvidesPackage{moderncvbodyi}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 1]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-
+% provides the commands for the skillmatrix as well as the command
+% \recompute@cvskillmatrix@lengths
+\RequirePackage[moderncvbodyi]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall body definition
@@ -59,9 +61,11 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}
+
\@initializelength{\baseletterheight}
\settoheight{\baseletterheight}{\sectionstyle{o}}
\setlength{\baseletterheight}{\baseletterheight-0.95ex}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty
index a86bcf2425d..b30af90b5f8 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,15 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyi}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 1]
+\ProvidesPackage{moderncvbodyi}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 1]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-
+% provides the commands for the skillmatrix as well as the command
+% \recompute@cvskillmatrix@lengths
+\RequirePackage[moderncvbodyi]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall body definition
@@ -59,9 +61,11 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}
+
\@initializelength{\baseletterheight}
\settoheight{\baseletterheight}{\sectionstyle{o}}
\setlength{\baseletterheight}{\baseletterheight-0.95ex}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty
index a2de047a554..85fff254788 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiii}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 3]
+\ProvidesPackage{moderncvbodyiii}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 3]
% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializeif{\if@fullrules}\@fullrulesfalse
@@ -37,7 +37,9 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-
+% provides the commands for the skillmatrix as well as the command
+% \recompute@cvskillmatrix@lengths
+\RequirePackage[moderncvbodyiii]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall body definition
@@ -96,6 +98,7 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}
@@ -143,13 +146,13 @@
\renewcommand*{\subsectionrule}{}\fi
\renewcommand*{\cvitem}[3][.25em]{%
- \ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}%
+ \ifstrempty{#2}{}{\hintstyle{#2}: }{#3}%
\par\addvspace{#1}}
\renewcommand*{\cvdoubleitem}[5][.25em]{%
\begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
\hfill% fill of \separatorcolumnwidth
- \begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
+ \begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
\renewcommand*{\cvlistitem}[2][.25em]{%
@@ -159,14 +162,20 @@
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
- \ifthenelse{\equal{#3}{}}%
+ \ifstrempty{#3}%
{}%
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
- {\bfseries #4} & {\bfseries #5}\\%
- {\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\%
+ % skip the company name and location line if both are empty, allowing one to show multiple roles within the same company without repeating it
+ \ifboolexpr{%
+ test {\ifstrempty{#4}}
+ and
+ test {\ifstrempty{#5}}}%
+ {}%
+ {{\bfseries #4} & {\bfseries #5}\\}%
+ {\itshape #3\ifstrempty{#6}{}{, #6}} & {\itshape #2}\\%
\end{tabular*}%
\ifx&#7&%
\else{\\%
@@ -179,7 +188,7 @@
\@initializelength{\cvitemwithcommentmainlength}
\@initializelength{\cvitemwithcommentcommentlength}
\renewcommand*{\cvitemwithcomment}[4][.25em]{%
- \savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}%
+ \savebox{\cvitemwithcommentmainbox}{\ifstrempty{#2}{}{\hintstyle{#2}: }#3}%
\setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
\setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
\begin{minipage}[t]{\cvitemwithcommentmainlength}\usebox{\cvitemwithcommentmainbox}\end{minipage}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty
index 20af5e48d37..54f47517ff8 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,15 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiv}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 4]
+\ProvidesPackage{moderncvbodyiv}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 4]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-
+% provides the commands for the skillmatrix as well as the command
+% \recompute@cvskillmatrix@lengths
+\RequirePackage[moderncvbodyiv]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall body definition
@@ -57,6 +59,7 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty
index 8888fe5ed56..81c9db53407 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvbodyv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,15 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyv}[2015/07/28 v2.0.0 modern curriculum vitae and letter body variant: 5]
+\ProvidesPackage{moderncvbodyv}[2021/01/21 v2.1.0 modern curriculum vitae and letter body variant: 5]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-
+% provides the commands for the skillmatrix as well as the command
+% \recompute@cvskillmatrix@lengths
+\RequirePackage[moderncvbodyv]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall style definition
@@ -61,6 +63,7 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}
@@ -84,7 +87,15 @@
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
\renewcommand*{\cvitem}[3][.5ex]{%
- \@cvitem[#1]{}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}}}
+ \@cvitem[#1]{}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}}%
+ }
+% \RenewDocumentCommand{\cvitem}{+O{.5ex} +m +m}{%
+% \IfNoValueTF{#2}{%
+% \@cvitem[#1]{}{#3}%
+% }{%
+% \@cvitem[#1]{}{\hintstyle{#2}: {#3}}%
+% }%
+% }
% underlying command to implement \cvitem, \subsection and \section
\newcommand*{\@cvitem}[3][.5ex]{%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty
index 909d234933f..73db08ed297 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcollection.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcollection.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcollection}[2015/07/28 v2.0.0 moderncv collections]
+\ProvidesPackage{moderncvcollection}[2021/01/21 v2.1.0 moderncv collections]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
index 24a911ed8ec..93826090037 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblack.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblack}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: black]
+\ProvidesPackage{moderncvcolorblack}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
index 39f5f42d31d..75a994867b9 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblue.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblue}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: blue]
+\ProvidesPackage{moderncvcolorblue}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty
index 28f5b2c1d58..a1c833141c5 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorburgundy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorburgundy.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorburgundy}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: burgundy]
+\ProvidesPackage{moderncvcolorburgundy}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: burgundy]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
index 1e4eadcbedf..5f7deaa7ac1 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgreen.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgreen}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: green]
+\ProvidesPackage{moderncvcolorgreen}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
index 8934deeeb07..988d5969029 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgrey.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgrey}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: grey]
+\ProvidesPackage{moderncvcolorgrey}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
index cc0a62e346d..357cc96d1b5 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolororange.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolororange}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: orange]
+\ProvidesPackage{moderncvcolororange}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
index 2c63aaf3513..76030430453 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorpurple.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorpurple}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: purple]
+\ProvidesPackage{moderncvcolorpurple}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
index be178aa9e5f..17167812729 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorred.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorred}[2015/07/28 v2.0.0 modern curriculum vitae and letter color scheme: red]
+\ProvidesPackage{moderncvcolorred}[2021/01/21 v2.1.0 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
index 681eaf4eb00..2a5f15c4455 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcompatibility.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcompatibility}[2015/07/28 v2.0.0 modern curriculum vitae and letter compatibility patches]
+\ProvidesPackage{moderncvcompatibility}[2021/01/21 v2.1.0 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------
@@ -97,6 +97,9 @@
\newcommand*{\mobilesymbol}{\mobilephonesymbol}
\newcommand*{\faxsymbol}{\faxphonesymbol}
+% compatibility with versions <= 1.5.1
+\newcommand*{\makecvtitlenamewidth}{\makecvheadnamewidth} % only used in header variants 1 and 4, themself used by the classic and oldstyle styles
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty
index 04ad305b755..3e8f81b86ab 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvdebugtools.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvdebugtools.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvdebugtools}[2015/07/28 v2.0.0 modern curriculum vitae and letter debug tools]
+\ProvidesPackage{moderncvdebugtools}[2021/01/21 v2.1.0 modern curriculum vitae and letter debug tools]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty
index 1a66d0f64ec..751216c092c 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvfooti.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvfooti.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvfooti}[2015/07/28 v2.0.0 modern curriculum vitae and letter footer variant: 1]
+\ProvidesPackage{moderncvfooti}[2021/01/21 v2.1.0 modern curriculum vitae and letter footer variant: 1]
%-------------------------------------------------------------------------------
@@ -88,7 +88,7 @@
\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\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
@@ -119,7 +119,7 @@
\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\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty
index 3c578914c27..ff447025d70 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadi}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 1]
+\ProvidesPackage{moderncvheadi}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 1]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -54,8 +54,7 @@
%-------------------------------------------------------------------------------
% lengths
\@initializelength{\quotewidth}
-% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
-\@initializelength{\makecvheadnamewidth}
+\@initializelength{\makecvheadnamewidth}% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
\renewcommand*{\recomputecvheadlengths}{%
\setlength{\quotewidth}{0.65\textwidth}}
@@ -81,7 +80,7 @@
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}
@@ -159,7 +158,7 @@
\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\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
\end{minipage}\\[1em]
% recipient block
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty
index f6d19c37388..ecfaf133476 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadii}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 2]
+\ProvidesPackage{moderncvheadii}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 2]
% details options: "details" or "nodetails" (default)
\@initializeif{\if@details}\@detailsfalse
@@ -93,8 +93,6 @@
%-------------------------------------------------------------------------------
% lengths
\@initializelength{\quotewidth}
-% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
-\@initializelength{\makecvheadnamewidth}
\renewcommand*{\recomputecvheadlengths}{%
\setlength{\makeheaddetailswidth}{\textwidth}%
\setlength{\quotewidth}{0.65\textwidth}}
@@ -145,7 +143,7 @@
\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\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty
index 54f86cb5fdc..d8517853261 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiii}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 3]
+\ProvidesPackage{moderncvheadiii}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 3]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -70,10 +70,11 @@
\@firstmakeheaddetailselementfalse\fi}
% internal command to flush the makehead
\@initializecommand{\flushmakeheaddetails}{%
- \strut\usebox{\makeheaddetailsbox}%
- \savebox{\makeheaddetailsbox}{}%
- \savebox{\makeheaddetailstempbox}{}%
- \setlength{\makeheaddetailsboxwidth}{0pt}}
+ \ifnum\makeheaddetailsboxwidth>0%
+ \strut\usebox{\makeheaddetailsbox}%
+ \savebox{\makeheaddetailsbox}{}%
+ \savebox{\makeheaddetailstempbox}{}%
+ \setlength{\makeheaddetailsboxwidth}{0pt}\fi}
\@initializecommand{\makehead}{%
\setlength{\makeheaddetailswidth}{0.8\textwidth}%
\hfil%
@@ -81,9 +82,10 @@
\centering%
% name and title
\namestyle{\@firstname~\@lastname}%
- \ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
+ \ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% optional detailed information
\if@details{%
+ \\%
\addressfont\color{color2}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@@ -92,11 +94,11 @@
\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\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
- \flushmakeheaddetails}\fi}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
+ \flushmakeheaddetails}\fi}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty
index bed59f55fb2..2f9b8e0587c 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiv}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 4]
+\ProvidesPackage{moderncvheadiv}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 4]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -49,6 +49,7 @@
%-------------------------------------------------------------------------------
% lengths
\@initializelength{\quotewidth}
+\@initializelength{\makecvheadnamewidth}% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
\setlength{\marginparwidth}{0\p@}
\setlength{\marginparsep}{0\p@}
\renewcommand*{\recomputecvheadlengths}{%
@@ -86,7 +87,9 @@
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
% name and optional title
\newlength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
- \newlength{\makecvheadnamewidth}\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}%
+ \ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt)
+ {\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
+ {}%
\begin{minipage}[b]{\makecvheadnamewidth}%
\namestyle{\@firstname\ \@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
@@ -107,7 +110,7 @@
\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}~\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\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}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
@@ -153,7 +156,7 @@
\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}~\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\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}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty
index e00be88d882..2f8478596bb 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadv}[2015/07/28 v2.0.0 modern curriculum vitae and letter header variant: 5]
+\ProvidesPackage{moderncvheadv}[2021/01/21 v2.1.0 modern curriculum vitae and letter header variant: 5]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -48,8 +48,6 @@
%-------------------------------------------------------------------------------
% lengths
\@initializelength{\quotewidth}
-% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
-\@initializelength{\makecvheadnamewidth}
\renewcommand*{\recomputecvheadlengths}{%
\setlength{\quotewidth}{0.65\textwidth}}
@@ -84,7 +82,7 @@
\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~\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~\httpslink{\@homepage}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}%
@@ -142,7 +140,7 @@
\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\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
\end{minipage}\\[1em]
% recipient block
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty
index 83c1055b9b0..e6478795d8c 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvheadvi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadvi.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadvi}[2015/07/28 v2.0.0 modern curriculum vitae and letter header: 6]
+\ProvidesPackage{moderncvheadvi}[2021/01/21 v2.1.0 modern curriculum vitae and letter header: 6]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -115,7 +115,7 @@
\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\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty
index 92f2dbf3099..f821130dd6c 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsawesome.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsawesome.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,33 +10,44 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsawesome}[2015/07/28 v2.0.0 modern curriculum vitae and letter icons: awesome]
+\ProvidesPackage{moderncviconsawesome}[2021/01/21 v2.1.0 modern curriculum vitae and letter icons: awesome]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
-\RequirePackage{fontawesome}
+\RequirePackage{fontawesome5}
+% Package for academic icons
+\RequirePackage{academicons}
%-------------------------------------------------------------------------------
% symbols definition
%-------------------------------------------------------------------------------
-\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircleO}}
+\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircle}}
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % 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*{\addresssymbol} {}
-\renewcommand*{\mobilephonesymbol} {{\Large\faMobile}~}
-\renewcommand*{\fixedphonesymbol} {\faPhone~}
-\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint
-\renewcommand*{\emailsymbol} {{\small\faEnvelopeO}~} % alternative: \faInbox
-\renewcommand*{\homepagesymbol} {{\small\faGlobe}~} % alternative: \faHome
-\renewcommand*{\linkedinsocialsymbol}{{\small\faLinkedin}~} % alternative: \faLinkedinSquare
-\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare
-\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithubSquare
-
+\renewcommand*{\addresssymbol} {}
+\renewcommand*{\mobilephonesymbol} {{\small\faMobile}~}
+\renewcommand*{\fixedphonesymbol} {{\small\faPhone}~}
+\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint
+\renewcommand*{\emailsymbol} {{\small\faEnvelope}~} % alternative: \faInbox
+\renewcommand*{\homepagesymbol} {{\small\faGlobe}~} % alternative: \faHome
+\renewcommand*{\linkedinsocialsymbol} {{\small\faLinkedin}~} % alternative: \faLinkedinSquare
+\renewcommand*{\xingsocialsymbol} {{\small\faXing}~} % alternative: \faXingSquare
+\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare
+\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithubSquare
+\renewcommand*{\gitlabsocialsymbol} {{\small\faGitlab}~}
+\renewcommand*{\stackoverflowsocialsymbol}{{\small\faStackOverflow}~}
+\renewcommand*{\bitbucketsocialsymbol} {{\small\faBitbucket}~}
+\renewcommand*{\skypesocialsymbol} {{\small\faSkype}~}
+\renewcommand*{\orcidsocialsymbol} {{\small\aiOrcid}~}
+\renewcommand*{\researchgatesocialsymbol} {{\small\aiResearchGate}~}
+\renewcommand*{\researchidsocialsymbol} {{\small\aiResearcherID}~}
+\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
+\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty
index 8339b01fef6..79bb73f03a9 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsletters.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsletters.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsletters}[2015/07/28 v2.0.0 modern curriculum vitae and letter icons: letters]
+\ProvidesPackage{moderncviconsletters}[2021/01/21 v2.1.0 modern curriculum vitae and letter icons: letters]
%-------------------------------------------------------------------------------
@@ -34,15 +34,25 @@
%\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} {\textbf{M}~}
-\renewcommand*{\fixedphonesymbol} {\textbf{T}~}
-\renewcommand*{\faxphonesymbol} {\textbf{F}~}
-\renewcommand*{\emailsymbol} {\textbf{E}~}
-\renewcommand*{\homepagesymbol} {\textbf{W}~}
-\renewcommand*{\linkedinsocialsymbol}{\textbf{in}~}
-\renewcommand*{\twittersocialsymbol} {\textbf{tw}~}
-\renewcommand*{\githubsocialsymbol} {\textbf{gh}~}
+\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*{\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*{\researchidsocialsymbol} {\textbf{ri}~}
+\renewcommand*{\telegramsocialsymbol} {\textbf{tg}~}
+\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
\renewcommand*{\listitemsymbol} {\labelitemi~}
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty b/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty
index c6ab035e357..43b4602c577 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncviconsmarvosym.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsmarvosym.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsmarvosym}[2015/07/28 v2.0.0 modern curriculum vitae and letter icons: marvosym]
+\ProvidesPackage{moderncviconsmarvosym}[2021/01/21 v2.1.0 modern curriculum vitae and letter icons: marvosym]
%-------------------------------------------------------------------------------
@@ -86,6 +86,7 @@
\protect\end{scope}%
\protect\end{tikzpicture}}%
~}
+\renewcommand*{\xingsocialsymbol}{}
\renewcommand*{\twittersocialsymbol} {%
\protect\raisebox{0em}{%
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.005, yscale=-0.005, inner sep=0pt, outer sep=0pt]
@@ -222,6 +223,47 @@
\protect\end{scope}%
\protect\end{tikzpicture}}%
~}
+\renewcommand*{\gitlabsocialsymbol}{}
+\renewcommand*{\stackoverflowsocialsymbol}{}
+\renewcommand*{\googlescholarsocialsymbol}{}
+\renewcommand*{\telegramsocialsymbol}{}
+\renewcommand*{\orcidsocialsymbol}{}
+\renewcommand*{\researchgatesocialsymbol}{}
+\renewcommand*{\researchidsocialsymbol}{}
+\renewcommand*{\bitbucketsocialsymbol}{}
+\renewcommand*{\skypesocialsymbol} {%
+ \protect\raisebox{-0.15em}{%
+ \protect\begin{tikzpicture}[y=0.08em, x=0.08em, xscale=0.020, yscale=-0.020, inner sep=0pt, outer sep=0pt]
+ \protect\begin{scope}[shift={(507,387)}]
+ \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) ..
+ (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) ..
+ (22.5900,220.3690) .. controls (20.6650,232.3860) and (19.6810,244.6920) ..
+ (19.6810,257.2290) .. controls (19.6810,386.4050) and (124.8980,491.1100) ..
+ (254.7660,491.1100) .. controls (269.4230,491.1100) and (283.6930,489.6840) ..
+ (297.5620,487.1780) .. controls (319.1120,500.5470) and (344.4960,508.3260) ..
+ (371.7080,508.3260) .. controls (449.2100,508.3260) and (512.0010,445.5020) ..
+ (512.0010,368.0120) .. controls (511.9980,338.7190) and (503.0410,311.4840) ..
+ (487.6550,288.9690) -- cycle(276.7400,429.5960) .. controls (202.0340,433.4870) and (167.0750,416.9590) .. (135.0500,386.9050) .. controls (99.2850,353.3370) and (113.6520,315.0500) ..
+ (142.7900,313.1040) .. controls (171.9120,311.1590) and (189.3980,346.1160) ..
+ (204.9410,355.8400) .. controls (220.4650,365.5280) and (279.5340,387.6000) ..
+ (310.7350,351.9320) .. controls (344.7100,313.1040) and (288.1410,293.0120) ..
+ (246.6760,286.9300) .. controls (187.4730,278.1640) and (112.7260,246.1370) ..
+ (118.5410,183.0230) .. controls (124.3580,119.9490) and (172.1230,87.6090) ..
+ (222.3910,83.0470) .. controls (286.4680,77.2300) and (328.1820,92.7540) ..
+ (361.1760,120.9070) .. controls (399.3270,153.4360) and (378.6840,189.8010) ..
+ (354.3770,192.7270) .. controls (330.1660,195.6360) and (302.9730,139.2230) ..
+ (249.5860,138.3750) .. controls (194.5590,137.5110) and (157.3690,195.6360) ..
+ (225.3000,212.1590) .. controls (293.2660,228.6640) and (366.0500,235.4450) ..
+ (392.2610,297.5760) .. controls (418.4900,359.7130) and (351.5070,425.7010) ..
+ (276.7400,429.5960) -- cycle;
+ \protect\end{scope}%
+ \protect\end{tikzpicture}}%
+ ~}
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty
new file mode 100644
index 00000000000..d339f354730
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvskillmatrix.sty
@@ -0,0 +1,1051 @@
+%% start of file `moderncvskillmatrix.sty'.
+%% Copyright 2021 David Seus (cryptointerest@posteo.de).
+%
+% This package provides a skill matrix template for the moderncv package.
+% Some recruiting firms require applicants to rate their skills, computer
+% skills, management tools, or similar in a table involving a graphical
+% illustration of their skill level. This package implements this idea
+% and provides the following commands to use within the moderncv
+% package:
+%
+%
+% PUBLIC COMMANDS
+% \cvskill{<1-5>}
+% Illustrate skill level with little colored boxes.
+% By default five skill levels are predefined.
+%
+% Input:
+% input_1: integer between 0 and 5
+%
+% Example usages:
+% \cvskill{3}
+%
+%
+% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
+% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
+%
+% Input:
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% For the fancy style, the asterix has no meaning.
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
+% input_3 (optional): string describing meaning of \cvskill{2}, default: <intermediate knowledge with some project experience>
+% input_4 (optional): string describing meaning of \cvskill{3}, default: <extensive project experience>
+% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
+% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
+% input_7: string giving a name to the legend, default: <>
+%
+% Example usages:
+% \cvskilllegend{} print default legend
+% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
+% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
+%
+% Note:
+% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
+% -The design of the table is such that the <second_level> entry stands in the first column but
+% occupies rows two and three. This has been done to accomodate english and german defaults.
+% An alternative is provided by \cvskillplainlegend
+%
+%
+% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
+% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
+% In this legend, the first three skill levels are in one column
+%
+% Input:
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% For the fancy style, the asterix has no meaning.
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
+% input_3 (optional): string describing meaning of \cvskill{2}, default: <intermediate knowledge with some project experience>
+% input_4 (optional): string describing meaning of \cvskill{3}, default: <extensive project experience>
+% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
+% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
+% input_7: string giving a name to the legend, default: <>
+%
+% Example usages:
+% \cvskillplainlegend{} print default legend
+% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
+% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
+%
+% Note:
+% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
+%
+%
+% \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
+% add skill matrix line acting as header explaining the meaning of columns.
+%
+% Input:
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2 (optional): string naming the level column (2nd column), default: <Level>
+% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
+% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
+% input_5 (optional): string naming the comment column (5th column), default: <Comment>
+%
+% Example usages:
+% \cvskillhead print default head.
+% \cvskillhead[0.5em] print default head, but adjust post padding.
+% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
+%
+% Note:
+% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
+%
+%
+% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
+% add cvskill matrix row.
+%
+% Input:
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% For the fancy style, the asterix has no meaning.
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2: string, naming skill cathegory, default: <>
+% input_3: integer between 0 and 5, describing level of skill. \cvskill{input_2} is called internally, default: <>
+% input_4: string, naming the skill, default: <>
+% input_5: positive real number, stating the number of years of experience with this skill , default: <>
+% input_6: string, explaining details w.r.t. that particual skill default: <>
+%
+% Example usages:
+% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
+% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
+% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
+% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
+%
+% Note:
+% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
+%
+%
+% \setcvskillcolumns[<width>][<factor>][<exp_width>]
+% adjust column width of skill table
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
+% the comment column gets recalculated according to the setting of the other columns.
+%
+% Input
+% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% the first column is used columns two, three and four. Through this parameter
+% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% (Years of experience), default <\cvskill@experiencewidth>
+%
+% Example usage
+% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
+% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
+% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
+%
+% Note
+% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
+%
+%
+% \setcvskilllegendcolumns[<width>][<factor>]
+% adjust column width of legend
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
+% the comment column gets recalculated according to the setting of the other columns.
+%
+% Input
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
+% Default <\skilllegend@hintscolumnwidth>
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
+% Default <\skilllegend@leftdesriptorfactor>
+%
+% Example usage
+% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
+% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
+%
+% Note
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% the first optional variable has no effect in this case.
+% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
+% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
+% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
+%
+%
+% PRIVATE COMMANDS
+%
+% \recompute@cvskillmatrix@lengths
+% compute all lengths necessary for the skill matrix depending on
+% the moderncv style (moderncvbody)
+%
+% Input: none
+%
+% Example usage (only internally in moderncvbody<i-v>.sty)
+% \recompute@cvskillmatrix@lengths
+%
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvskillmatrix}[2021/01/21 v2.1.0 modern curriculum vitae and letter skill matrix]
+
+% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
+% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
+\@initializeif{\if@moderncvbodyi}\@moderncvbodyifalse
+\DeclareOption{moderncvbodyi}{\@moderncvbodyitrue\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvfalse}
+\@initializeif{\if@moderncvbodyii}\@moderncvbodyiifalse % this option is added in case moderncvbodyii gets implemented standalone
+\DeclareOption{moderncvbodyii}{\@moderncvbodyifalse\@moderncvbodyiitrue\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvfalse}
+\@initializeif{\if@moderncvbodyiii}\@moderncvbodyiiifalse
+\DeclareOption{moderncvbodyiii}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiitrue\@moderncvbodyivfalse\@moderncvbodyvfalse}
+\@initializeif{\if@moderncvbodyiv}\@moderncvbodyivfalse
+\DeclareOption{moderncvbodyiv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivtrue\@moderncvbodyvfalse}
+\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
+\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
+
+\DeclareOption*{}% avoid choking on unknown options
+\ExecuteOptions{moderncvbodyi}
+\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
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{tikz}
+\RequirePackage{multirow}
+% package arydshln is needed for the dashed lines but is incompatible with fancy style
+\if@moderncvbodyv%
+% \RequirePackage{arydshln} % incompatible with fancy style
+\else%
+ \RequirePackage{arydshln} % incompatible with fancy style
+\fi
+
+% %-------------------------------------------------------------------------------
+% % \cvskill command
+% %-------------------------------------------------------------------------------
+% The code for the Skilllevel illustration with the little boxes.
+% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
+\@initializelength{\cvSkill@RectangleSize}
+\setlength{\cvSkill@RectangleSize}{1.2ex}
+\newcount\my@repeat@count
+\DeclareDocumentCommand{\cvskill}{m}{%
+% Illustrate skill level with little colored boxes.
+% By default five skill levels are predefined.
+%
+% Input:
+% integer between 0 and 5
+% Example usage:
+% \cvskill{3}
+ \begingroup
+ \my@repeat@count=\z@
+ \@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \my@repeat@count\@ne\,}%
+ \my@repeat@count=\numexpr5-\z@\relax
+ \@whilenum\my@repeat@count>#1\do{\tikz\filldraw[color2!30] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \my@repeat@count\m@ne\,}%
+ \endgroup
+}% end \cvskill
+
+% %-------------------------------------------------------------------------------
+% % \recompute@cvskillmatrix@lengths
+% %-------------------------------------------------------------------------------
+
+% initialise lengths needed for the skillmatrix
+\@initializelength{\cvskill@width}
+\@initializelength{\cvskill@descriptorwidth}
+\@initializelength{\cvskill@experiencewidth}
+\@initializelength{\skillmatrix@columnwidth}
+\@initializelength{\skillmatrix@commentwidth}
+\@initializelength{\skillmatrix@padding}
+\@initializelength{\skillmatrix@hintscolumnwidth}
+\@initializelength{\skillmatrix@bodylength}
+\@initializelength{\cvskilllegend@leftdescriptorwidth}
+\@initializelength{\cvskilllegend@rightdescriptorwidth}
+\@initializelength{\skilllegend@hintscolumnwidth}
+\@initializelength{\skilllegend@padding}
+\@initializelength{\skilllegend@bodylength}
+
+% \separatorrulewidth is defined in moderncvbodyv.sty and we need to
+% define it to not throw an error in the other cases
+\if@moderncvbodyv%
+%
+\else%
+ \@initializelength{\separatorrulewidth}
+ \setlength{\separatorrulewidth}{1ex}
+\fi
+
+\DeclareDocumentCommand{\skilllegend@leftdesriptorfactor}{}{}%
+%% DEFINITION \recompute@cvskillmatrix@lengths
+% declare the command \recompute@cvskillmatrix@lengths empty
+\DeclareDocumentCommand{\recompute@cvskillmatrix@lengths}{}{}%
+% compute all lengths necessary for the skill matrix depending on
+% the moderncv style (moderncvbody)
+%
+% Input: none
+%
+% Example usage (only internally in moderncvbody<i-v>.sty)
+% \recompute@cvskillmatrix@lengths
+
+% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyi
+\if@moderncvbodyi%
+ \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
+ \setlength{\skillmatrix@padding}{1ex}%
+ \setlength{\skillmatrix@hintscolumnwidth}{\hintscolumnwidth}%
+ \setlength{\cvskill@width}{\widthof{\cvskill{5}}}%
+ \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}%
+ \setlength{\skillmatrix@bodylength}{\maincolumnwidth}%
+ \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
+ % lengths and definitions needed for the legends
+ % note that \skillmatrix@padding also affects the appearance of legends
+ \setlength{\skilllegend@padding}{0.25ex}%
+ \setlength{\skilllegend@hintscolumnwidth}{\hintscolumnwidth}%
+ \setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}%
+ \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.5}%
+ }
+\fi
+% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyiii
+\if@moderncvbodyiii%
+ \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
+ \setlength{\skillmatrix@padding}{1ex}%
+ \setlength{\separatorcolumnwidth}{\skillmatrix@padding}%
+ \setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Language''}}%
+ \setlength{\cvskill@width}{\widthof{\cvskill{5}}}%
+ \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}%
+ \setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}%
+ \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
+ % lengths and definitions needed for the legends
+ % note that \skillmatrix@padding also affects the appearance of legends
+ \setlength{\skilllegend@padding}{0.25ex}%
+ \setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
+ \setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}%
+ \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.5}%
+ }
+\fi
+% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyiv
+\if@moderncvbodyiv%
+ \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
+ \setlength{\skillmatrix@padding}{1ex}
+ \setlength{\separatorcolumnwidth}{\skillmatrix@padding}
+ \setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Languagi''}}
+ \setlength{\cvskill@width}{\widthof{\cvskill{5}}}
+ \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}
+ \setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}
+ \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}
+ \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
+ % lengths and definitions needed for the legends
+ % note that \skillmatrix@padding also affects the appearance of legends
+ \setlength{\skilllegend@padding}{0.25ex}
+ \setlength{\skilllegend@hintscolumnwidth}{0ex}%\skillmatrix@hintscolumnwidth
+ \setlength{\skilllegend@bodylength}{\maincolumnwidth}
+ \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.45}%
+ }
+\fi
+% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyv
+\if@moderncvbodyv%
+ \RenewDocumentCommand{\recompute@cvskillmatrix@lengths}{}{%
+ \setlength{\skillmatrix@padding}{1ex}%
+ \setlength{\skillmatrix@hintscolumnwidth}{\widthof{``Languages''}}%
+ \setlength{\cvskill@width}{\widthof{\cvskill{5}}}%
+ \setlength{\cvskill@experiencewidth}{\widthof{``Year''}}%
+ \setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\skillmatrix@padding}%\skillmatrix@hintscolumnwidth
+ \setlength{\skillmatrix@columnwidth}{0.45\skillmatrix@bodylength}%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
+ % lengths and definitions needed for the legends
+ % note that \skillmatrix@padding also affects the appearance of legends
+ \setlength{\skilllegend@padding}{0.25ex}%
+ \setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
+ \setlength{\skilllegend@bodylength}{\maincolumnwidth}%
+ \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{0.48}%
+ }%
+\fi
+
+% %-------------------------------------------------------------------------------
+% % \setcvskillcolumns and \setcvskilllegendcolumns
+% %-------------------------------------------------------------------------------
+% \setcvskillcolumns[<width>][<factor>][<exp_width>]
+\DeclareDocumentCommand{\setcvskillcolumns}{+O{\skillmatrix@hintscolumnwidth} +O{\skillmatrix@columnwidth} +O{\cvskill@experiencewidth}}{%
+% adjust column width of skill table
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
+% the comment column gets recalculated according to the setting of the other columns.
+%
+% Input
+% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% the first column is used columns two, three and four. Through this parameter
+% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% (Years of experience), default <\cvskill@experiencewidth>
+%
+% Example usage
+% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
+% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
+% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
+%
+% Note
+% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
+%
+ \def\arg@new@hintscolumnwidth{#1}% <-- all these terminal % signs are necessary for the fancy style to not show weird spaces!!!
+ \def\arg@new@bodyLengthFactor{#2}%
+ \def\arg@new@experienceWidth{#3}%
+ % Check for empty arguments. Defaults are given. Thus a call of \setcvskillcolumns
+ % without any arguments leads to nonempty arguments \arg@new@hintscolumnwidth and
+ % \def\arg@new@bodyLengthFactor{#2}. However, we need to take care of calls like
+ % \setcvskillcolumns[], \setcvskillcolumns[][], \setcvskillcolumns[][][] or even
+ % \setcvskillcolumns[<somelength>][], \setcvskillcolumns[][<somefactor>] \setcvskillcolumns[][][<length>]
+ \ifdefempty{\arg@new@hintscolumnwidth}{%
+ % Case \setcvskillcolumns[], \setcvskillcolumns[][] or \setcvskillcolumns[][<somefactor>]
+ \ifdefempty{\arg@new@bodyLengthFactor}{%
+ % Case \setcvskillcolumns[][] do nothing here and check if third argument is empty
+ \ifdefempty{\arg@new@experienceWidth}{%
+ % Case \setcvskillcolumns[][][] do nothing here
+ }{%
+ % Case \setcvskillcolumns[][][<length>]. reset \cvskill@experiencewidth and
+ % \cvskill@descriptorwidth accordingly
+ \setlength{\cvskill@experiencewidth}{\arg@new@experienceWidth}%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ }%
+ }{%
+ % Case \setcvskillcolumns[][<somefactor>], \setcvskillcolumns[][<somefactor>][<possilly length>]
+ \setlength{\skillmatrix@columnwidth}{\arg@new@bodyLengthFactor\skillmatrix@bodylength}%
+ \ifdefempty{\arg@new@experienceWidth}{%
+ % Case \setcvskillcolumns[][<somefactor>][] do nothing here
+ }{%
+ % Case \setcvskillcolumns[][<somefactor>][<length>]. reset \cvskill@experiencewidth and
+ % \cvskill@descriptorwidth accordingly
+ \setlength{\cvskill@experiencewidth}{\arg@new@experienceWidth}%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ }%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
+ }%
+ % Case \setcvskillcolumns[] nothing needs to be done here recalculate lengths affected by the change
+ }{%
+ % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][]
+ % or \setcvskillcolumns[<width>][<somefactor>]
+ \setlength{\skillmatrix@hintscolumnwidth}{\arg@new@hintscolumnwidth}%
+ \setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}%
+ % in case second argument is given but left empty use default
+ \ifdefempty{\arg@new@bodyLengthFactor}{%
+ % Case \setcvskillcolumns[<width>][] do nothing here and use default
+ % \skillmatrix@columnwidth and check third argument
+ \ifdefempty{\arg@new@experienceWidth}{%
+ % Case \setcvskillcolumns[<width>][][] do nothing here
+ }{%
+ % Case \setcvskillcolumns[<width>][][<length>]. reset \cvskill@experiencewidth and
+ % \cvskill@descriptorwidth accordingly
+ \setlength{\cvskill@experiencewidth}{\arg@new@experienceWidth}%
+% \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ }%
+ }{%
+ % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][<somefactor>]
+ \setlength{\skillmatrix@columnwidth}{\arg@new@bodyLengthFactor\skillmatrix@bodylength}%
+ \ifdefempty{\arg@new@experienceWidth}{%
+ % Case \setcvskillcolumns[<width>][<somefactor>][] do nothing here
+ }{%
+ % Case \setcvskillcolumns[<width>][<somefactor>][<length>]. reset \cvskill@experiencewidth and
+ % \cvskill@descriptorwidth accordingly
+ \setlength{\cvskill@experiencewidth}{\arg@new@experienceWidth}%
+% \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ }%
+ }%
+ \setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
+ \setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
+ }%
+}%
+%
+% \setcvskilllegendcolumns[<width>][<factor>]
+\DeclareDocumentCommand{\setcvskilllegendcolumns}{+O{\skilllegend@hintscolumnwidth} +O{\skilllegend@leftdesriptorfactor}}{%
+% adjust column width of legend
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
+% the comment column gets recalculated according to the setting of the other columns.
+%
+% Input
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
+% Default <\skilllegend@hintscolumnwidth>
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
+% Default <\skilllegend@leftdesriptorfactor>
+%
+% Example usage
+% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
+% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
+%
+% Note
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% the first optional variable has no effect in this case.
+% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
+% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
+% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
+%
+ \def\arg@new@legend@hintscolumnwidth{#1}%
+ \def\arg@new@legend@leftDescriptorFactor{#2}%
+ % Check for empty arguments. See explanation above
+ \ifdefempty{\arg@new@legend@hintscolumnwidth}{%
+ % Case \setcvskilllegendcolumns[], \setcvskilllegendcolumns[][] or \setcvskilllegendcolumns[][<somefactor>]
+ \ifdefempty{\arg@new@legend@leftDescriptorFactor}{%
+% % Case \setcvskilllegendcolumns[][] do nothing here, i.e. leave default values unaltered
+ }{%
+ % Case \setcvskilllegendcolumns[][<somefactor>], \setcvskilllegendcolumns[][<somefactor>]
+ \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}%
+ }%
+% % Case \setcvskilllegendcolumns[] nothing needs to be done here i.e. leave default values unaltered
+ }{%
+ % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][]
+ % or \setcvskilllegendcolumns[<width>][<somefactor>]
+ \setlength{\skilllegend@hintscolumnwidth}{\arg@new@legend@hintscolumnwidth}%
+ \if@moderncvbodyi%
+ \setlength{\skilllegend@bodylength}{\textwidth-\skilllegend@hintscolumnwidth-\separatorcolumnwidth}%
+ \fi%
+ \if@moderncvbodyiii%
+ \setlength{\skilllegend@bodylength}{\textwidth-\skilllegend@hintscolumnwidth-\separatorcolumnwidth}%
+ \fi%
+ \if@moderncvbodyiv%
+ \setlength{\skilllegend@bodylength}{\maincolumnwidth-\skilllegend@hintscolumnwidth-\separatorcolumnwidth}%
+ \fi%
+ % in case second argument is given but left empty use default
+ \ifdefempty{\arg@new@legend@leftDescriptorFactor}{%
+ % Case \setcvskilllegendcolumns[<width>][] do nothing here and leave default values unaltered
+ }{%
+ % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][<somefactor>]
+ \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}%
+ }%
+ }%
+}%
+%
+% %-------------------------------------------------------------------------------
+% % \cvskilllegend
+% %-------------------------------------------------------------------------------
+% default legend style
+% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
+\NewDocumentCommand\skillLegend@FontSize{}{\scriptsize}
+\DeclareDocumentCommand\cvskilllegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
+% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
+%
+% Input:
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% For the fancy style, the asterix has no meaning.
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
+% input_3 (optional): string describing meaning of \cvskill{2}, default: <intermediate knowledge with some project experience>
+% input_4 (optional): string describing meaning of \cvskill{3}, default: <extensive project experience>
+% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
+% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
+% input_7: string giving a name to the legend, default: <>
+%
+% Example usages:
+% \cvskilllegend{} print default legend
+% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
+% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
+%
+% Note:
+% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
+% -The design of the table is such that the <second_level> entry stands in the first column but
+% occupies rows two and three. This has been done to accomodate english and german defaults.
+% An alternative is provided by \cvskillplainlegend
+
+% declare default legend entries
+\NewDocumentCommand\skillLegend@defaultLevelOne{}{basic knowledge}
+\NewDocumentCommand\skillLegend@defaultLevelTwo{}{intermediate knowledge with some project experience}
+\NewDocumentCommand\skillLegend@defaultLevelThree{}{extensive project experience}
+\NewDocumentCommand\skillLegend@defaultLevelFour{}{deepened expert knowledge}
+\NewDocumentCommand\skillLegend@defaultLevelFive{}{expert\,/\,specialist}
+% Redefinition of \cvskilllegend valid for moderncvbodyi, moderncvbodyii, moderncvbodyiii
+\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
+ \IfBooleanTF#1{% if a star is given, add dashed line
+ \begingroup%
+ \arrayrulecolor{color1}%
+ % calculate descriptor widths
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
+ @{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%%
+ p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
+ p{2\skilllegend@padding}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
+ %
+ & \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& & {\skillLegend@FontSize #6 } \\%
+ %
+ & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }%
+ \end{tabular}%
+ \endgroup
+ \par\addvspace{#2}}{%
+ % if no star is given, do not add dashed line. We need less padding in this case
+ \begingroup%
+ % calculate descriptor columns width. note the adjusted padding
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-1\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-1\skilllegend@padding}%
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
+ @{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\%
+ %
+ & \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\%
+ %
+ & & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }%
+ \end{tabular}%
+ \endgroup%
+ \par\addvspace{#2}%
+ }%
+}%
+% Redefinition of \cvskilllegend valid for moderncvbodyiv
+\if@moderncvbodyiv%
+ \RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
+ \def\arg@legendString{#8}%
+ \ifdefempty{\arg@legendString}{%
+ }{%
+ \cvitem[0.25em]{\hintstyle{#8}}{}%
+ }%
+ \IfBooleanTF#1{% if a star is given, add dashed line
+ \begingroup%
+ % recalculate desrciptor widths on the fly. Allows for different padding
+ % in the stared and nonstared case
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
+ \arrayrulecolor{color1}
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
+ @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
+ p{2\skilllegend@padding}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
+ p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
+ %
+ & \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} & &{\skillLegend@FontSize #6 } \\
+ %
+ & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
+ \end{tabular}%
+ \endgroup%
+ \par\addvspace{#2}}{
+ \begingroup%
+ % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
+ % but while testing I got overflow of text into the margin
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-5\skilllegend@padding}%
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
+ @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{3} & {\skillLegend@FontSize #5 } \\
+ %
+ & \cvskill{2} & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} &{\skillLegend@FontSize #6 } \\
+ %
+ & & & \cvskill{5} & {\skillLegend@FontSize #7 }
+ \end{tabular}%
+ \endgroup%
+ \par\addvspace{#2}
+ }
+ }
+\fi
+% Redefinition of \cvskilllegend valid for moderncvbodyv
+\if@moderncvbodyv%
+ \DeclareDocumentCommand\@starIndependentTabular{}{}%
+ \RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
+ % check whether Argument #8 is given and if so provide it as cvitem
+ \def\arg@legendString{#8}%
+ \ifdefempty{\arg@legendString}{%
+ \vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
+ }{%
+ \cvitem[-0.5em]{#8}{}%
+ }%
+ \arrayrulecolor{color1}%
+ \setlength\arrayrulewidth{\separatorrulewidth}%
+ \RenewDocumentCommand{\@starIndependentTabular}{}{%
+ \begingroup%
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
+% \renewcommand{\arraystretch}{1.0}%
+ \begin{tabular}[t]{@{}p{\hintscolumnwidth}%\skilllegend@hintscolumnwidth
+ @{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{3\skilllegend@padding}}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{3\skilllegend@padding}}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \@moderncvstrut{4pt}{16pt} & \cvskill{1}& {\skillLegend@FontSize #3} & \cvskill{3}& {\skillLegend@FontSize #5 }\\%
+ %
+ & \cvskill{2}& \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& {\skillLegend@FontSize #6 }\\%
+ %
+ & & & \cvskill{5} & {\skillLegend@FontSize #7 }\\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
+ \end{tabular}%
+ \endgroup%
+ \par\@aftersectionfalse\ignorespaces%
+ }%
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ \IfBooleanTF#1{%
+ \@starIndependentTabular%
+ }{%
+ \@starIndependentTabular%
+ }%
+ }%
+\fi
+
+% %-------------------------------------------------------------------------------
+% % \cvskillplainlegend
+% %-------------------------------------------------------------------------------
+% alternative legend style
+% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
+\DeclareDocumentCommand\cvskillplainlegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
+% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
+% In this legend, the first three skill levels are in one column
+%
+% Input:
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% For the fancy style, the asterix has no meaning.
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
+% input_3 (optional): string describing meaning of \cvskill{2}, default: <intermediate knowledge with some project experience>
+% input_4 (optional): string describing meaning of \cvskill{3}, default: <extensive project experience>
+% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
+% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
+% input_7: string giving a name to the legend, default: <>
+%
+% Example usages:
+% \cvskillplainlegend{} print default legend
+% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
+% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
+%
+% Note:
+% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
+
+% declare default legend entries
+\NewDocumentCommand\skillPlainLegend@defaultLevelOne{}{basic knowlegde}
+\NewDocumentCommand\skillPlainLegend@defaultLevelTwo{}{intermediate knowledge, some project experience}
+\NewDocumentCommand\skillPlainLegend@defaultLevelThree{}{extensive project experience}
+\NewDocumentCommand\skillPlainLegend@defaultLevelFour{}{deepened expert knowledge}
+\NewDocumentCommand\skillPlainLegend@defaultLevelFive{}{expert/guru}
+% Redefinition of \cvskillplainlegend valid for moderncvbodyi, moderncvbodyii, moderncvbodyiii
+\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
+ \IfBooleanTF#1{% if a star is given, add dashed line
+ \begingroup%
+ \arrayrulecolor{color1}%
+ % calculate descriptor widths
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
+ @{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%%
+ p{2\skilllegend@padding}p{\cvskilllegend@leftdescriptorwidth}@{}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
+ p{2\skilllegend@padding}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
+ %
+ & \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5}& & {\skillLegend@FontSize #7} \\%
+ %
+ & \cvskill{3} & & {\skillLegend@FontSize #5} & & & %
+ \end{tabular}%
+ \endgroup%
+ \par\addvspace{#2}}{%
+ % if no star is given, do not add dashed line
+ \begingroup%
+ % calculate descriptor widths, note that we use less padding
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}%
+ @{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{#8} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} &{\skillLegend@FontSize #6} \\%
+ %
+ & \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} &{\skillLegend@FontSize #7} \\%
+ %
+ & \cvskill{3} & {\skillLegend@FontSize #5 } & & %
+ \end{tabular}%
+ \endgroup%
+ \par\addvspace{#2}%
+ }%
+}%
+% Redefinition of \cvskillplainlegend valid for moderncvbodyiv
+\if@moderncvbodyiv%
+ \RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
+ \def\arg@legendString{#8}%
+ \ifdefempty{\arg@legendString}{%
+ }{%
+ \cvitem[0.25em]{\hintstyle{#8}}{}%
+ }%
+ \IfBooleanTF#1{% if a star is given, add dashed line
+ \begingroup%
+ \arrayrulecolor{color1}
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
+ @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
+ p{2\skilllegend@padding}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
+ p{2\skilllegend@padding}p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
+ %
+ & \cvskill{2} & &{\skillLegend@FontSize#4} & \cvskill{5} & &{\skillLegend@FontSize#7}\\%
+ %
+ & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
+ \end{tabular}%
+ \endgroup%
+ \par\addvspace{#2}}{
+ % if no star is given, do not add dashed line
+ \begingroup
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
+ \begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
+ @{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skilllegend@padding}}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6} \\
+ %
+ & \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7} \\
+ %
+ & \cvskill{3} & {\skillLegend@FontSize #5} & & %
+ \end{tabular}%
+ \endgroup
+ \par\addvspace{#2}
+ }
+ }
+\fi
+% Redefinition of \cvskillplainlegend valid for moderncvbodyv
+\if@moderncvbodyv%
+ \RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
+ % check whether Argument #8 is given and if so provide it as cvitem
+ \def\arg@legendString{#8}%
+ \ifdefempty{\arg@legendString}{%
+ \vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
+ }{%
+ \cvitem[-0.5em]{#8}{}%
+ }%
+ \arrayrulecolor{color1}%
+ \setlength\arrayrulewidth{\separatorrulewidth}%
+ \RenewDocumentCommand{\@starIndependentTabular}{}{%
+ \begingroup%
+% \renewcommand{\arraystretch}{1.0}%
+ \setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
+ \setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-2\skilllegend@padding}%
+ \begin{tabular}[t]{@{}p{\hintscolumnwidth}%\skilllegend@hintscolumnwidth
+ @{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
+ p{\cvskilllegend@leftdescriptorwidth}@{\hspace{2\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{2\skilllegend@padding}}%
+ p{\cvskilllegend@rightdescriptorwidth}@{}}%
+ \@moderncvstrut{4pt}{16pt} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6}\\%
+ %
+ & \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7}\\%
+ %
+ & \cvskill{3} & {\skillLegend@FontSize #5} & & \\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
+ \end{tabular}%
+ \endgroup%
+ \par\@aftersectionfalse\ignorespaces%
+ }%
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ \IfBooleanTF#1{%
+ \@starIndependentTabular%
+ }{%
+ \@starIndependentTabular%
+ }%
+ }%
+\fi
+
+% %-------------------------------------------------------------------------------
+% % \cvskillhead
+% %-------------------------------------------------------------------------------
+\NewDocumentCommand\cvSkillMatrix@HeadFont{}{\normalfont}
+\DeclareDocumentCommand\cvskillhead{+O{} +O{} +O{} +O{} +O{}}{}%
+% add skill matrix line acting as header explaining the meaning of columns.
+%
+% Input:
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2 (optional): string naming the level column (2nd column), default: <Level>
+% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
+% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
+% input_5 (optional): string naming the comment column (5th column), default: <Comment>
+%
+% Example usages:
+% \cvskillhead print default head.
+% \cvskillhead[0.5em] print default head, but adjust post padding.
+% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
+%
+% Note:
+% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
+
+\NewDocumentCommand\skillMatrix@HeaderDefaultOne{}{Level}
+\NewDocumentCommand\skillMatrix@HeaderDefaultTwo{}{Skill}
+\NewDocumentCommand\skillMatrix@HeaderDefaultThree{}{Years}
+\NewDocumentCommand\skillMatrix@HeaderDefaultFour{}{Comment}
+% Definition of \cvskillhead valid for moderncvbodyi, moderncvbodyii, moderncvbodyiii, moderncvbodyiv
+\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
+ \begingroup
+ \renewcommand{\arraystretch}{1.25}
+ \arrayrulecolor{color1}
+ \begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@experiencewidth}@{\hspace{\skillmatrix@padding}}
+ p{\skillmatrix@commentwidth}@{}}%
+ & \centering{\cvSkillMatrix@HeadFont #2} & \centering{\cvSkillMatrix@HeadFont #3} & \centering{\cvSkillMatrix@HeadFont #4} & {\cvSkillMatrix@HeadFont #5}
+ \end{tabular}%
+ \endgroup
+ \par\addvspace{#1}
+}
+% Definition of \cvskillhead valid moderncvbodyv
+\if@moderncvbodyv%
+ \RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
+ \arrayrulecolor{color1}%
+ \setlength\arrayrulewidth{\separatorrulewidth}%
+ \vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
+ \begingroup%
+ % \renewcommand{\arraystretch}{1.25}%
+ \begin{tabular}[t]{@{}p{\hintscolumnwidth}%
+ @{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}%
+ p{\skillmatrix@hintscolumnwidth}%
+ @{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@experiencewidth}@{\hspace{\skillmatrix@padding}}%
+ p{\skillmatrix@commentwidth}@{}}%
+ & & \centering{\cvSkillMatrix@HeadFont#2} & \centering{\cvSkillMatrix@HeadFont#3} & \centering{\cvSkillMatrix@HeadFont#4} & {\cvSkillMatrix@HeadFont#5} \\[#1]% the spacing needs to be inside the cell for the vertical rule to extend correctly
+ \end{tabular}%
+ \endgroup%
+ \par\@aftersectionfalse\ignorespaces%
+ }%
+\fi
+
+% %-------------------------------------------------------------------------------
+% % \cvskillentry
+% %-------------------------------------------------------------------------------
+% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
+\DeclareDocumentCommand\cvskillentry{s +O{} +m +m +m +m +m}{}%
+% add cvskill matrix row.
+%
+% Input:
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% For the fancy style, the asterix has no meaning.
+% input_1 (optional): padding length appended to the legend, default: <0.25em>
+% input_2: string, naming skill cathegory, default: <>
+% input_3: integer between 0 and 5, describing level of skill. \cvskill{input_2} is called internally, default: <>
+% input_4: string, naming the skill, default: <>
+% input_5: positive real number, stating the number of years of experience with this skill , default: <>
+% input_6: string, explaining details w.r.t. that particual skill default: <>
+%
+% Example usages:
+% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
+% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
+% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
+% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
+%
+% Note:
+% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
+
+% Definition of \cvskillentry valid for moderncvbodyi, moderncvbodyii, moderncvbodyiii, moderncvbodyiv
+\RenewDocumentCommand\cvskillentry{s +O{.25em} +m +m +m +m +m}{%
+ %test for the star * in the command
+ \IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
+ \begingroup
+ \renewcommand{\arraystretch}{1.25}
+ \arrayrulecolor{color1}
+ \begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@experiencewidth} @{\hspace{\skillmatrix@padding}}%
+ p{\skillmatrix@commentwidth}@{}}%
+ \cdashline{2-5}[.6pt/1pt]
+ \raggedleft\hintstyle{#3} &\centering \cvskill{#4} &\centering {#5} & \centering {#6} &{\itshape#7}%
+ \end{tabular}%
+ \endgroup
+ \par\addvspace{#2}
+ }{% If no star is seen no line is drawn
+ \begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
+ p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@experiencewidth}%
+ @{\hspace{\skillmatrix@padding}}%
+ p{\skillmatrix@commentwidth}@{}}%
+ \raggedleft\hintstyle{#3} &\centering \cvskill{#4} &\centering {#5} & \centering {#6} &{\itshape#7}%
+ \end{tabular}%
+ \par\addvspace{#2}
+ }
+}
+
+% Definition of \cvskillentry valid for moderncvbodyv
+\if@moderncvbodyv%
+ \DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
+ \RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
+ \arrayrulecolor{color1}%
+ \setlength\arrayrulewidth{\separatorrulewidth}%
+ \vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
+ %test for the star * in the command
+ \RenewDocumentCommand{\@starIndependentMatrixEntry}{}{%
+ \begingroup%
+ \renewcommand{\arraystretch}{1.25}%
+ \begin{tabular}[t]{@{}p{\hintscolumnwidth}%
+ @{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\skillmatrix@hintscolumnwidth}
+ @{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
+ p{\cvskill@experiencewidth} @{\hspace{\skillmatrix@padding}}p{\skillmatrix@commentwidth}@{}}%
+ % \cline{3-6}%
+ & \raggedleft\hintstyle{#3} &\centering \cvskill{#4} &\centering {#5} & \centering {#6} &{\itshape#7}\\[#2]%
+ \end{tabular}%
+ \endgroup%
+ }%
+ \IfBooleanTF{#1}{% the star does not do anything here
+ \@starIndependentMatrixEntry%
+ }{%
+ \@starIndependentMatrixEntry%
+ }%
+ \par\@aftersectionfalse\ignorespaces%
+ }%
+\fi
+%
+\endinput
+
+
+%% end of file `moderncvskillmatrix.sty'.
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
index 783f9606a46..e9ced7fba11 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylebanking.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylebanking}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: banking]
+\ProvidesPackage{moderncvstylebanking}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: banking]
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializecommand{\moderncvstylebodyoptions}{}
@@ -49,7 +49,12 @@
%\fi
% symbols
-\moderncvicons{awesome}
+\RequirePackage{ifxetex}
+\ifxetexorluatex
+ \moderncvicons{awesome}
+\else
+ \moderncvicons{marvosym}
+\fi
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
index b50886fe8f4..a3eed14091b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylecasual.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylecasual}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: casual]
+\ProvidesPackage{moderncvstylecasual}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: casual]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
@@ -36,7 +36,12 @@
%\fi
% symbols
-\moderncvicons{awesome}
+\RequirePackage{ifxetex}
+\ifxetexorluatex
+ \moderncvicons{awesome}
+\else
+ \moderncvicons{marvosym}
+\fi
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
index 6addabb2c27..2f948133681 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleclassic.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleclassic}[2015/07/28 v2.0.0 modern curriculum vitae and letter style scheme: classic]
+\ProvidesPackage{moderncvstyleclassic}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: classic]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
@@ -36,7 +36,12 @@
%\fi
% symbols
-\moderncvicons{marvosym}
+\RequirePackage{ifxetex}
+\ifxetexorluatex
+ \moderncvicons{awesome}
+\else
+ \moderncvicons{marvosym}
+\fi
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
index 815a4d754ff..cadc9307c06 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleempty.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleempty}[2015/07/28 v2.0.0 modern curriculum vitae scheme: empty]
+\ProvidesPackage{moderncvstyleempty}[2021/01/21 v2.1.0 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty
index b44f378326d..940f943d52f 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylefancy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylefancy.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylefancy}[2015/07/28 v2.0.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]
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{}
@@ -31,7 +31,12 @@
%\fi
% symbols
-\moderncvicons{awesome}
+\RequirePackage{ifxetex}
+\ifxetexorluatex
+ \moderncvicons{awesome}
+\else
+ \moderncvicons{marvosym}
+\fi
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
index 9046fda54b1..13e270c85e9 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleoldstyle.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleoldstyle}[2015/07/28 v2.0.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
\ExecuteOptions{}
diff --git a/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty b/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty
index adc93989326..8e369d9cbec 100644
--- a/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/tweaklist.sty
@@ -1,6 +1,6 @@
%% start of file `tweaklist.sty'.
-%% Original by Jakob Schiøtz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
-%% Modified by Xavier Danaux (xdanaux@gmail.com).
+%% Original by Jakob Schiotz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
+%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.