diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml index 52b648f..772d818 100644 --- a/.github/workflows/build-pdf.yml +++ b/.github/workflows/build-pdf.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Install TeX Live - run: sudo apt update && sudo apt install texlive-full + run: sudo apt update && sudo apt install texlive-full fonts-font-awesome - name: Checkout code uses: actions/checkout@v2 - name: Build pdf diff --git a/moderncv.cls b/moderncv.cls index 5183808..58f5ce8 100644 --- a/moderncv.cls +++ b/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] %------------------------------------------------------------------------------- diff --git a/moderncvbodyi.sty b/moderncvbodyi.sty index a86bcf2..b30af90 100644 --- a/moderncvbodyi.sty +++ b/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/moderncvbodyiii.sty b/moderncvbodyiii.sty index 562129a..85fff25 100644 --- a/moderncvbodyiii.sty +++ b/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@}} diff --git a/moderncvbodyiv.sty b/moderncvbodyiv.sty index 20af5e4..54f4751 100644 --- a/moderncvbodyiv.sty +++ b/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/moderncvbodyv.sty b/moderncvbodyv.sty index 8888fe5..81c9db5 100644 --- a/moderncvbodyv.sty +++ b/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/moderncvcollection.sty b/moderncvcollection.sty index 909d234..73db08e 100644 --- a/moderncvcollection.sty +++ b/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/moderncvcolorblack.sty b/moderncvcolorblack.sty index 24a911e..9382609 100644 --- a/moderncvcolorblack.sty +++ b/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/moderncvcolorblue.sty b/moderncvcolorblue.sty index 39f5f42..75a9948 100644 --- a/moderncvcolorblue.sty +++ b/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/moderncvcolorburgundy.sty b/moderncvcolorburgundy.sty index 28f5b2c..a1c8331 100644 --- a/moderncvcolorburgundy.sty +++ b/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/moderncvcolorgreen.sty b/moderncvcolorgreen.sty index 1e4eadc..5f7deaa 100644 --- a/moderncvcolorgreen.sty +++ b/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/moderncvcolorgrey.sty b/moderncvcolorgrey.sty index 8934dee..988d596 100644 --- a/moderncvcolorgrey.sty +++ b/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/moderncvcolororange.sty b/moderncvcolororange.sty index cc0a62e..357cc96 100644 --- a/moderncvcolororange.sty +++ b/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/moderncvcolorpurple.sty b/moderncvcolorpurple.sty index 2c63aaf..7603043 100644 --- a/moderncvcolorpurple.sty +++ b/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/moderncvcolorred.sty b/moderncvcolorred.sty index be178aa..1716781 100644 --- a/moderncvcolorred.sty +++ b/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/moderncvcompatibility.sty b/moderncvcompatibility.sty index f0ca454..2a5f15c 100644 --- a/moderncvcompatibility.sty +++ b/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] %------------------------------------------------------------------------------- diff --git a/moderncvdebugtools.sty b/moderncvdebugtools.sty index 04ad305..3e8f81b 100644 --- a/moderncvdebugtools.sty +++ b/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/moderncvfooti.sty b/moderncvfooti.sty index bfc4e2b..751216c 100644 --- a/moderncvfooti.sty +++ b/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] %------------------------------------------------------------------------------- diff --git a/moderncvheadi.sty b/moderncvheadi.sty index a3477d4..ff44702 100644 --- a/moderncvheadi.sty +++ b/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 diff --git a/moderncvheadii.sty b/moderncvheadii.sty index b6090bb..ecfaf13 100644 --- a/moderncvheadii.sty +++ b/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 diff --git a/moderncvheadiii.sty b/moderncvheadiii.sty index ace69ce..d851785 100644 --- a/moderncvheadiii.sty +++ b/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 diff --git a/moderncvheadiv.sty b/moderncvheadiv.sty index 69bb498..2f9b8e0 100644 --- a/moderncvheadiv.sty +++ b/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 diff --git a/moderncvheadv.sty b/moderncvheadv.sty index 7064dd5..2f84785 100644 --- a/moderncvheadv.sty +++ b/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 diff --git a/moderncvheadvi.sty b/moderncvheadvi.sty index 804bdaf..e647879 100644 --- a/moderncvheadvi.sty +++ b/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 diff --git a/moderncviconsawesome.sty b/moderncviconsawesome.sty index e1ee608..f821130 100644 --- a/moderncviconsawesome.sty +++ b/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,7 +10,7 @@ % 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 diff --git a/moderncviconsletters.sty b/moderncviconsletters.sty index e7536f5..79bb73f 100644 --- a/moderncviconsletters.sty +++ b/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] %------------------------------------------------------------------------------- diff --git a/moderncviconsmarvosym.sty b/moderncviconsmarvosym.sty index 2634725..43b4602 100644 --- a/moderncviconsmarvosym.sty +++ b/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] %------------------------------------------------------------------------------- diff --git a/moderncvskillmatrix.sty b/moderncvskillmatrix.sty new file mode 100644 index 0000000..d339f35 --- /dev/null +++ b/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[*][][][][][][]{} +% 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: +% input_3 (optional): string describing meaning of \cvskill{2}, default: +% input_4 (optional): string describing meaning of \cvskill{3}, default: +% input_5 (optional): string describing meaning of \cvskill{4}, default: +% input_6 (optional): string describing meaning of \cvskill{5}, default: +% 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 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[*][][][][][][]{} +% 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: +% input_3 (optional): string describing meaning of \cvskill{2}, default: +% input_4 (optional): string describing meaning of \cvskill{3}, default: +% input_5 (optional): string describing meaning of \cvskill{4}, default: +% input_6 (optional): string describing meaning of \cvskill{5}, default: +% 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[][][][][]% +% 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: +% input_3 (optional): string naming the skill column (3nd column), default: +% input_4 (optional): string naming the experience-in-years column (4th column), default: +% input_5 (optional): string naming the comment column (5th column), default: +% +% 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[*][]{}{<0-5>}{}{}{}% +% 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[][][] +% 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[][][], thereby leaving the defaults in place for the first column. +% +% +% \setcvskilllegendcolumns[][] +% 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-. +% 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[][], 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.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.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.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[][][] +\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[][][], 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[][], \setcvskillcolumns[][] \setcvskillcolumns[][][] + \ifdefempty{\arg@new@hintscolumnwidth}{% + % Case \setcvskillcolumns[], \setcvskillcolumns[][] or \setcvskillcolumns[][] + \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[][][]. 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[][][] + \setlength{\skillmatrix@columnwidth}{\arg@new@bodyLengthFactor\skillmatrix@bodylength}% + \ifdefempty{\arg@new@experienceWidth}{% + % Case \setcvskillcolumns[][][] do nothing here + }{% + % Case \setcvskillcolumns[][][]. 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[], \setcvskillcolumns[][] + % or \setcvskillcolumns[][] + \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[][] do nothing here and use default + % \skillmatrix@columnwidth and check third argument + \ifdefempty{\arg@new@experienceWidth}{% + % Case \setcvskillcolumns[][][] do nothing here + }{% + % Case \setcvskillcolumns[][][]. 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[], \setcvskillcolumns[][] + \setlength{\skillmatrix@columnwidth}{\arg@new@bodyLengthFactor\skillmatrix@bodylength}% + \ifdefempty{\arg@new@experienceWidth}{% + % Case \setcvskillcolumns[][][] do nothing here + }{% + % Case \setcvskillcolumns[][][]. 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[][] +\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-. +% 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[][], 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[][] + \ifdefempty{\arg@new@legend@leftDescriptorFactor}{% +% % Case \setcvskilllegendcolumns[][] do nothing here, i.e. leave default values unaltered + }{% + % Case \setcvskilllegendcolumns[][], \setcvskilllegendcolumns[][] + \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}% + }% +% % Case \setcvskilllegendcolumns[] nothing needs to be done here i.e. leave default values unaltered + }{% + % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[], \setcvskilllegendcolumns[][] + % or \setcvskilllegendcolumns[][] + \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[][] do nothing here and leave default values unaltered + }{% + % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[], \setcvskilllegendcolumns[][] + \RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}% + }% + }% +}% +% +% %------------------------------------------------------------------------------- +% % \cvskilllegend +% %------------------------------------------------------------------------------- +% default legend style +% \cvskilllegend[*][][][][][][]{} +\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: +% input_3 (optional): string describing meaning of \cvskill{2}, default: +% input_4 (optional): string describing meaning of \cvskill{3}, default: +% input_5 (optional): string describing meaning of \cvskill{4}, default: +% input_6 (optional): string describing meaning of \cvskill{5}, default: +% 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 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[*][][][][][][]{} +\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: +% input_3 (optional): string describing meaning of \cvskill{2}, default: +% input_4 (optional): string describing meaning of \cvskill{3}, default: +% input_5 (optional): string describing meaning of \cvskill{4}, default: +% input_6 (optional): string describing meaning of \cvskill{5}, default: +% 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: +% input_3 (optional): string naming the skill column (3nd column), default: +% input_4 (optional): string naming the experience-in-years column (4th column), default: +% input_5 (optional): string naming the comment column (5th column), default: +% +% 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[*][]{}{<0-5>}{}{}{}% +\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/moderncvstylebanking.sty b/moderncvstylebanking.sty index b02cbce..e9ced7f 100644 --- a/moderncvstylebanking.sty +++ b/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}{} diff --git a/moderncvstylecasual.sty b/moderncvstylecasual.sty index 42765d5..a3eed14 100644 --- a/moderncvstylecasual.sty +++ b/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}{} diff --git a/moderncvstyleclassic.sty b/moderncvstyleclassic.sty index 50f41af..2f94813 100644 --- a/moderncvstyleclassic.sty +++ b/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}{} diff --git a/moderncvstyleempty.sty b/moderncvstyleempty.sty index 815a4d7..cadc930 100644 --- a/moderncvstyleempty.sty +++ b/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/moderncvstylefancy.sty b/moderncvstylefancy.sty index fe08aaf..940f943 100644 --- a/moderncvstylefancy.sty +++ b/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{} diff --git a/moderncvstyleoldstyle.sty b/moderncvstyleoldstyle.sty index 9046fda..13e270c 100644 --- a/moderncvstyleoldstyle.sty +++ b/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/template.tex b/template.tex index 679f07d..7919aed 100644 --- a/template.tex +++ b/template.tex @@ -1,12 +1,12 @@ %% start of file `template.tex'. -%% 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, % available at http://www.latex-project.org/lppl/. -\documentclass[11pt,a4paper,sans]{./moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') +\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') % moderncv themes \moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy' @@ -114,6 +114,59 @@ Detailed achievements:% \cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ} \cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ} +\section{Skill matrix} +\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills} +%% Skill matrix as an alternative to rate one's skills, computer or other. + +%% Adjusts width of skill matrix columns. +%% Usage \setcvskillcolumns[][][] +%% , should be lengths smaller than \textwidth, needs to be between 0 and 1. +%% Examples: +% \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[][0.45][\widthof{``Year''}]% +% \setcvskillcolumns[\widthof{``Languag''}][0.48][] +% \setcvskillcolumns[\widthof{``Languag''}]% + +%% Adjusts width of legend columns. Usage \setcvskilllegendcolumns[][] +%% needs to be between 0 and 1. should be a length smaller than \textwidth +%% Examples: +% \setcvskilllegendcolumns[][0.45] +% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45] +% \setcvskilllegendcolumns[0ex][0.46]% this is usefull for the banking style + +%% Add a legend if you are using \cvskill{<1-5>} command or \cvskillentry +%% Usage \cvskilllegend[*][][][][][][]{} +% \cvskilllegend % insert default legend without lines +\cvskilllegend*[1em]{}% adjust post spacing +% \cvskilllegend*{Legend}% Alternatively add a description string +%% adjust the legend entries for other languages, here German +% \cvskilllegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende} + +%% Alternative legend style with the first three skill levels in one column +%% Usage \cvskillplainlegend[*][][][][][][]{} +% \setcvskilllegendcolumns[][0.6]% works for classic, casual, banking +% \setcvskilllegendcolumns[][0.55]% works better for oldstyle and fancy +% \cvskillplainlegend{} +% \cvskillplainlegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} + +%% Add a head of the skill matrix table with descriptions. +%% Usage \cvskillhead[][][][][]% +\cvskillhead[-0.1em]% this inserts the standard legend in english and adjust padding +%% Adjust head of the skill matrix for other languages +% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] + +%% \cvskillentry[*][]{}{<0-5>}{}{}{}% +%% Example usages: +\cvskillentry*{Language:}{3}{Python}{2}{I'm so experienced in Python and have realised a million projects. At least.} +\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!} +\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX} +\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional +\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years} +%% \cvskill{<0-5>} command +% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}} + \section{Interests} \cvitem{hobby 1}{Description} \cvitem{hobby 2}{Description} diff --git a/tweaklist.sty b/tweaklist.sty index ff9c6a8..8e369d9 100644 --- a/tweaklist.sty +++ b/tweaklist.sty @@ -1,6 +1,6 @@ %% start of file `tweaklist.sty'. %% 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). +%% 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.