From 08371bb3e235152e3dac2c6c8faef659777c5543 Mon Sep 17 00:00:00 2001 From: Mark E Fuller Date: Sat, 4 May 2024 15:08:51 +0300 Subject: [PATCH] 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 Co-authored-by: LLdaniel Co-authored-by: daniel <41345639+LLdaniel@users.noreply.github.com> --- CHANGELOG | 2 ++ moderncv.cls | 2 ++ moderncvbodyi.sty | 10 +++++----- moderncvbodyiii.sty | 20 ++++++++++---------- moderncvbodyiv.sty | 8 ++++---- moderncvbodyv.sty | 12 ++++++------ moderncvfooti.sty | 4 ++-- moderncvheadi.sty | 18 ++++++++++-------- moderncvheadii.sty | 18 +++++++++--------- moderncvheadiii.sty | 16 +++++++++------- moderncvheadiv.sty | 18 ++++++++++-------- moderncvheadv.sty | 20 +++++++++++--------- moderncvheadvi.sty | 16 +++++++++------- moderncvskillmatrix.sty | 24 ++++++++++++------------ moderncvstylebanking.sty | 23 ++++++++++++++++++++++- moderncvstylecasual.sty | 22 ++++++++++++++++++++++ moderncvstyleclassic.sty | 22 ++++++++++++++++++++++ moderncvstyleempty.sty | 23 +++++++++++++++++++++++ moderncvstylefancy.sty | 24 ++++++++++++++++++++++++ moderncvstyleoldstyle.sty | 24 ++++++++++++++++++++++++ template.tex | 4 ++-- 21 files changed, 240 insertions(+), 90 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 3887511..f386ab7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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). diff --git a/moderncv.cls b/moderncv.cls index 730822c..227b773 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -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}} diff --git a/moderncvbodyi.sty b/moderncvbodyi.sty index 5099ad2..37ecee0 100644 --- a/moderncvbodyi.sty +++ b/moderncvbodyi.sty @@ -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} diff --git a/moderncvbodyiii.sty b/moderncvbodyiii.sty index 638bfd4..7b7c40b 100644 --- a/moderncvbodyiii.sty +++ b/moderncvbodyiii.sty @@ -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} diff --git a/moderncvbodyiv.sty b/moderncvbodyiv.sty index 22d9ac7..a29d8c2 100644 --- a/moderncvbodyiv.sty +++ b/moderncvbodyiv.sty @@ -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} diff --git a/moderncvbodyv.sty b/moderncvbodyv.sty index 96be31e..52ce05d 100644 --- a/moderncvbodyv.sty +++ b/moderncvbodyv.sty @@ -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 diff --git a/moderncvfooti.sty b/moderncvfooti.sty index 03d84c1..99e5fd2 100644 --- a/moderncvfooti.sty +++ b/moderncvfooti.sty @@ -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 diff --git a/moderncvheadi.sty b/moderncvheadi.sty index 346bf12..4c90312 100644 --- a/moderncvheadi.sty +++ b/moderncvheadi.sty @@ -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% diff --git a/moderncvheadii.sty b/moderncvheadii.sty index bf0a6d6..6569de5 100644 --- a/moderncvheadii.sty +++ b/moderncvheadii.sty @@ -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}}% diff --git a/moderncvheadiii.sty b/moderncvheadiii.sty index c3fafce..222abc9 100644 --- a/moderncvheadiii.sty +++ b/moderncvheadiii.sty @@ -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}}% diff --git a/moderncvheadiv.sty b/moderncvheadiv.sty index 1d24c96..eb87b29 100644 --- a/moderncvheadiv.sty +++ b/moderncvheadiv.sty @@ -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 diff --git a/moderncvheadv.sty b/moderncvheadv.sty index eaabd4a..fce4518 100644 --- a/moderncvheadv.sty +++ b/moderncvheadv.sty @@ -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% diff --git a/moderncvheadvi.sty b/moderncvheadvi.sty index e532f9a..7364d0e 100644 --- a/moderncvheadvi.sty +++ b/moderncvheadvi.sty @@ -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}}% diff --git a/moderncvskillmatrix.sty b/moderncvskillmatrix.sty index 6cf41c0..5c1a893 100644 --- a/moderncvskillmatrix.sty +++ b/moderncvskillmatrix.sty @@ -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 diff --git a/moderncvstylebanking.sty b/moderncvstylebanking.sty index 29df385..f8ed6f7 100644 --- a/moderncvstylebanking.sty +++ b/moderncvstylebanking.sty @@ -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 diff --git a/moderncvstylecasual.sty b/moderncvstylecasual.sty index dd1c3eb..cf5a1b8 100644 --- a/moderncvstylecasual.sty +++ b/moderncvstylecasual.sty @@ -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 diff --git a/moderncvstyleclassic.sty b/moderncvstyleclassic.sty index 7008b03..125e63c 100644 --- a/moderncvstyleclassic.sty +++ b/moderncvstyleclassic.sty @@ -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 diff --git a/moderncvstyleempty.sty b/moderncvstyleempty.sty index 056a37f..bae1545 100644 --- a/moderncvstyleempty.sty +++ b/moderncvstyleempty.sty @@ -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 %------------------------------------------------------------------------------- diff --git a/moderncvstylefancy.sty b/moderncvstylefancy.sty index ea56bba..25cde7d 100644 --- a/moderncvstylefancy.sty +++ b/moderncvstylefancy.sty @@ -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 %------------------------------------------------------------------------------- diff --git a/moderncvstyleoldstyle.sty b/moderncvstyleoldstyle.sty index 78225e0..466af7e 100644 --- a/moderncvstyleoldstyle.sty +++ b/moderncvstyleoldstyle.sty @@ -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 %------------------------------------------------------------------------------- diff --git a/template.tex b/template.tex index 014a2f1..1a8314f 100644 --- a/template.tex +++ b/template.tex @@ -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