make colors user adjustable. (#151)

* make colors user adjustable.
- Systematize colors and make them user adjustable. See documentation for details.
  this requires the \moderncvcolor to be issued BEFORE \moderncvstyle.

* fix missing characters for fancy style

* manually copied the current version user guide form master

---------

Co-authored-by: David <forenkram@gmx.de>
Co-authored-by: LLdaniel <daniel.adlkofer2@freenet.de>
Co-authored-by: daniel <41345639+LLdaniel@users.noreply.github.com>
This commit is contained in:
Mark E Fuller 2024-05-04 15:08:51 +03:00 committed by GitHub
commit 08371bb3e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 240 additions and 90 deletions

View file

@ -20,6 +20,8 @@ version 2.?.? (29 Jun 2023)
babel for Spanish (#109).
- Added Codeberg and Mastodon social icons (#107).
- New \social options: arXiv, INSPIRE (#185)
- Systematize colors and make them user adjustable. See documentation for details.
This requires the \moderncvcolor to be issued BEFORE \moderncvstyle.
version 2.3.1 (21 Feb 2022)
- Fix duplicate GitLab icon (#105).

View file

@ -507,6 +507,8 @@
% styles
\newcommand*{\namestyle}[1]{{\namefont#1}}
\NewDocumentCommand{\firstnamestyle}{+m}{{\namefont#1}}
\NewDocumentCommand{\lastnamestyle}{+m}{{\namefont#1}}
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
\newcommand*{\quotestyle}[1]{{\quotefont#1}}

View file

@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{}
% styles
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@ -73,7 +73,7 @@
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
\cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
\cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{bodyrulecolor}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\RenewDocumentCommand{\subsection}{sm}{%
@ -169,7 +169,7 @@
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
{\color{color2}\itshape\enclname: \@enclosure}}%
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}

View file

@ -61,16 +61,16 @@
\renewcommand*{\sectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
\sectionfont\textcolor{color1}{#1}%
\sectionfont\textcolor{sectioncolor}{#1}%
\if@shortrules\else%
\par\fi}}
\renewcommand*{\subsectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
\subsectionfont\textcolor{color1}{#1}%
\subsectionfont\textcolor{subsectioncolor}{#1}%
\if@shortrules\else\if@mixedrules\else%
\par\fi\fi}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@ -133,14 +133,14 @@
\newcommand*{\sectionrule}{}
\newcommand*{\subsectionrule}{}
\if@fullrules%
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
\if@shortrules%
\renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\renewcommand*{\sectionrule}{\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@mixedrules%
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
\renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@norules%
\renewcommand*{\sectionrule}{}
\renewcommand*{\subsectionrule}{}\fi
@ -238,7 +238,7 @@
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
{\color{color2}\itshape\enclname: \@enclosure}}%
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}

View file

@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@ -177,7 +177,7 @@
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
{\color{color2}\itshape\enclname: \@enclosure}}%
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}

View file

@ -34,9 +34,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
% lengths
% used by \cvitem (and all children command)
@ -99,7 +99,7 @@
% underlying command to implement \cvitem, \subsection and \section
\newcommand*{\@cvitem}[3][.5ex]{%
\arrayrulecolor{color1}%
\arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\if@aftersection\else%
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@ -165,7 +165,7 @@
{%
\bibliographyhead{\refname}%
% \small%
\arrayrulecolor{color1}%
\arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\noindent%
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
@ -213,7 +213,7 @@
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfill%
{\color{color2}\itshape\enclname: \@enclosure}}}
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}}
\endinput

View file

@ -79,7 +79,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
\color{color2}\addressfont%
\color{addresscolor}\addressfont%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@ -110,7 +110,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
\addressfont\color{color2}%
\addressfont\color{addresscolor}%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall

View file

@ -48,10 +48,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@ -77,7 +79,7 @@
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\savebox{\makecvheaddetailsbox}{%
\addressfont\color{color2}%
\addressfont\color{addresscolor}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@ -100,7 +102,7 @@
{%
\if@left%
\hspace*{\separatorcolumnwidth}\fi%
\color{color1}%
\color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@ -118,7 +120,7 @@
\begin{minipage}[b]{\makecvheadnamewidth}%
\if@left\raggedright\fi%
\if@right\raggedleft\fi%
\namestyle{\@firstname\ \@lastname}%
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}}%
% raise boxes if top option is set
@ -167,7 +169,7 @@
% optional detailed information
\if@details%
\raggedleft%
\addressfont\textcolor{color2}{%
\addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%

View file

@ -47,10 +47,10 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@ -110,7 +110,7 @@
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
{\color{pictureframecolor}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
% name (pre-rendering)
\@initializelength{\makecvheadpicturewidth}%
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
@ -121,9 +121,9 @@
\if@right\raggedleft\fi%
\namefont%
\if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
{\color{color2!50}\MakeLowercase\@firstname}{\color{color2}\MakeLowercase\@lastname}%
{\color{firstnamecolor}\MakeLowercase\@firstname}{\color{lastnamecolor}\MakeLowercase\@lastname}%
\else% default design: first- and lastname as given with a space in between
{\color{color2!50}\@firstname} {\color{color2}\@lastname}\fi}}%
{\color{firstnamecolor}\@firstname} {\color{lastnamecolor}\@lastname}\fi}}%
% rendering
\if@left%
\usebox{\makecvheadnamebox}%
@ -131,11 +131,11 @@
\if@right%
\usebox{\makecvheadpicturebox}%
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
{\color{color2!50}\rule{\textwidth}{.25ex}}%
{\color{headrulecolor}\rule{\textwidth}{.25ex}}%
% optional detailed information
\if@details{%
\\\null%
\addressfont\color{color2}%
\addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%

View file

@ -36,10 +36,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@ -81,12 +83,12 @@
\parbox{\makeheaddetailswidth}{%
\centering%
% name and title
\namestyle{\@firstname~\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% optional detailed information
\if@details{%
\\%
\addressfont\color{color2}%
\addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%

View file

@ -38,10 +38,12 @@
\renewcommand*{\quotefont}{\large\itshape}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
%-------------------------------------------------------------------------------
@ -80,7 +82,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
\color{color1}%
\color{pictureframecolor}%
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@ -91,7 +93,7 @@
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
{}%
\begin{minipage}[b]{\makecvheadnamewidth}%
\namestyle{\@firstname\ \@lastname}%
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional photo
@ -103,7 +105,7 @@
% optional details
\if@details%
\makecvheadinfo{%
\addressfont\color{color2}%
\addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@ -152,7 +154,7 @@
\if@details%
\hspace{0pt}%
\marginpar{%
\addressfont\textcolor{color2}{%
\addressfont\textcolor{addresscolor}{%
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty

View file

@ -37,10 +37,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@ -61,7 +63,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
\color{color1}%
\color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@ -75,7 +77,7 @@
% optional details
\if@details%
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
\addressfont\color{color2}%
\addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@ -92,7 +94,7 @@
% name and optional title
\newlength{\makecvheadpictureboxskip}%
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
\namestyle{\@firstname\ \@lastname}%
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{
\ifthenelse{\isundefined{\@quote}}%
{}%
@ -117,7 +119,7 @@
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
\let\standarddoublebackslash\\%
\newcommand*{\@makecvtitle}[3][.5ex]{%
\arrayrulecolor{color1}%
\arrayrulecolor{headrulecolor}%
\setlength\arrayrulewidth{1.2\p@}%
\if@aftersection\else%
\vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@ -147,7 +149,7 @@
% optional detailed information
\if@details%
\raggedleft%
\addressfont\textcolor{color2}{%
\addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%

View file

@ -43,20 +43,22 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makehead}{%
\setlength{\makeheaddetailswidth}{\textwidth}%
% name and title
\if@left\hfill\fi%
\namestyle{\@firstname~\@lastname}%
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\[-.35em]% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% rule
{\color{color1}\rule{\textwidth}{.25ex}}}
{\color{bodyrulecolor}\rule{\textwidth}{.25ex}}}
%-------------------------------------------------------------------------------
% resume head definition
@ -107,7 +109,7 @@
% optional detailed information
\if@details{%
\\\null%
\addressfont\color{color2}%
\addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%

View file

@ -252,10 +252,10 @@
% \cvskill{3}
\begingroup
\my@repeat@count=\z@
\@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
\@whilenum\my@repeat@count<#1\do{\tikz\filldraw[skillmatrixfullcolor] (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%
\@whilenum\my@repeat@count>#1\do{\tikz\filldraw[skillmatrixemptycolor] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
\my@repeat@count\m@ne\,}%
\endgroup
}% end \cvskill
@ -596,7 +596,7 @@
\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}%
\arrayrulecolor{bodyrulecolor}%
% 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}%
@ -650,7 +650,7 @@
% 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}
\arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
@ -697,7 +697,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
\arrayrulecolor{color1}%
\arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@ -766,7 +766,7 @@
\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}%
\arrayrulecolor{bodyrulecolor}%
% 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}%
@ -816,7 +816,7 @@
}%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
\arrayrulecolor{color1}
\arrayrulecolor{bodyrulecolor}
\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}
@ -863,7 +863,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
\arrayrulecolor{color1}%
\arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@ -924,7 +924,7 @@
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
\begingroup
\renewcommand{\arraystretch}{1.25}
\arrayrulecolor{color1}
\arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
@ -938,7 +938,7 @@
% 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}%
\arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
\begingroup%
@ -990,7 +990,7 @@
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
\begingroup
\renewcommand{\arraystretch}{1.25}
\arrayrulecolor{color1}
\arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
@ -1018,7 +1018,7 @@
\if@moderncvbodyv%
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
\arrayrulecolor{color1}%
\arrayrulecolor{bodyrulecolor}%
\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

View file

@ -60,7 +60,28 @@
\moderncvicons{letters} % do not use symbols, use letters
\fi
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% head and footer
\colorlet{lastnamecolor}{color1}
\colorlet{namecolor}{lastnamecolor}
\colorlet{headrulecolor}{lastnamecolor!50}
\colorlet{firstnamecolor}{lastnamecolor!60}
\colorlet{titlecolor}{color2!85}
\colorlet{addresscolor}{color2}
\colorlet{quotecolor}{color1}
\colorlet{pictureframecolor}{color1}
% body
\colorlet{bodyrulecolor}{color1}
\colorlet{sectioncolor}{color1}
\colorlet{subsectioncolor}{color1}
\colorlet{hintstylecolor}{color0}
% letter
\colorlet{letterclosingcolor}{color2}
% skillmatrix
\colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer

View file

@ -47,6 +47,28 @@
\moderncvicons{letters} % do not use symbols, use letters
\fi
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% head and footer
\colorlet{lastnamecolor}{color2}
\colorlet{namecolor}{lastnamecolor}
\colorlet{headrulecolor}{lastnamecolor!50}
\colorlet{firstnamecolor}{lastnamecolor!50}
\colorlet{titlecolor}{color2}
\colorlet{addresscolor}{color2}
\colorlet{quotecolor}{color1}
\colorlet{pictureframecolor}{color1}
% body
\colorlet{bodyrulecolor}{color1}
\colorlet{sectioncolor}{color1}
\colorlet{subsectioncolor}{color1}
\colorlet{hintstylecolor}{color0}
% letter
\colorlet{letterclosingcolor}{color2}
% skillmatrix
\colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer

View file

@ -48,6 +48,28 @@
\moderncvicons{letters} % do not use symbols, use letters
\fi
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% head and footer
\colorlet{lastnamecolor}{color2}
\colorlet{namecolor}{lastnamecolor}
\colorlet{headrulecolor}{lastnamecolor!50}
\colorlet{firstnamecolor}{lastnamecolor!50}
\colorlet{titlecolor}{color2}
\colorlet{addresscolor}{color2}
\colorlet{quotecolor}{color1}
\colorlet{pictureframecolor}{color1}
% body
\colorlet{bodyrulecolor}{color1}
\colorlet{sectioncolor}{color1}
\colorlet{subsectioncolor}{color1}
\colorlet{hintstylecolor}{color0}
% letter
\colorlet{letterclosingcolor}{color2}
% skillmatrix
\colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer

View file

@ -32,6 +32,29 @@
% style definition
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% head and footer
\colorlet{lastnamecolor}{color2}
% \colorlet{namecolor}{lastnamecolor}
\colorlet{headrulecolor}{lastnamecolor!50}
\colorlet{firstnamecolor}{lastnamecolor!50}
\colorlet{titlecolor}{color2}
\colorlet{addresscolor}{color2}
\colorlet{quotecolor}{color1}
\colorlet{pictureframecolor}{color1}
% body
\colorlet{bodyrulecolor}{color1}
\colorlet{sectioncolor}{color1}
\colorlet{subsectioncolor}{color1}
\colorlet{hintstylecolor}{color0}
% letter
\colorlet{letterclosingcolor}{color2}
% skillmatrix
\colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------

View file

@ -21,6 +21,30 @@
\ExecuteOptions{symbols}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% head and footer
\colorlet{lastnamecolor}{color1}
\colorlet{namecolor}{lastnamecolor}
\colorlet{headrulecolor}{color1}
\colorlet{firstnamecolor}{lastnamecolor!50}
\colorlet{titlecolor}{color2}
\colorlet{addresscolor}{color2}
\colorlet{quotecolor}{color1}
\colorlet{pictureframecolor}{color1}
% body
\colorlet{bodyrulecolor}{color1}
\colorlet{sectioncolor}{color1}
\colorlet{subsectioncolor}{color1}
\colorlet{hintstylecolor}{color0}
% letter
\colorlet{letterclosingcolor}{color2}
% skillmatrix
\colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------

View file

@ -50,6 +50,30 @@
\fi
%-------------------------------------------------------------------------------
% Colors
%-------------------------------------------------------------------------------
% head and footer
\colorlet{lastnamecolor}{color2}
\colorlet{namecolor}{lastnamecolor}
\colorlet{headrulecolor}{lastnamecolor!50}
\colorlet{firstnamecolor}{lastnamecolor!50}
\colorlet{titlecolor}{color2}
\colorlet{addresscolor}{color2}
\colorlet{quotecolor}{color1}
\colorlet{pictureframecolor}{color1}
% body
\colorlet{bodyrulecolor}{color1}
\colorlet{sectioncolor}{color1}
\colorlet{subsectioncolor}{color1}
\colorlet{hintstylecolor}{color0}
% letter
\colorlet{letterclosingcolor}{color2}
% skillmatrix
\colorlet{skillmatrixfullcolor}{color1}
\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------

View file

@ -8,9 +8,9 @@
\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{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
% moderncv themes
\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page