diff --git a/CHANGELOG b/CHANGELOG index 5adef48..5ea66bf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,7 @@ Release: next +- Systematize colors and make them user adjustable. See documentation for details. + this requires the \moderncvcolor to be issued BEFORE \moderncvstyle. +- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Olystyle does not respond too well to nodetails. - casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden). - fix Researcher ID (still) doesn't display Issue #29. - make options 'symbols' and 'nosymbols' available to all styles to toggle whether diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex index 611c898..1e8f82d 100644 --- a/manual/moderncv_userguide.tex +++ b/manual/moderncv_userguide.tex @@ -542,11 +542,11 @@ for passing options follows the usual \LaTeX\ scheme. Each style defines their own options and not all options are available for each style. Below is a list of all options available along with a short description. -\paragraph{\texttt{casual}.} This style allows the following options which \emph{only} affect footer and head style.\medskip +\paragraph{\texttt{casual}.} This style allows the following options which \emph{only} affect footer and head style:\medskip \begingroup \renewcommand{\arraystretch}{1.1} -\begin{tabular}{r@{\hspace{2ex}}p{0.82\textwidth}} +\begin{tabular}{r@{\hspace{2ex}}p{0.72\textwidth}} {\bfseries \code{head alignment}:} & values: \Code{left}, \Code{right} (default). This option allows to influence the alignment of the title and the picture if one is included. \\ {\bfseries \texttt{name}:} & values: \Code{alternate}. Displays the name in all lowercase letters. Differentiation of the name is done by color (disabled by default). This feature is discouraged for longer names.\\ {\bfseries \code{data in head}:} & values: \Code{details}, \Code{nodetails} (default). Show personal data in the header (\code{details}) or in the footer (\code{nodetails} (default)). \\ @@ -554,12 +554,13 @@ Below is a list of all options available along with a short description. \end{tabular}\medskip \endgroup -\paragraph{\texttt{classic}.} This style allows the following options:\medskip +\paragraph{\texttt{classic}.} This style allows the following options which \emph{only} affect footer and head style:\medskip \begingroup \renewcommand{\arraystretch}{1.1} -\begin{tabular}{r@{\hspace{2ex}}p{0.82\textwidth}} +\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}} {\bfseries \code{alignment}:} & values: \Code{left} (default), \code{right}. The option toggles the alignment of the address block and the picture. \\ + {\bfseries \code{data in head}:} & values: \Code{details}, \Code{nodetails} (default). Show personal data in the header (\code{details}) or in the footer (\code{nodetails} (default)). \\ {\bfseries \code{symbols:}} & values: \Code{symbols} (default), \code{nosymbols}. These options let you chose between the inclusion of icons for the personal data or text based abbreviations. \end{tabular}\medskip \endgroup @@ -568,10 +569,11 @@ Below is a list of all options available along with a short description. \begingroup \renewcommand{\arraystretch}{1.1} -\begin{tabular}{r@{\hspace{2ex}}p{0.82\textwidth}} - {\bfseries \code{alignment}:} & values: \Code{left} (default), \Code{center}, \code{right}. This option allows to influence the alignment of the entries in the style. \\ +\begin{tabular}{r@{\hspace{2ex}}p{0.68\textwidth}} + {\bfseries \code{alignment (body)}:} & values: \Code{left} (default), \Code{center}, \code{right}. This option allows to influence the alignment of the entries in the style. \\ % {\bfseries \code{rule style}:} & values: \Code{fullrules}, \Code{shortrules}, \Code{mixedrules} (default), \code{norules}. This option allows to adjust the rules used in the style. \\ + {\bfseries \code{data in head}:} & values: \Code{details}, \Code{nodetails} (default). Show personal data in the header (\code{details}) or in the footer (\code{nodetails} (default)). \\ {\bfseries \code{symbols:}} & values: \Code{symbols} (default), \code{nosymbols}. These options let you chose between the inclusion of icons for the personal data or text based abbreviations. \end{tabular}\medskip \endgroup @@ -580,7 +582,8 @@ Below is a list of all options available along with a short description. \begingroup \renewcommand{\arraystretch}{1.1} -\begin{tabular}{r@{\hspace{2ex}}p{0.82\textwidth}} +\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} + {\bfseries \code{data in head}:} & values: \Code{details}, \Code{nodetails} (default). Show personal data in the header (\code{details}) or in the footer (\code{nodetails} (default)). \\ {\bfseries \code{symbols:}} & values: \Code{symbols} (default), \code{nosymbols}. These options let you chose between the inclusion of icons for the personal data or text based abbreviations. \end{tabular}\medskip \endgroup @@ -589,7 +592,8 @@ Below is a list of all options available along with a short description. \begingroup \renewcommand{\arraystretch}{1.1} -\begin{tabular}{r@{\hspace{2ex}}p{0.82\textwidth}} +\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}} + {\bfseries \code{data in head}:} & values: \Code{details}, \Code{nodetails} (default). Show personal data in the header (\code{details}) or in the footer (\code{nodetails} (default)). \\ {\bfseries \code{symbols:}} & values: \Code{symbols} (default), \code{nosymbols}. These options let you chose between the inclusion of icons for the personal data or text based abbreviations. \end{tabular}\medskip \endgroup @@ -602,6 +606,36 @@ Below is a list of all options available along with a short description. \subsection{Colors} +The colors of each style can be readjusted. +\todox{explain the three basic colors} + +\paragraph{casual} +\begin{lstlisting} + %------------------------------------------------------------------------------- +% 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} + +\end{lstlisting} + \subsection{Modifying symbols and icons} diff --git a/moderncv.cls b/moderncv.cls index c91350e..1dd83a3 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -457,6 +457,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 b30af90..cf8cf9d 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}{% @@ -168,7 +168,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 85fff25..a280bdb 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 @@ -237,7 +237,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 54f4751..290da9e 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}}} %------------------------------------------------------------------------------- @@ -176,7 +176,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 81c9db5..6e1d6ee 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}@{}}% @@ -212,7 +212,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 751216c..6491dcf 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 @@ -108,7 +108,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 ff44702..c0496dc 100644 --- a/moderncvheadi.sty +++ b/moderncvheadi.sty @@ -43,10 +43,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}}} %------------------------------------------------------------------------------- @@ -72,7 +74,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% @@ -93,7 +95,7 @@ {% \if@left% \hspace*{\separatorcolumnwidth}\fi% - \color{color1}% + \color{pictureframecolor}% \setlength{\fboxrule}{\@photoframewidth}% \ifdim\@photoframewidth=0pt% \setlength{\fboxsep}{0pt}\fi% @@ -111,7 +113,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}}% % rendering @@ -149,7 +151,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 ecfaf13..cfd492e 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 d851785..995c896 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}% + \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 2f9b8e0..d0547d5 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}}% @@ -148,7 +150,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 2f84785..70a6a55 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}}% @@ -90,7 +92,7 @@ % name and optional title \newlength{\makecvheadpictureboxskip}% \setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}% - \namestyle{\@firstname\ \@lastname}% + \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}% \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}\\[2.5em]% % optional quote \ifthenelse{\isundefined{\@quote}}% @@ -101,7 +103,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 :( @@ -131,7 +133,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 e647879..2466a1b 100644 --- a/moderncvheadvi.sty +++ b/moderncvheadvi.sty @@ -24,7 +24,7 @@ \DeclareOption{right} {\@leftfalse\@righttrue} \DeclareOption*{}% avoid choking on unknown options -\ExecuteOptions{details, left} +\ExecuteOptions{details,left} \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 @@ -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 d339f35..6f20f81 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 7ca0253..7fd0fc4 100644 --- a/moderncvstylebanking.sty +++ b/moderncvstylebanking.sty @@ -24,6 +24,12 @@ \DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}} \DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}} +% head options +\@initializecommand{\moderncvstyleheadoptions}{} +\@initializeif{\if@datainhead}\@datainheadtrue +\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}} +\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}} + % toggle use of symbol fonts. \@initializeif{\if@symbols}\@symbolsfalse \DeclareOption{symbols} {\@symbolstrue} @@ -64,14 +70,40 @@ \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 %------------------------------------------------------------------------------- -\moderncvhead{3} +\moderncvhead[\moderncvstyleheadoptions]{3} \moderncvbody[\moderncvstylebodyoptions]{3} +\if@datainhead +% if data is shown in head, do not include the footer +\else + \moderncvfoot{1} +\fi \endinput diff --git a/moderncvstylecasual.sty b/moderncvstylecasual.sty index 5b07ad1..e7ab317 100644 --- a/moderncvstylecasual.sty +++ b/moderncvstylecasual.sty @@ -57,6 +57,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 0a5229d..78702b7 100644 --- a/moderncvstyleclassic.sty +++ b/moderncvstyleclassic.sty @@ -17,13 +17,17 @@ \DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}} \DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}} +\@initializeif{\if@datainhead}\@datainheadtrue +\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}} +\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}} + % toggle use of symbol fonts. \@initializeif{\if@symbols}\@symbolsfalse \DeclareOption{symbols} {\@symbolstrue} \DeclareOption{nosymbols} {\@symbolsfalse} \DeclareOption*{}% avoid choking on unknown options -\ExecuteOptions{left,symbols} +\ExecuteOptions{left,symbols,details} \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 %------------------------------------------------------------------------------- @@ -51,12 +55,41 @@ \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 %------------------------------------------------------------------------------- \moderncvhead[\moderncvstyleheadoptions]{1} \moderncvbody{1} +% include foot only if nodetails option is active since otherwise we have two times the information +% on the page +\if@datainhead +% if data is shown in head, do not include the footer +\else + \moderncvfoot{1} +\fi \endinput diff --git a/moderncvstyleempty.sty b/moderncvstyleempty.sty index cb68526..cb26955 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 ecce008..9554b40 100644 --- a/moderncvstylefancy.sty +++ b/moderncvstylefancy.sty @@ -12,15 +12,45 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{moderncvstylefancy}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: fancy] +% headoptions +\@initializecommand{\moderncvstyleheadoptions}{} +\@initializeif{\if@datainhead}\@datainheadtrue +\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}} +\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}} + % toggle use of symbol fonts. \@initializeif{\if@symbols}\@symbolsfalse \DeclareOption{symbols} {\@symbolstrue} \DeclareOption{nosymbols} {\@symbolsfalse} \DeclareOption*{}% avoid choking on unknown options -\ExecuteOptions{symbols} +\ExecuteOptions{symbols,details} \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 %------------------------------------------------------------------------------- @@ -51,9 +81,16 @@ %------------------------------------------------------------------------------- % header, body & footer %------------------------------------------------------------------------------- -\moderncvhead{5} +\moderncvhead[\moderncvstyleheadoptions]{5} \moderncvbody{5} +% include foot only if nodetails option is active since otherwise we have two times the information +% on the page +\if@datainhead +% if data is shown in head, do not include the footer +\else + \moderncvfoot{1} +\fi \endinput diff --git a/moderncvstyleoldstyle.sty b/moderncvstyleoldstyle.sty index 712fab9..c720414 100644 --- a/moderncvstyleoldstyle.sty +++ b/moderncvstyleoldstyle.sty @@ -12,13 +12,20 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{moderncvstyleoldstyle}[2021/01/21 v2.1.0 modern curriculum vitae and letter style scheme: oldstyle] +% headoptions +\@initializecommand{\moderncvstyleheadoptions}{} +\@initializeif{\if@datainhead}\@datainheadtrue +\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}} +\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}} + + % toggle use of symbol fonts. \@initializeif{\if@symbols}\@symbolsfalse \DeclareOption{symbols} {\@symbolstrue} \DeclareOption{nosymbols} {\@symbolsfalse} \DeclareOption*{}% avoid choking on unknown options -\ExecuteOptions{symbols} +\ExecuteOptions{symbols,details} \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 %------------------------------------------------------------------------------- @@ -50,12 +57,42 @@ \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 %------------------------------------------------------------------------------- -\moderncvhead{4} +\moderncvhead[\moderncvstyleheadoptions]{4} \moderncvbody{4} - +% include foot only if nodetails option is active since otherwise we have two times the information +% on the page +\if@datainhead +% if data is shown in head, do not include the footer +\else + \moderncvfoot{1} +\fi \endinput diff --git a/template.tex b/template.tex index 654ebef..98f556e 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') +\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' -\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red' %\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