diff options
author | Karl Berry <karl@freefriends.org> | 2021-01-22 22:31:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-01-22 22:31:33 +0000 |
commit | 8b1eff59ef4e0fa32ff38461e631a55cc747d3b3 (patch) | |
tree | 608af609410ab0bac2223879ab770e727b47578c /Master/texmf-dist/tex/latex | |
parent | 393d98aa9b73034e551b7548b484a26c824386ad (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')
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&% \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. |