mirror of
https://github.com/moderncv/moderncv.git
synced 2026-02-06 10:05:19 +01:00
updated branch with master, re-compiled moderncv_userguide.pdf
This commit is contained in:
commit
dfd635ab3f
33 changed files with 1070 additions and 121 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -8,6 +8,7 @@
|
||||||
*.out
|
*.out
|
||||||
*.synctex.gz
|
*.synctex.gz
|
||||||
*.xdv
|
*.xdv
|
||||||
|
*.toc
|
||||||
|
|
||||||
# template.tex output
|
# template.tex output
|
||||||
# move to *.pdf once manual is done
|
# move to *.pdf once manual is done
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,13 @@ version 2.?.? (29 Jun 2023)
|
||||||
- Replace instances of ~~~ in codebase with \hspace to be more compatible with
|
- Replace instances of ~~~ in codebase with \hspace to be more compatible with
|
||||||
babel for Spanish (#109).
|
babel for Spanish (#109).
|
||||||
- Added Codeberg and Mastodon social icons (#107).
|
- 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.
|
||||||
|
- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle 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).
|
||||||
|
- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem).
|
||||||
|
- Introducing \cvtripleitem command for items in three columns. Closing feature request #174.
|
||||||
|
|
||||||
version 2.3.1 (21 Feb 2022)
|
version 2.3.1 (21 Feb 2022)
|
||||||
- Fix duplicate GitLab icon (#105).
|
- Fix duplicate GitLab icon (#105).
|
||||||
|
|
@ -32,6 +39,7 @@ version 2.3.0 (16 Dec 2021)
|
||||||
|
|
||||||
version: 2.2.0 (28 Jul 2021)
|
version: 2.2.0 (28 Jul 2021)
|
||||||
- Remove dot in \cventry when using moderncvbodyi.
|
- Remove dot in \cventry when using moderncvbodyi.
|
||||||
|
|
||||||
- Remove http baseurl in hyperref.
|
- Remove http baseurl in hyperref.
|
||||||
- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX,
|
- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX,
|
||||||
else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643).
|
else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643).
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
% default colors
|
% default colors
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
||||||
\colorlet{default-socialicon-color}{darkgrey}
|
\@ifundefined{\string\color@default-socialicon-color}{\colorlet{default-socialicon-color}{darkgrey}}{}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% colors for social icons
|
% colors for social icons
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -93,7 +93,7 @@
|
||||||
belowcaptionskip=0.75\baselineskip,
|
belowcaptionskip=0.75\baselineskip,
|
||||||
% frame=L,
|
% frame=L,
|
||||||
emph={
|
emph={
|
||||||
cvitem, cventry, cvdoubleentry, cvdoubleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor,
|
cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor,
|
||||||
cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers,
|
cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers,
|
||||||
name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment,
|
name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment,
|
||||||
recipient, subject, opening, closing, signature, enclosure
|
recipient, subject, opening, closing, signature, enclosure
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel,
|
familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel,
|
||||||
addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol,
|
addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol,
|
||||||
xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol,
|
xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol,
|
||||||
stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol,
|
stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol,
|
||||||
researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol
|
researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol
|
||||||
},
|
},
|
||||||
emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries},
|
emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries},
|
||||||
|
|
@ -331,6 +331,7 @@ Takes the platform as an optional argument.
|
||||||
The following values are supported for \code{<platform>}:
|
The following values are supported for \code{<platform>}:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\begin{multicols}{4}
|
\begin{multicols}{4}
|
||||||
|
\item \code{arxiv}
|
||||||
\item \code{battlenet}
|
\item \code{battlenet}
|
||||||
\item \code{bitbucket}
|
\item \code{bitbucket}
|
||||||
\item \code{codeberg}
|
\item \code{codeberg}
|
||||||
|
|
@ -338,6 +339,7 @@ The following values are supported for \code{<platform>}:
|
||||||
\item \code{github}
|
\item \code{github}
|
||||||
\item \code{gitlab}
|
\item \code{gitlab}
|
||||||
\item \code{googlescholar}
|
\item \code{googlescholar}
|
||||||
|
\item \code{inspire}
|
||||||
\item \code{instagram}
|
\item \code{instagram}
|
||||||
\item \code{linkedin}
|
\item \code{linkedin}
|
||||||
\item \code{mastodon}
|
\item \code{mastodon}
|
||||||
|
|
@ -437,6 +439,14 @@ Can be used to enter skills, such as computer skills or language skills, in a tw
|
||||||
\cvdoubleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}
|
\cvdoubleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\paragraph{\code{\\cvtripleitem}}
|
||||||
|
A three-column variation of \code{\\cvitem}.
|
||||||
|
Takes six required arguments: the descriptor and body text of the first column, second and third column.
|
||||||
|
Can be used to enter skills, such as computer skills or language skills, in a three-column fashion.
|
||||||
|
\begin{lstlisting}
|
||||||
|
\cvtripleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}{<descriptor 3>}{<body 3>}
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
\paragraph{\code{\\cvitemwithcomment}}
|
\paragraph{\code{\\cvitemwithcomment}}
|
||||||
A variation of \code{\\cvitem} with an additional argument for a comment.
|
A variation of \code{\\cvitem} with an additional argument for a comment.
|
||||||
Can be used to enter skills such as computer skills or language skills.
|
Can be used to enter skills such as computer skills or language skills.
|
||||||
|
|
@ -673,6 +683,21 @@ This style allows the following options:
|
||||||
\moderncvstyle[left, nosymbols]{casual}
|
\moderncvstyle[left, nosymbols]{casual}
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\paragraph{\code{contemporary}}
|
||||||
|
This style allows the following options which \emph{only} affect header and footer styles:
|
||||||
|
|
||||||
|
\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
|
||||||
|
\textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
|
||||||
|
Aligns the address block and the picture. \\
|
||||||
|
\textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
|
||||||
|
Toggles between the header and footer as the location of personal data on the page. \\
|
||||||
|
\textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}.
|
||||||
|
Enables or disables the inclusion of a QR code of your personal website.
|
||||||
|
\end{tabular}
|
||||||
|
\note For the \code{contemporary} style it is recommended to use the \code{\\moderncvcolor\{cerulean\}} color scheme. The \code{contemporary} style is even more appealing with reduced margins. Use this in your preamble:
|
||||||
|
\begin{lstlisting}
|
||||||
|
\usepackage[hmargin=0.5in,vmargin=10pt]{geometry}
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
\subsection{Adjusting colors}
|
\subsection{Adjusting colors}
|
||||||
The colors of each style can be adjusted.
|
The colors of each style can be adjusted.
|
||||||
|
|
@ -758,6 +783,8 @@ Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}:
|
||||||
\item \code{\\bitbucketsocialsymbol}
|
\item \code{\\bitbucketsocialsymbol}
|
||||||
\item \code{\\skypesocialsymbol}
|
\item \code{\\skypesocialsymbol}
|
||||||
\item \code{\\bornsymbol}
|
\item \code{\\bornsymbol}
|
||||||
|
\item \code{\\arxivsocialsymbol}
|
||||||
|
\item \code{\\inspiresocialsymbol}
|
||||||
\end{multicols}
|
\end{multicols}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
The possible options for \code{<\\symbol>} depend on the package that is used.
|
The possible options for \code{<\\symbol>} depend on the package that is used.
|
||||||
|
|
|
||||||
14
moderncv.cls
14
moderncv.cls
|
|
@ -145,7 +145,7 @@
|
||||||
\@ifundefined{r@lastpage}{}{%
|
\@ifundefined{r@lastpage}{}{%
|
||||||
\ifthenelse{\pageref{lastpage}>1}{%
|
\ifthenelse{\pageref{lastpage}>1}{%
|
||||||
\newlength{\pagenumberwidth}%
|
\newlength{\pagenumberwidth}%
|
||||||
\settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
|
\settowidth{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}%
|
||||||
\fancypagestyle{plain}{%
|
\fancypagestyle{plain}{%
|
||||||
\fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\protect\NoHyper\pageref{lastpage}\protect\endNoHyper}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
|
\fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\protect\NoHyper\pageref{lastpage}\protect\endNoHyper}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
|
||||||
\pagestyle{plain}}{}}\fi}%
|
\pagestyle{plain}}{}}\fi}%
|
||||||
|
|
@ -288,6 +288,8 @@
|
||||||
% - "xbox"
|
% - "xbox"
|
||||||
% - "playstation"
|
% - "playstation"
|
||||||
% - "battlenet"
|
% - "battlenet"
|
||||||
|
% - "arxiv"
|
||||||
|
% - "inspire"
|
||||||
\collectionnew{socials}
|
\collectionnew{socials}
|
||||||
\NewDocumentCommand{\social}{O{}O{}m}{%
|
\NewDocumentCommand{\social}{O{}O{}m}{%
|
||||||
\ifthenelse{\equal{#2}{}}%
|
\ifthenelse{\equal{#2}{}}%
|
||||||
|
|
@ -320,6 +322,8 @@
|
||||||
\ifthenelse{\equal{#1}{xbox}} {\collectionadd[xbox]{socials} {\protect\httpslink[#3]{account.xbox.com/profile?gamertag=#3}}} {}%
|
\ifthenelse{\equal{#1}{xbox}} {\collectionadd[xbox]{socials} {\protect\httpslink[#3]{account.xbox.com/profile?gamertag=#3}}} {}%
|
||||||
\ifthenelse{\equal{#1}{playstation}} {\collectionadd[playstation]{socials} {#3}} {}%
|
\ifthenelse{\equal{#1}{playstation}} {\collectionadd[playstation]{socials} {#3}} {}%
|
||||||
\ifthenelse{\equal{#1}{battlenet}} {\collectionadd[battlenet]{socials} {#3}} {}%
|
\ifthenelse{\equal{#1}{battlenet}} {\collectionadd[battlenet]{socials} {#3}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{arxiv}} {\collectionadd[arxiv]{socials} {\protect\httpslink[#3]{arxiv.org/a/#3}}} {}%
|
||||||
|
\ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authoris/#3}}} {}%
|
||||||
}
|
}
|
||||||
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
|
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
|
||||||
|
|
||||||
|
|
@ -385,6 +389,8 @@
|
||||||
\newcommand*{\xboxsocialsymbol} {}
|
\newcommand*{\xboxsocialsymbol} {}
|
||||||
\newcommand*{\playstationsocialsymbol} {}
|
\newcommand*{\playstationsocialsymbol} {}
|
||||||
\newcommand*{\battlenetsocialsymbol} {}
|
\newcommand*{\battlenetsocialsymbol} {}
|
||||||
|
\newcommand*{\arxivsocialsymbol} {}
|
||||||
|
\newcommand*{\inspiresocialsymbol} {}
|
||||||
|
|
||||||
% other
|
% other
|
||||||
%------
|
%------
|
||||||
|
|
@ -501,6 +507,8 @@
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\newcommand*{\namestyle}[1]{{\namefont#1}}
|
\newcommand*{\namestyle}[1]{{\namefont#1}}
|
||||||
|
\NewDocumentCommand{\firstnamestyle}{+m}{{\namefont#1}}
|
||||||
|
\NewDocumentCommand{\lastnamestyle}{+m}{{\namefont#1}}
|
||||||
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
|
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
|
||||||
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
|
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
|
||||||
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
|
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
|
||||||
|
|
@ -552,6 +560,10 @@
|
||||||
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
|
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
|
||||||
\newcommand*{\cvdoubleitem}[5][.25em]{}
|
\newcommand*{\cvdoubleitem}[5][.25em]{}
|
||||||
|
|
||||||
|
% makes a resume line 3 headers and their corresponding text
|
||||||
|
% usage: \cvtripleitem[spacing]{header1}{text1}{header2}{text2}{header3}{text3}
|
||||||
|
\newcommand*{\cvtripleitem}[7][.1em]{}
|
||||||
|
|
||||||
% makes a resume line with a list item
|
% makes a resume line with a list item
|
||||||
% usage: \cvlistitem[spacing]{item}
|
% usage: \cvlistitem[spacing]{item}
|
||||||
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
|
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@
|
||||||
\renewcommand*{\hintfont}{}
|
\renewcommand*{\hintfont}{}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -44,11 +44,14 @@
|
||||||
\@initializelength{\maincolumnwidth}
|
\@initializelength{\maincolumnwidth}
|
||||||
% used by \cvdoubleitem
|
% used by \cvdoubleitem
|
||||||
\@initializelength{\doubleitemcolumnwidth}
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
% used by \cvlistitem
|
% used by \cvlistitem
|
||||||
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
|
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
|
||||||
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
|
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
|
||||||
|
|
||||||
|
|
@ -59,6 +62,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -73,7 +78,7 @@
|
||||||
\par\addvspace{2.5ex}%
|
\par\addvspace{2.5ex}%
|
||||||
\phantomsection{}% reset the anchor for hyperrefs
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
\addcontentsline{toc}{section}{#2}%
|
\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
|
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||||
|
|
||||||
\RenewDocumentCommand{\subsection}{sm}{%
|
\RenewDocumentCommand{\subsection}{sm}{%
|
||||||
|
|
@ -97,15 +102,28 @@
|
||||||
\hspace*{\separatorcolumnwidth}%
|
\hspace*{\separatorcolumnwidth}%
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
|
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
|
||||||
|
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.25em]{%
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifthenelse{\equal{#3}{}}%
|
\ifthenelse{\equal{#3}{}}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\renewcommand*{\cventry}[7][.25em]{%
|
\renewcommand*{\cventry}[7][.25em]{%
|
||||||
\cvitem[#1]{#2}{%
|
\cvitem[#1]{#2}{%
|
||||||
|
|
@ -169,7 +187,7 @@
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfil%
|
\vfil%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}%
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
|
||||||
\vfil}
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,16 +61,16 @@
|
||||||
\renewcommand*{\sectionstyle}[1]{{%
|
\renewcommand*{\sectionstyle}[1]{{%
|
||||||
\if@center\centering\else%
|
\if@center\centering\else%
|
||||||
\if@right\raggedleft\fi\fi%
|
\if@right\raggedleft\fi\fi%
|
||||||
\sectionfont\textcolor{color1}{#1}%
|
\sectionfont\textcolor{sectioncolor}{#1}%
|
||||||
\if@shortrules\else%
|
\if@shortrules\else%
|
||||||
\par\fi}}
|
\par\fi}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{%
|
\renewcommand*{\subsectionstyle}[1]{{%
|
||||||
\if@center\centering\else%
|
\if@center\centering\else%
|
||||||
\if@right\raggedleft\fi\fi%
|
\if@right\raggedleft\fi\fi%
|
||||||
\subsectionfont\textcolor{color1}{#1}%
|
\subsectionfont\textcolor{subsectioncolor}{#1}%
|
||||||
\if@shortrules\else\if@mixedrules\else%
|
\if@shortrules\else\if@mixedrules\else%
|
||||||
\par\fi\fi}}
|
\par\fi\fi}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -83,11 +83,14 @@
|
||||||
\@initializelength{\maincolumnwidth}
|
\@initializelength{\maincolumnwidth}
|
||||||
% used by \cvdoubleitem
|
% used by \cvdoubleitem
|
||||||
\@initializelength{\doubleitemcolumnwidth}
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
% used by \cvlistitem
|
% used by \cvlistitem
|
||||||
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\renewcommand*{\recomputecvbodylengths}{%
|
\renewcommand*{\recomputecvbodylengths}{%
|
||||||
|
|
@ -96,6 +99,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -133,14 +138,14 @@
|
||||||
\newcommand*{\sectionrule}{}
|
\newcommand*{\sectionrule}{}
|
||||||
\newcommand*{\subsectionrule}{}
|
\newcommand*{\subsectionrule}{}
|
||||||
\if@fullrules%
|
\if@fullrules%
|
||||||
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
\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{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*{\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%
|
\if@shortrules%
|
||||||
\renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
\renewcommand*{\sectionrule}{\leavevmode{\color{bodyrulecolor}\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*{\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%
|
\if@mixedrules%
|
||||||
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
|
\renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\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*{\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%
|
\if@norules%
|
||||||
\renewcommand*{\sectionrule}{}
|
\renewcommand*{\sectionrule}{}
|
||||||
\renewcommand*{\subsectionrule}{}\fi
|
\renewcommand*{\subsectionrule}{}\fi
|
||||||
|
|
@ -155,16 +160,24 @@
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
|
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
|
||||||
\par\addvspace{#1}}
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\ifstrempty{#6}{}{\hintstyle{#6}: }#7\end{minipage}%
|
||||||
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.25em]{%
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}%
|
\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\par\addvspace{#1}}
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifstrempty{#3}%
|
\ifstrempty{#3}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\renewcommand*{\cventry}[7][.25em]{
|
\renewcommand*{\cventry}[7][.25em]{
|
||||||
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
|
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
|
||||||
|
|
@ -238,7 +251,7 @@
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfil%
|
\vfil%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}%
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
|
||||||
\vfil}
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@
|
||||||
\renewcommand*{\hintfont}{\bfseries}
|
\renewcommand*{\hintfont}{\bfseries}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -49,6 +49,10 @@
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\renewcommand*{\recomputecvbodylengths}{%
|
\renewcommand*{\recomputecvbodylengths}{%
|
||||||
|
|
@ -57,6 +61,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -87,15 +93,23 @@
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
|
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
|
||||||
\par\addvspace{#1}}
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}%
|
||||||
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.25em]{%
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifthenelse{\equal{#3}{}}%
|
\ifthenelse{\equal{#3}{}}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\@initializebox{\cventryyearbox}
|
\@initializebox{\cventryyearbox}
|
||||||
\@initializelength{\cventrytitleboxwidth}
|
\@initializelength{\cventrytitleboxwidth}
|
||||||
|
|
@ -177,7 +191,7 @@
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfil%
|
\vfil%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}%
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
|
||||||
\vfil}
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,9 @@
|
||||||
\renewcommand*{\hintfont}{\bfseries}
|
\renewcommand*{\hintfont}{\bfseries}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
|
||||||
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
|
||||||
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
|
||||||
|
|
||||||
% lengths
|
% lengths
|
||||||
% used by \cvitem (and all children command)
|
% used by \cvitem (and all children command)
|
||||||
|
|
@ -46,6 +46,8 @@
|
||||||
\@initializelength{\maincolumnwidth}
|
\@initializelength{\maincolumnwidth}
|
||||||
% used by \cvdoubleitem
|
% used by \cvdoubleitem
|
||||||
\@initializelength{\doubleitemcolumnwidth}
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
% used by \cvlistitem
|
% used by \cvlistitem
|
||||||
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
\@initializelength{\listitemcolumnwidth}
|
\@initializelength{\listitemcolumnwidth}
|
||||||
|
|
@ -53,6 +55,7 @@
|
||||||
% used by \cvlistdoubleitem
|
% used by \cvlistdoubleitem
|
||||||
\@initializelength{\listdoubleitemcolumnwidth}
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
%\@initializelength{\listdoubleitemmaincolumnwidth}
|
%\@initializelength{\listdoubleitemmaincolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\recomputecvbodylengths}{%
|
\@initializecommand{\recomputecvbodylengths}{%
|
||||||
|
|
@ -61,6 +64,8 @@
|
||||||
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
|
||||||
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
\recompute@cvskillmatrix@lengths
|
\recompute@cvskillmatrix@lengths
|
||||||
|
|
@ -99,7 +104,7 @@
|
||||||
|
|
||||||
% underlying command to implement \cvitem, \subsection and \section
|
% underlying command to implement \cvitem, \subsection and \section
|
||||||
\newcommand*{\@cvitem}[3][.5ex]{%
|
\newcommand*{\@cvitem}[3][.5ex]{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\if@aftersection\else%
|
\if@aftersection\else%
|
||||||
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
||||||
|
|
@ -117,15 +122,23 @@
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}}
|
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1ex]{%
|
||||||
|
\@cvitem[#1]{}{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistitem}[2][.5ex]{%
|
\renewcommand*{\cvlistitem}[2][.5ex]{%
|
||||||
\@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
|
\@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
\renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
|
\renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
|
||||||
\@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
|
\@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
\hfill% fill of \separatorcolumnwidth
|
\hfill% fill of \separatorcolumnwidth
|
||||||
\ifthenelse{\equal{#3}{}}%
|
\ifthenelse{\equal{#3}{}}%
|
||||||
{}%
|
{}%
|
||||||
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
\@initializebox{\cventryyearbox}
|
\@initializebox{\cventryyearbox}
|
||||||
\@initializelength{\cventrytitleboxwidth}
|
\@initializelength{\cventrytitleboxwidth}
|
||||||
|
|
@ -165,7 +178,7 @@
|
||||||
{%
|
{%
|
||||||
\bibliographyhead{\refname}%
|
\bibliographyhead{\refname}%
|
||||||
% \small%
|
% \small%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\noindent%
|
\noindent%
|
||||||
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
||||||
|
|
@ -213,7 +226,7 @@
|
||||||
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
\\%
|
\\%
|
||||||
\vfill%
|
\vfill%
|
||||||
{\color{color2}\itshape\enclname: \@enclosure}}}
|
{\color{letterclosingcolor}\itshape\enclname: \@enclosure}}}
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
203
moderncvbodyvi.sty
Normal file
203
moderncvbodyvi.sty
Normal file
|
|
@ -0,0 +1,203 @@
|
||||||
|
%% start of file `moderncvbodyvi.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvbodyvi}[2023/11/21 v2.0.0 modern curriculum vitae and letter body variant: 6]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\RequirePackage{moderncvverticaltimeline}
|
||||||
|
% No customization currently exists for `modercvbodyvi`; just reuse
|
||||||
|
% `moderncvbodyi`. We might consider supporting a short table format (only skill
|
||||||
|
% name and rating) in the future.
|
||||||
|
\RequirePackage[moderncvbodyi,circle]{moderncvskillmatrix}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% overall body definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% fonts
|
||||||
|
\renewcommand*{\sectionfont}{\Large\upshape\bfseries}
|
||||||
|
\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
|
||||||
|
\renewcommand*{\hintfont}{}
|
||||||
|
|
||||||
|
% styles
|
||||||
|
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
|
||||||
|
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
|
||||||
|
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% resume body definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% lengths
|
||||||
|
% used by \cvitem (and all children command)
|
||||||
|
\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.175\textwidth}
|
||||||
|
\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
|
||||||
|
\@initializelength{\maincolumnwidth}
|
||||||
|
% used by \cvdoubleitem
|
||||||
|
\@initializelength{\doubleitemcolumnwidth}
|
||||||
|
% used by \cvtripleitem
|
||||||
|
\@initializelength{\tripleitemcolumnwidth}
|
||||||
|
% used by \cvlistitem
|
||||||
|
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
|
||||||
|
\@initializelength{\listitemcolumnwidth}
|
||||||
|
% used by \cvlistdoubleitem
|
||||||
|
\@initializelength{\listdoubleitemcolumnwidth}
|
||||||
|
\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
|
||||||
|
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
|
||||||
|
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
|
||||||
|
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\recomputecvbodylengths}{%
|
||||||
|
% body lengths
|
||||||
|
\setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\hintscolumnwidth}%
|
||||||
|
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
|
||||||
|
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
|
||||||
|
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
|
||||||
|
\setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
|
||||||
|
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
|
||||||
|
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
|
||||||
|
\recompute@cvskillmatrix@lengths
|
||||||
|
% regular lengths
|
||||||
|
\setlength{\parskip}{0\p@}}
|
||||||
|
|
||||||
|
\@initializelength{\baseletterheight}
|
||||||
|
\settoheight{\baseletterheight}{\sectionstyle{o}}
|
||||||
|
\setlength{\baseletterheight}{\baseletterheight-0.95ex}
|
||||||
|
% The optional argument can be used to place a small icon near the section name.
|
||||||
|
% E.g. `\section[\faBookmark]{Education}`
|
||||||
|
\RenewDocumentCommand{\section}{sO{}m}{%
|
||||||
|
\tl@resetchain%
|
||||||
|
\par\addvspace{2.5ex}%
|
||||||
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
|
\addcontentsline{toc}{section}{#3}%
|
||||||
|
\strut\sectionstyle{\textcolor{color1!55!white}{{#2}\rule{.75ex}{0pt}\rule{1pt}{\heightof{#3}}}%
|
||||||
|
\rule{.75ex}{0pt}#3}%
|
||||||
|
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||||
|
|
||||||
|
\RenewDocumentCommand{\subsection}{sm}{%
|
||||||
|
\par\addvspace{1ex}%
|
||||||
|
\phantomsection{}% reset the anchor for hyperrefs
|
||||||
|
\addcontentsline{toc}{subsection}{#2}%
|
||||||
|
\cvitem[0ex]{}{\strut\subsectionstyle{#2}}%
|
||||||
|
\par\nobreak\addvspace{.5ex}\@afterheading}% to avoid a pagebreak after the heading
|
||||||
|
|
||||||
|
\renewcommand*{\cvitem}[3][.25em]{%
|
||||||
|
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
|
||||||
|
\raggedleft\hintstyle{#2} &{#3}%
|
||||||
|
\end{tabular}%
|
||||||
|
\par\addvspace{#1}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvdoubleitem}[5][.25em]{%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\doubleitemcolumnwidth}#3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvtripleitem}[7][.1em]{%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
|
||||||
|
\hspace*{\separatorcolumnwidth}%
|
||||||
|
\begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvlistitem}[2][.25em]{%
|
||||||
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
|
||||||
|
\cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\ifthenelse{\equal{#3}{}}%
|
||||||
|
{}%
|
||||||
|
{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
|
||||||
|
|
||||||
|
\renewcommand*{\cventry}[7][.25em]{%
|
||||||
|
\cvitem[#1]{\tl@milestone{#2}}{%
|
||||||
|
{\bfseries#3}%
|
||||||
|
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
|
||||||
|
\ifthenelse{\equal{#5}{}}{}{, #5}%
|
||||||
|
\ifthenelse{\equal{#6}{}}{}{, #6}%
|
||||||
|
\strut%
|
||||||
|
\ifx&%
|
||||||
|
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
|
||||||
|
|
||||||
|
\@initializebox{\cvitemwithcommentbox}
|
||||||
|
\@initializelength{\cvitemwithcommentskilllength}
|
||||||
|
\@initializelength{\cvitemwithcommentcommentlength}
|
||||||
|
\renewcommand*{\cvitemwithcomment}[4][.25em]{%
|
||||||
|
\savebox{\cvitemwithcommentbox}{{#3}}%
|
||||||
|
\setlength{\cvitemwithcommentskilllength}{\widthof{\usebox{\cvitemwithcommentbox}}}%
|
||||||
|
\setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentskilllength}%
|
||||||
|
\cvitem[#1]{#2}{%
|
||||||
|
\begin{minipage}[t]{\cvitemwithcommentskilllength}\usebox{\cvitemwithcommentbox}\end{minipage}%
|
||||||
|
\hfill% fill of \separatorcolumnwidth
|
||||||
|
\begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}}
|
||||||
|
|
||||||
|
\renewenvironment{thebibliography}[1]%
|
||||||
|
{%
|
||||||
|
\bibliographyhead{\refname}%
|
||||||
|
% \small%
|
||||||
|
\begin{list}{\bibliographyitemlabel}%
|
||||||
|
{%
|
||||||
|
\setlength{\topsep}{0pt}%
|
||||||
|
\setlength{\labelwidth}{\hintscolumnwidth}%
|
||||||
|
\setlength{\labelsep}{\separatorcolumnwidth}%
|
||||||
|
\leftmargin\labelwidth%
|
||||||
|
\advance\leftmargin\labelsep%
|
||||||
|
\@openbib@code%
|
||||||
|
\usecounter{enumiv}%
|
||||||
|
\let\p@enumiv\@empty%
|
||||||
|
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
|
||||||
|
\sloppy%
|
||||||
|
\clubpenalty4000%\@clubpenalty \clubpenalty%
|
||||||
|
\widowpenalty4000%
|
||||||
|
\sfcode`\.\@m%
|
||||||
|
\sfcode `\=1000\relax}%
|
||||||
|
{%
|
||||||
|
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
|
||||||
|
\end{list}}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% letter style definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\recomputeletterbodylengths}{%
|
||||||
|
\recomputecvlengths%
|
||||||
|
\setlength{\parskip}{6\p@}}
|
||||||
|
|
||||||
|
\renewcommand*{\makeletterclosing}{
|
||||||
|
\@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
|
||||||
|
\ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
|
||||||
|
{\bfseries\@firstname~\@lastname}%
|
||||||
|
\ifthenelse{\isundefined{\@enclosure}}{}{%
|
||||||
|
\\%
|
||||||
|
\vfil%
|
||||||
|
{\color{color2}\itshape\enclname: \@enclosure}}%
|
||||||
|
\vfil}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvbodyvi.sty'.
|
||||||
32
moderncvcolorcerulean.sty
Normal file
32
moderncvcolorcerulean.sty
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
%% start of file `moderncvcolorcerulean.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvcolorcerulean}[2023/11/21 v2.0.0 modern curriculum vitae and letter color scheme: cerulean]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% color scheme definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\definecolor{color0}{rgb}{0,0,0}% black
|
||||||
|
\definecolor{color1}{HTML}{0081a7}% cerulean
|
||||||
|
\definecolor{color2}{HTML}{4d908e}% dark cyan
|
||||||
|
\definecolor{headTL}{HTML}{00afb9}% verdigris
|
||||||
|
\colorlet{headBR}{color1}
|
||||||
|
\definecolor{headtext}{HTML}{ffffff}% white
|
||||||
|
\colorlet{headhr}{color2}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvcolorcerulean.sty'.
|
||||||
|
|
@ -79,7 +79,7 @@
|
||||||
\fancyfoot[c]{%
|
\fancyfoot[c]{%
|
||||||
\parbox[b]{\footwidth}{%
|
\parbox[b]{\footwidth}{%
|
||||||
\centering%
|
\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)
|
\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{\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
|
\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]{%
|
\fancyfoot[c]{%
|
||||||
\parbox[b]{\footwidth}{%
|
\parbox[b]{\footwidth}{%
|
||||||
\centering%
|
\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}% 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
|
\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
|
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
|
||||||
|
|
|
||||||
|
|
@ -48,10 +48,12 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#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
|
\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}}%
|
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
|
||||||
\savebox{\makecvheaddetailsbox}{%
|
\savebox{\makecvheaddetailsbox}{%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
|
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
|
||||||
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
|
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
|
@ -100,7 +102,7 @@
|
||||||
{%
|
{%
|
||||||
\if@left%
|
\if@left%
|
||||||
\hspace*{\separatorcolumnwidth}\fi%
|
\hspace*{\separatorcolumnwidth}\fi%
|
||||||
\color{color1}%
|
\color{pictureframecolor}%
|
||||||
\setlength{\fboxrule}{\@photoframewidth}%
|
\setlength{\fboxrule}{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
|
|
@ -118,7 +120,7 @@
|
||||||
\begin{minipage}[b]{\makecvheadnamewidth}%
|
\begin{minipage}[b]{\makecvheadnamewidth}%
|
||||||
\if@left\raggedright\fi%
|
\if@left\raggedright\fi%
|
||||||
\if@right\raggedleft\fi%
|
\if@right\raggedleft\fi%
|
||||||
\namestyle{\@firstname\ \@lastname}%
|
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||||
\end{minipage}}%
|
\end{minipage}}%
|
||||||
% raise boxes if top option is set
|
% raise boxes if top option is set
|
||||||
|
|
@ -167,7 +169,7 @@
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details%
|
\if@details%
|
||||||
\raggedleft%
|
\raggedleft%
|
||||||
\addressfont\textcolor{color2}{%
|
\addressfont\textcolor{addresscolor}{%
|
||||||
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,10 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\makeheaddetailssymbol}{%
|
\@initializecommand{\makeheaddetailssymbol}{%
|
||||||
|
|
@ -110,7 +110,7 @@
|
||||||
\setlength\fboxrule{\@photoframewidth}%
|
\setlength\fboxrule{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
|
{\color{pictureframecolor}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
|
||||||
% name (pre-rendering)
|
% name (pre-rendering)
|
||||||
\@initializelength{\makecvheadpicturewidth}%
|
\@initializelength{\makecvheadpicturewidth}%
|
||||||
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
||||||
|
|
@ -121,9 +121,9 @@
|
||||||
\if@right\raggedleft\fi%
|
\if@right\raggedleft\fi%
|
||||||
\namefont%
|
\namefont%
|
||||||
\if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
|
\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
|
\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
|
% rendering
|
||||||
\if@left%
|
\if@left%
|
||||||
\usebox{\makecvheadnamebox}%
|
\usebox{\makecvheadnamebox}%
|
||||||
|
|
@ -131,11 +131,11 @@
|
||||||
\if@right%
|
\if@right%
|
||||||
\usebox{\makecvheadpicturebox}%
|
\usebox{\makecvheadpicturebox}%
|
||||||
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
|
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
|
||||||
{\color{color2!50}\rule{\textwidth}{.25ex}}%
|
{\color{headrulecolor}\rule{\textwidth}{.25ex}}%
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details{%
|
\if@details{%
|
||||||
\\\null%
|
\\\null%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
\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{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,12 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\makeheaddetailssymbol}{%
|
\@initializecommand{\makeheaddetailssymbol}{%
|
||||||
|
|
@ -81,12 +83,12 @@
|
||||||
\parbox{\makeheaddetailswidth}{%
|
\parbox{\makeheaddetailswidth}{%
|
||||||
\centering%
|
\centering%
|
||||||
% name and title
|
% 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)
|
\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
|
% optional detailed information
|
||||||
\if@details{%
|
\if@details{%
|
||||||
\\%
|
\\%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
\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{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
|
|
|
||||||
|
|
@ -38,10 +38,12 @@
|
||||||
\renewcommand*{\quotefont}{\large\itshape}
|
\renewcommand*{\quotefont}{\large\itshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#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}}%
|
\ifthenelse{\isundefined{\@photo}}%
|
||||||
{}%
|
{}%
|
||||||
{%
|
{%
|
||||||
\color{color1}%
|
\color{pictureframecolor}%
|
||||||
\setlength\fboxrule{\@photoframewidth}%
|
\setlength\fboxrule{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
|
|
@ -91,7 +93,7 @@
|
||||||
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
|
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
|
||||||
{}%
|
{}%
|
||||||
\begin{minipage}[b]{\makecvheadnamewidth}%
|
\begin{minipage}[b]{\makecvheadnamewidth}%
|
||||||
\namestyle{\@firstname\ \@lastname}%
|
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
% optional photo
|
% optional photo
|
||||||
|
|
@ -103,7 +105,7 @@
|
||||||
% optional details
|
% optional details
|
||||||
\if@details%
|
\if@details%
|
||||||
\makecvheadinfo{%
|
\makecvheadinfo{%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\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{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||||
|
|
@ -152,7 +154,7 @@
|
||||||
\if@details%
|
\if@details%
|
||||||
\hspace{0pt}%
|
\hspace{0pt}%
|
||||||
\marginpar{%
|
\marginpar{%
|
||||||
\addressfont\textcolor{color2}{%
|
\addressfont\textcolor{addresscolor}{%
|
||||||
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
|
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\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{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
|
|
|
||||||
|
|
@ -37,10 +37,12 @@
|
||||||
\renewcommand*{\quotefont}{\large\slshape}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#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}}%
|
\ifthenelse{\isundefined{\@photo}}%
|
||||||
{}%
|
{}%
|
||||||
{%
|
{%
|
||||||
\color{color1}%
|
\color{pictureframecolor}%
|
||||||
\setlength{\fboxrule}{\@photoframewidth}%
|
\setlength{\fboxrule}{\@photoframewidth}%
|
||||||
\ifdim\@photoframewidth=0pt%
|
\ifdim\@photoframewidth=0pt%
|
||||||
\setlength{\fboxsep}{0pt}\fi%
|
\setlength{\fboxsep}{0pt}\fi%
|
||||||
|
|
@ -75,7 +77,7 @@
|
||||||
% optional details
|
% optional details
|
||||||
\if@details%
|
\if@details%
|
||||||
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
|
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\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{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
|
||||||
|
|
@ -92,7 +94,7 @@
|
||||||
% name and optional title
|
% name and optional title
|
||||||
\newlength{\makecvheadpictureboxskip}%
|
\newlength{\makecvheadpictureboxskip}%
|
||||||
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
|
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
|
||||||
\namestyle{\@firstname\ \@lastname}%
|
\firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
|
||||||
\ifthenelse{\equal{\@title}{}}{
|
\ifthenelse{\equal{\@title}{}}{
|
||||||
\ifthenelse{\isundefined{\@quote}}%
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
{}%
|
{}%
|
||||||
|
|
@ -117,7 +119,7 @@
|
||||||
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
|
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
|
||||||
\let\standarddoublebackslash\\%
|
\let\standarddoublebackslash\\%
|
||||||
\newcommand*{\@makecvtitle}[3][.5ex]{%
|
\newcommand*{\@makecvtitle}[3][.5ex]{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{headrulecolor}%
|
||||||
\setlength\arrayrulewidth{1.2\p@}%
|
\setlength\arrayrulewidth{1.2\p@}%
|
||||||
\if@aftersection\else%
|
\if@aftersection\else%
|
||||||
\vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\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
|
% optional detailed information
|
||||||
\if@details%
|
\if@details%
|
||||||
\raggedleft%
|
\raggedleft%
|
||||||
\addressfont\textcolor{color2}{%
|
\addressfont\textcolor{addresscolor}{%
|
||||||
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
\DeclareOption{right} {\@leftfalse\@righttrue}
|
\DeclareOption{right} {\@leftfalse\@righttrue}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\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
|
\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}
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
% styles
|
% styles
|
||||||
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
|
||||||
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
|
\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
|
||||||
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
|
\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
|
||||||
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
|
||||||
|
|
||||||
% commands
|
% commands
|
||||||
\@initializecommand{\makehead}{%
|
\@initializecommand{\makehead}{%
|
||||||
\setlength{\makeheaddetailswidth}{\textwidth}%
|
\setlength{\makeheaddetailswidth}{\textwidth}%
|
||||||
% name and title
|
% name and title
|
||||||
\if@left\hfill\fi%
|
\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)
|
\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
|
% rule
|
||||||
{\color{color1}\rule{\textwidth}{.25ex}}}
|
{\color{bodyrulecolor}\rule{\textwidth}{.25ex}}}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% resume head definition
|
% resume head definition
|
||||||
|
|
@ -107,7 +109,7 @@
|
||||||
% optional detailed information
|
% optional detailed information
|
||||||
\if@details{%
|
\if@details{%
|
||||||
\\\null%
|
\\\null%
|
||||||
\addressfont\color{color2}%
|
\addressfont\color{addresscolor}%
|
||||||
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
|
\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{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
|
||||||
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
|
||||||
|
|
|
||||||
226
moderncvheadvii.sty
Normal file
226
moderncvheadvii.sty
Normal file
|
|
@ -0,0 +1,226 @@
|
||||||
|
%% start of file `moderncvheadvii.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvheadvii}[2023/11/21 v2.0.0 modern curriculum vitae and letter header variant: 7]
|
||||||
|
|
||||||
|
% details options: "details" (default) or "nodetails"
|
||||||
|
\@initializeif{\if@details}\@detailsfalse
|
||||||
|
\DeclareOption{details} {\@detailstrue}
|
||||||
|
\DeclareOption{nodetails} {\@detailsfalse}
|
||||||
|
% QR options: "qr" (default) or "noqr". If "qr" is specified, a QR code is generated to point to the
|
||||||
|
% homepage and placed near the details section
|
||||||
|
\@initializeif{\if@headqr}\@headqrfalse
|
||||||
|
\DeclareOption{qr} {\@headqrtrue}
|
||||||
|
\DeclareOption{noqr} {\@headqrfalse}
|
||||||
|
|
||||||
|
% left/right options: "left" (default) or "right"
|
||||||
|
\@initializeif{\if@left} \@leftfalse
|
||||||
|
\DeclareOption{left} {\@lefttrue\@rightfalse}
|
||||||
|
\@initializeif{\if@right}\@rightfalse
|
||||||
|
\DeclareOption{right} {\@leftfalse\@righttrue}
|
||||||
|
|
||||||
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
|
\ExecuteOptions{details,qr,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
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\RequirePackage{qrcode}
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
\usetikzlibrary{tikzmark,fit}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% overall head definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\@ifundefined{\string\color@headTL}{\colorlet{headTL}{color1}}{}
|
||||||
|
\@ifundefined{\string\color@headBR}{\colorlet{headBR}{color1}}{}
|
||||||
|
\@ifundefined{\string\color@headtext}{\colorlet{headtext}{color2}}{}
|
||||||
|
\@ifundefined{\string\color@headhr}{\colorlet{headhr}{color2}}{}
|
||||||
|
|
||||||
|
% fonts
|
||||||
|
\renewcommand*{\namefont}{\fontsize{30}{32}\rmfamily\mdseries\upshape}
|
||||||
|
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
|
||||||
|
\renewcommand*{\addressfont}{\small\mdseries\slshape}
|
||||||
|
\renewcommand*{\quotefont}{\large\slshape}
|
||||||
|
|
||||||
|
% styles
|
||||||
|
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{headtext}{#1}}}
|
||||||
|
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{headtext}{#1}}}
|
||||||
|
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{headtext}{#1}}}
|
||||||
|
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color0}{#1}}}
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% resume head definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% lengths
|
||||||
|
\@initializelength{\quotewidth}
|
||||||
|
\@initializelength{\makecvheadnamewidth}% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
|
||||||
|
\renewcommand*{\recomputecvheadlengths}{%
|
||||||
|
\setlength{\quotewidth}{0.65\textwidth}}
|
||||||
|
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\makecvhead}{%
|
||||||
|
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||||
|
\recomputecvlengths%
|
||||||
|
% optional detailed information (pre-rendering)
|
||||||
|
\@initializebox{\makecvheaddetailsbox}%
|
||||||
|
\if@details%
|
||||||
|
\def\phonesdetails{}%
|
||||||
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
|
\protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
|
||||||
|
\def\socialsdetails{}%
|
||||||
|
\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{headtext}%
|
||||||
|
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
|
||||||
|
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
|
||||||
|
\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}}%
|
||||||
|
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||||
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
|
||||||
|
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
|
||||||
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
|
||||||
|
\end{tabular}
|
||||||
|
}\fi%
|
||||||
|
% optional photo (pre-rendering)
|
||||||
|
\@initializebox{\makecvheadpicturebox}%
|
||||||
|
\savebox{\makecvheadpicturebox}{%
|
||||||
|
\ifthenelse{\isundefined{\@photo}}%
|
||||||
|
{}%
|
||||||
|
{%
|
||||||
|
\if@right%
|
||||||
|
\hspace*{\separatorcolumnwidth}\fi%
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\path[top color=headBR,bottom color=headTL,shading angle=45] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth*2);
|
||||||
|
\path[fill=white] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth);
|
||||||
|
\begin{scope}
|
||||||
|
\clip (0,0) circle (\dimexpr\@photowidth/2);
|
||||||
|
\node[inner sep=0pt] at (0,0) {\includegraphics[width=\@photowidth]{\@photo}};
|
||||||
|
\end{scope}
|
||||||
|
\end{tikzpicture}%
|
||||||
|
}%
|
||||||
|
\if@left%
|
||||||
|
\hspace*{\separatorcolumnwidth}\fi}%
|
||||||
|
% optional QR for homepage (pre-rendering)
|
||||||
|
\@initializebox{\makecvheadqrbox}%
|
||||||
|
\if@headqr%
|
||||||
|
\savebox{\makecvheadqrbox}{%
|
||||||
|
\ifthenelse{\isundefined{\@homepage}}{}{\tikz\node[inner sep=1ex,fill=white]{\qrcode[height=1.5cm]{\@homepage}};}%
|
||||||
|
}\fi%
|
||||||
|
% name and title (pre-rendering)
|
||||||
|
\@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
|
||||||
|
\@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
|
||||||
|
\ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt)
|
||||||
|
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}%
|
||||||
|
{}%
|
||||||
|
\@initializebox{\makecvheadnamebox}%
|
||||||
|
\savebox{\makecvheadnamebox}{%
|
||||||
|
\begin{minipage}[b]{\makecvheadnamewidth}%
|
||||||
|
\if@left\raggedright\fi%
|
||||||
|
\if@right\raggedleft\fi%
|
||||||
|
\namestyle{\@firstname\ {\scshape\@lastname}}%
|
||||||
|
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
|
||||||
|
\end{minipage}}%
|
||||||
|
% rendering
|
||||||
|
\begin{tikzpicture}[remember picture,overlay]
|
||||||
|
\node(head-bg) [top color=headTL,bottom color=headBR,shading angle=45,inner sep=0pt,
|
||||||
|
fit={(current page.north west)(current page.north east)(pic cs:head-end)}] {};
|
||||||
|
% Users may define `\@moderncvheadBackground` for additional background decoration
|
||||||
|
\ifthenelse{\isundefined{\@moderncvheadBackground}}{}{\@moderncvheadBackground}
|
||||||
|
|
||||||
|
\path[draw,line width=\@photoframewidth]
|
||||||
|
(head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
|
||||||
|
([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
|
||||||
|
([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
|
||||||
|
\end{tikzpicture}%
|
||||||
|
\if@left%
|
||||||
|
\usebox{\makecvheadpicturebox}%
|
||||||
|
\usebox{\makecvheadnamebox}%
|
||||||
|
\hfill%
|
||||||
|
\llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
|
||||||
|
\usebox{\makecvheadqrbox}\fi%
|
||||||
|
\if@right%
|
||||||
|
\usebox{\makecvheadqrbox}%
|
||||||
|
\rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
|
||||||
|
\hfill%
|
||||||
|
\usebox{\makecvheadnamebox}%
|
||||||
|
\usebox{\makecvheadpicturebox}\fi%
|
||||||
|
\\[.15em]%
|
||||||
|
\tikzmark{head-end}\\[.15em]%
|
||||||
|
% optional quote
|
||||||
|
\ifthenelse{\isundefined{\@quote}}%
|
||||||
|
{}%
|
||||||
|
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[.15em]}}%
|
||||||
|
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% letter head definition
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% lengths
|
||||||
|
%\renewcommand*{\recomputeletterheadlengths}{}
|
||||||
|
|
||||||
|
% commands
|
||||||
|
\renewcommand*{\makeletterhead}{%
|
||||||
|
% recompute lengths (in case we are switching from letter to resume, or vice versa)
|
||||||
|
\recomputeletterlengths%
|
||||||
|
% sender contact info
|
||||||
|
\hfill%
|
||||||
|
\begin{minipage}{.5\textwidth}%
|
||||||
|
% optional detailed information
|
||||||
|
\if@details%
|
||||||
|
\raggedleft%
|
||||||
|
\addressfont\textcolor{color2}{%
|
||||||
|
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
|
||||||
|
% optional detailed information
|
||||||
|
\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}}%
|
||||||
|
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
|
||||||
|
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
|
||||||
|
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
|
||||||
|
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
|
||||||
|
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
|
||||||
|
\end{minipage}\\[1em]
|
||||||
|
% recipient block
|
||||||
|
\begin{minipage}[t]{.5\textwidth}
|
||||||
|
\raggedright%
|
||||||
|
\addressfont%
|
||||||
|
{\bfseries\upshape\@recipientname}\\%
|
||||||
|
\@recipientaddress%
|
||||||
|
\end{minipage}
|
||||||
|
% date
|
||||||
|
\hfill% US style
|
||||||
|
% \\[1em]% UK style
|
||||||
|
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
|
||||||
|
% optional subject
|
||||||
|
\ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
|
||||||
|
% opening
|
||||||
|
\raggedright%
|
||||||
|
\@opening\\[1.5em]%
|
||||||
|
% ensure no extra spacing after \makelettertitle due to a possible blank line
|
||||||
|
% \ignorespacesafterend% not working
|
||||||
|
\hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvheadvii.sty'.
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
\providecolor{researchgate}{named}{default-socialicon-color}
|
\providecolor{researchgate}{named}{default-socialicon-color}
|
||||||
\providecolor{researcherid}{named}{default-socialicon-color}
|
\providecolor{researcherid}{named}{default-socialicon-color}
|
||||||
\providecolor{googlescholar}{named}{default-socialicon-color}
|
\providecolor{googlescholar}{named}{default-socialicon-color}
|
||||||
|
\providecolor{arxiv}{named}{default-socialicon-color}
|
||||||
|
\providecolor{inspire}{named}{default-socialicon-color}
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% all symbols described in moderncv.cls
|
% all symbols described in moderncv.cls
|
||||||
|
|
@ -57,6 +59,8 @@
|
||||||
%\newcommand*{\whatsappsocialsymbol} {}
|
%\newcommand*{\whatsappsocialsymbol} {}
|
||||||
%\newcommand*{\matrixsocialsymbol} {}
|
%\newcommand*{\matrixsocialsymbol} {}
|
||||||
%\newcommand*{\signalsocialsymbol} {}
|
%\newcommand*{\signalsocialsymbol} {}
|
||||||
|
\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}~}
|
||||||
|
\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}~}
|
||||||
|
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,8 @@
|
||||||
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
|
\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
|
||||||
%\renewcommand*{\signalsocialsymbol} {}
|
%\renewcommand*{\signalsocialsymbol} {}
|
||||||
%\renewcommand*{\matrixsocialsymbol} {}
|
%\renewcommand*{\matrixsocialsymbol} {}
|
||||||
|
% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
|
||||||
|
% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
|
||||||
\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
|
\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,8 @@
|
||||||
\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~}
|
\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~}
|
||||||
\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~}
|
\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~}
|
||||||
\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~}
|
\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~}
|
||||||
|
\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~}
|
||||||
|
\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~}
|
||||||
|
|
||||||
\renewcommand*{\listitemsymbol} {\labelitemi~}
|
\renewcommand*{\listitemsymbol} {\labelitemi~}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -218,6 +218,10 @@
|
||||||
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
|
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
|
||||||
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
|
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
|
||||||
|
|
||||||
|
% If option `circle` is specified, use circles instead of small rectangles for rating skills
|
||||||
|
\@initializeif{\if@cvskillcircle}\@cvskillcirclefalse
|
||||||
|
\DeclareOption{circle}{\@cvskillcircletrue}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{moderncvbodyi}
|
\ExecuteOptions{moderncvbodyi}
|
||||||
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
|
\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
|
||||||
|
|
@ -239,8 +243,14 @@
|
||||||
% %-------------------------------------------------------------------------------
|
% %-------------------------------------------------------------------------------
|
||||||
% The code for the Skilllevel illustration with the little boxes.
|
% The code for the Skilllevel illustration with the little boxes.
|
||||||
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
|
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
|
||||||
\@initializelength{\cvSkill@RectangleSize}
|
\@initializelength{\cvSkill@ShapeSize}
|
||||||
\setlength{\cvSkill@RectangleSize}{1.2ex}
|
\if@cvskillcircle%
|
||||||
|
\setlength{\cvSkill@ShapeSize}{.7ex}%
|
||||||
|
\def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) circle (\cvSkill@ShapeSize);}
|
||||||
|
\else
|
||||||
|
\setlength{\cvSkill@ShapeSize}{1.2ex}
|
||||||
|
\def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) rectangle (\cvSkill@ShapeSize, \cvSkill@ShapeSize);}
|
||||||
|
\fi
|
||||||
\newcount\my@repeat@count
|
\newcount\my@repeat@count
|
||||||
\DeclareDocumentCommand{\cvskill}{m}{%
|
\DeclareDocumentCommand{\cvskill}{m}{%
|
||||||
% Illustrate skill level with little colored boxes.
|
% Illustrate skill level with little colored boxes.
|
||||||
|
|
@ -252,10 +262,10 @@
|
||||||
% \cvskill{3}
|
% \cvskill{3}
|
||||||
\begingroup
|
\begingroup
|
||||||
\my@repeat@count=\z@
|
\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{\cvSkill@Shape{skillmatrixfullcolor}\advance%
|
||||||
\my@repeat@count\@ne\,}%
|
\my@repeat@count\@ne\,}%
|
||||||
\my@repeat@count=\numexpr5-\z@\relax
|
\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{\cvSkill@Shape{skillmatrixemptycolor}\advance%
|
||||||
\my@repeat@count\m@ne\,}%
|
\my@repeat@count\m@ne\,}%
|
||||||
\endgroup
|
\endgroup
|
||||||
}% end \cvskill
|
}% end \cvskill
|
||||||
|
|
@ -596,7 +606,7 @@
|
||||||
\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
|
\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
|
\IfBooleanTF#1{% if a star is given, add dashed line
|
||||||
\begingroup%
|
\begingroup%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
% calculate descriptor widths
|
% calculate descriptor widths
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
\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}%
|
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
||||||
|
|
@ -650,7 +660,7 @@
|
||||||
% in the stared and nonstared case
|
% in the stared and nonstared case
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
|
\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}%
|
\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}
|
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
|
||||||
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
|
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
|
||||||
p{2\skilllegend@padding}%
|
p{2\skilllegend@padding}%
|
||||||
|
|
@ -697,7 +707,7 @@
|
||||||
}{%
|
}{%
|
||||||
\cvitem[-0.5em]{#8}{}%
|
\cvitem[-0.5em]{#8}{}%
|
||||||
}%
|
}%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
||||||
\begingroup%
|
\begingroup%
|
||||||
|
|
@ -766,7 +776,7 @@
|
||||||
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
|
\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
|
\IfBooleanTF#1{% if a star is given, add dashed line
|
||||||
\begingroup%
|
\begingroup%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
% calculate descriptor widths
|
% calculate descriptor widths
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
\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}%
|
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
|
||||||
|
|
@ -816,7 +826,7 @@
|
||||||
}%
|
}%
|
||||||
\IfBooleanTF#1{% if a star is given, add dashed line
|
\IfBooleanTF#1{% if a star is given, add dashed line
|
||||||
\begingroup%
|
\begingroup%
|
||||||
\arrayrulecolor{color1}
|
\arrayrulecolor{bodyrulecolor}
|
||||||
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
|
\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}%
|
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
|
||||||
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
|
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
|
||||||
|
|
@ -863,7 +873,7 @@
|
||||||
}{%
|
}{%
|
||||||
\cvitem[-0.5em]{#8}{}%
|
\cvitem[-0.5em]{#8}{}%
|
||||||
}%
|
}%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
\RenewDocumentCommand{\@starIndependentTabular}{}{%
|
||||||
\begingroup%
|
\begingroup%
|
||||||
|
|
@ -924,7 +934,7 @@
|
||||||
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
||||||
\begingroup
|
\begingroup
|
||||||
\renewcommand{\arraystretch}{1.25}
|
\renewcommand{\arraystretch}{1.25}
|
||||||
\arrayrulecolor{color1}
|
\arrayrulecolor{bodyrulecolor}
|
||||||
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
||||||
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
||||||
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
||||||
|
|
@ -938,7 +948,7 @@
|
||||||
% Definition of \cvskillhead valid moderncvbodyv
|
% Definition of \cvskillhead valid moderncvbodyv
|
||||||
\if@moderncvbodyv%
|
\if@moderncvbodyv%
|
||||||
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
||||||
\begingroup%
|
\begingroup%
|
||||||
|
|
@ -990,7 +1000,7 @@
|
||||||
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
|
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
|
||||||
\begingroup
|
\begingroup
|
||||||
\renewcommand{\arraystretch}{1.25}
|
\renewcommand{\arraystretch}{1.25}
|
||||||
\arrayrulecolor{color1}
|
\arrayrulecolor{bodyrulecolor}
|
||||||
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
|
||||||
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
|
||||||
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
|
||||||
|
|
@ -1018,7 +1028,7 @@
|
||||||
\if@moderncvbodyv%
|
\if@moderncvbodyv%
|
||||||
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
|
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
|
||||||
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
|
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
|
||||||
\arrayrulecolor{color1}%
|
\arrayrulecolor{bodyrulecolor}%
|
||||||
\setlength\arrayrulewidth{\separatorrulewidth}%
|
\setlength\arrayrulewidth{\separatorrulewidth}%
|
||||||
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
|
\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
|
%test for the star * in the command
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,12 @@
|
||||||
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
|
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
|
||||||
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
|
\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.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
\DeclareOption{symbols} {\@symbolstrue}
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
|
|
@ -60,14 +66,40 @@
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\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
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead{3}
|
\moderncvhead[\moderncvstyleheadoptions]{3}
|
||||||
\moderncvbody[\moderncvstylebodyoptions]{3}
|
\moderncvbody[\moderncvstylebodyoptions]{3}
|
||||||
|
|
||||||
|
\if@datainhead
|
||||||
|
% if data is shown in head, do not include the footer
|
||||||
|
\else
|
||||||
|
\moderncvfoot{1}
|
||||||
|
\fi
|
||||||
|
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,12 @@
|
||||||
\@initializecommand{\moderncvstyleheadoptions}{}
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
||||||
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
|
% head options alternate, details and no details
|
||||||
|
\DeclareOption{alternate}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,alternate}}
|
||||||
|
\@initializeif{\if@datainhead}\@datainheadfalse
|
||||||
|
\DeclareOption{details}{\@datainheadtrue\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
|
||||||
|
\DeclareOption{nodetails}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
|
||||||
|
|
||||||
|
|
||||||
% toggle use of symbol fonts.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
|
|
@ -23,7 +29,7 @@
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
\ExecuteOptions{right,symbols}
|
\ExecuteOptions{right,symbols,nodetails}
|
||||||
\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
|
\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
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -47,13 +53,41 @@
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\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
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead[\moderncvstyleheadoptions]{2}
|
\moderncvhead[\moderncvstyleheadoptions]{2}
|
||||||
\moderncvbody{1}
|
\moderncvbody{1}
|
||||||
\moderncvfoot{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
|
\endinput
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,17 @@
|
||||||
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
\DeclareOption{top}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,top}}
|
\DeclareOption{top}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,top}}
|
||||||
|
|
||||||
|
\@initializeif{\if@datainhead}\@datainheadtrue
|
||||||
|
\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
|
||||||
|
\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
|
||||||
|
|
||||||
% toggle use of symbol fonts.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
\DeclareOption{symbols} {\@symbolstrue}
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\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
|
\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
|
||||||
|
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -48,12 +52,41 @@
|
||||||
\moderncvicons{letters} % do not use symbols, use letters
|
\moderncvicons{letters} % do not use symbols, use letters
|
||||||
\fi
|
\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
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead[\moderncvstyleheadoptions]{1}
|
\moderncvhead[\moderncvstyleheadoptions]{1}
|
||||||
\moderncvbody{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
|
\endinput
|
||||||
|
|
|
||||||
63
moderncvstylecontemporary.sty
Normal file
63
moderncvstylecontemporary.sty
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
%% start of file `moderncvstylecontemporary.sty'.
|
||||||
|
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvstylecontemporary}[2023/11/24 v2.0.0 modern curriculum vitae and letter style scheme: contemporary]
|
||||||
|
|
||||||
|
% head section alignment options: "left" (default) or "right"
|
||||||
|
\@initializecommand{\moderncvstyleheadoptions}{}
|
||||||
|
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
|
||||||
|
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
|
||||||
|
\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
|
||||||
|
\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}}
|
||||||
|
|
||||||
|
\DeclareOption*{}% avoid choking on unknown options
|
||||||
|
\ExecuteOptions{left,qr}
|
||||||
|
\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
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% fonts & icons
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Latin Modern fonts
|
||||||
|
%\ifxetexorluatex
|
||||||
|
% \setmainfont{Latin Modern Roman}
|
||||||
|
% \setsansfont{Latin Modern Sans}
|
||||||
|
% \setmathfont{Latin Modern Math}
|
||||||
|
%\else
|
||||||
|
\IfFileExists{lmodern.sty}%
|
||||||
|
{\RequirePackage{lmodern}}%
|
||||||
|
{}
|
||||||
|
%\fi
|
||||||
|
|
||||||
|
% symbols
|
||||||
|
\providecolor{default-socialicon-color}{named}{headtext}
|
||||||
|
\moderncvicons{symbols}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% Colors
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% skillmatrix
|
||||||
|
\colorlet{bodyrulecolor}{color1}
|
||||||
|
\colorlet{skillmatrixfullcolor}{color1}
|
||||||
|
\colorlet{skillmatrixemptycolor}{color2!30}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% header, body & footer
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\moderncvhead[\moderncvstyleheadoptions]{7}
|
||||||
|
\moderncvbody{6}
|
||||||
|
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvstylecontemporary.sty'.
|
||||||
|
|
@ -32,6 +32,29 @@
|
||||||
% style definition
|
% 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
|
% fonts & icons
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -12,15 +12,45 @@
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstylefancy}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: fancy]
|
\ProvidesPackage{moderncvstylefancy}[2022-02-21 v2.3.1 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.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
\DeclareOption{symbols} {\@symbolstrue}
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\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
|
\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
|
% fonts & icons
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
|
|
@ -47,9 +77,16 @@
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
% header, body & footer
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead{5}
|
\moderncvhead[\moderncvstyleheadoptions]{5}
|
||||||
\moderncvbody{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
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,13 +12,20 @@
|
||||||
\NeedsTeXFormat{LaTeX2e}
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
\ProvidesPackage{moderncvstyleoldstyle}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: oldstyle]
|
\ProvidesPackage{moderncvstyleoldstyle}[2022-02-21 v2.3.1 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.
|
% toggle use of symbol fonts.
|
||||||
\@initializeif{\if@symbols}\@symbolsfalse
|
\@initializeif{\if@symbols}\@symbolsfalse
|
||||||
\DeclareOption{symbols} {\@symbolstrue}
|
\DeclareOption{symbols} {\@symbolstrue}
|
||||||
\DeclareOption{nosymbols} {\@symbolsfalse}
|
\DeclareOption{nosymbols} {\@symbolsfalse}
|
||||||
|
|
||||||
\DeclareOption*{}% avoid choking on unknown options
|
\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
|
\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
|
\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
|
% header, body & footer
|
||||||
%-------------------------------------------------------------------------------
|
%-------------------------------------------------------------------------------
|
||||||
\moderncvhead{4}
|
\moderncvhead[\moderncvstyleheadoptions]{4}
|
||||||
\moderncvbody{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
|
\endinput
|
||||||
|
|
||||||
|
|
|
||||||
79
moderncvverticaltimeline.sty
Normal file
79
moderncvverticaltimeline.sty
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
%% start of file `moderncvverticaltimeline.sty'.
|
||||||
|
%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
|
||||||
|
%
|
||||||
|
% This work may be distributed and/or modified under the
|
||||||
|
% conditions of the LaTeX Project Public License version 1.3c,
|
||||||
|
% available at http://www.latex-project.org/lppl/.
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% identification
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{moderncvverticaltimeline}[2023/11/29 v2.0.0 modern curriculum vitae vertical timeline]
|
||||||
|
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% required packages
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
% vertical timeline implementation
|
||||||
|
%-------------------------------------------------------------------------------
|
||||||
|
\tikzset{
|
||||||
|
tl_milestone/.style={circle,inner sep=1.5pt,draw=color0!20,label={west:#1}},
|
||||||
|
tl_link/.style={thick,densely dotted,color0!20},
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcounter{tl@chainidx}\setcounter{tl@chainidx}{0}
|
||||||
|
\newcounter{tl@nodeidx}\setcounter{tl@nodeidx}{0}
|
||||||
|
|
||||||
|
% Mark the end of the current chain; any `\tl@milestone` issued afterward will be on a new timeline.
|
||||||
|
\def\tl@resetchain{%
|
||||||
|
\stepcounter{tl@chainidx}%
|
||||||
|
\setcounter{tl@nodeidx}{0}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Create a node in the current timeline and link it to the previous node; if the previous milestone
|
||||||
|
% is on the last shipped out page, draw a line that extends until the top margin. The argument is laid out as a label (default left).
|
||||||
|
\def\tl@milestone#1{%
|
||||||
|
\edef\@tl@prev{tl-\thetl@chainidx-\thetl@nodeidx}%
|
||||||
|
\stepcounter{tl@nodeidx}%
|
||||||
|
\edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
|
||||||
|
\tikz[remember picture,overlay] {
|
||||||
|
\node[tl_milestone={#1}] (\@tl@this) {};
|
||||||
|
\ifnum\thetl@nodeidx>1
|
||||||
|
\pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
|
||||||
|
\ifnum\pgf@y>0
|
||||||
|
\draw[tl_link] (\@tl@this) -- ([yshift=-1em] \@tl@this |- current page.north);
|
||||||
|
\else
|
||||||
|
\draw[tl_link] (\@tl@this) -- (\@tl@prev);
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\AddToHook{shipout/background}{%
|
||||||
|
% If there are follow-up milestones in the current timeline, draw a line that extends until the bottom margin
|
||||||
|
\edef\@tl@prev{tl-\thetl@chainidx-\number\numexpr\thetl@nodeidx-1}%
|
||||||
|
\edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
|
||||||
|
\tikz[remember picture,overlay] {
|
||||||
|
\ifnum\thetl@nodeidx>1
|
||||||
|
\pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
|
||||||
|
\ifnum\pgf@y>0
|
||||||
|
\draw[tl_link] (\@tl@prev) -- ([yshift=1em] \@tl@prev |- current page.south);
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\AtEndDocument{\tl@resetchain}
|
||||||
|
|
||||||
|
\let\@old@section=\section%
|
||||||
|
\RenewDocumentCommand{\section}{sm}{\tl@resetchain\@old@section{#1}}
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
|
|
||||||
|
%% end of file `moderncvverticaltimeline.sty'.
|
||||||
26
template.tex
26
template.tex
|
|
@ -8,16 +8,23 @@
|
||||||
|
|
||||||
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
|
||||||
|
|
||||||
|
\moderncvcolor{cerulean} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
|
||||||
% moderncv themes
|
% moderncv themes
|
||||||
\moderncvstyle{classic} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
|
\moderncvstyle[]{contemporary} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
|
||||||
\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
|
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
|
||||||
%\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
|
%\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
|
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
||||||
|
|
||||||
% adjust the page margins
|
% adjust the page margins
|
||||||
\usepackage[scale=0.75]{geometry}
|
\usepackage[hmargin=0.5in,vmargin=10pt]{geometry} % the 'contemporary' style looks better with reduced margins; uncomment the line below for increased margin
|
||||||
|
%\usepackage[scale=0.75]{geometry}
|
||||||
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
||||||
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
|
||||||
|
%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
|
||||||
|
|
||||||
|
% the 'contemporary' style allows to append additional elements to the head background; uncomment and customize if needed
|
||||||
|
%\def\@moderncvheadBackground{
|
||||||
|
%}
|
||||||
|
|
||||||
% font loading
|
% font loading
|
||||||
% for luatex and xetex, do not use inputenc and fontenc
|
% for luatex and xetex, do not use inputenc and fontenc
|
||||||
|
|
@ -30,6 +37,12 @@
|
||||||
\setsansfont{Latin Modern Sans}
|
\setsansfont{Latin Modern Sans}
|
||||||
\setmonofont{Latin Modern Mono}
|
\setmonofont{Latin Modern Mono}
|
||||||
\setmathfont{Latin Modern Math}
|
\setmathfont{Latin Modern Math}
|
||||||
|
|
||||||
|
% you may also consider Fira Sans Light for a extra modern look
|
||||||
|
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
|
||||||
|
% BoldFont={Fira Sans},%
|
||||||
|
% BoldItalicFont={Fira Sans Italic}]%
|
||||||
|
% {Fira Sans Light}%
|
||||||
\else
|
\else
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
|
|
@ -90,10 +103,12 @@
|
||||||
\social[xbox]{jdoe} % optional, remove / comment the line if not wanted
|
\social[xbox]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[playstation]{jdoe} % optional, remove / comment the line if not wanted
|
\social[playstation]{jdoe} % optional, remove / comment the line if not wanted
|
||||||
\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted
|
\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted
|
||||||
|
\social[arxiv]{doe\_j\_1} % optional, remove / comment the line if not wanted
|
||||||
|
\social[inspire]{0000000} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
|
|
||||||
\extrainfo{additional information} % optional, remove / comment the line if not wanted
|
\extrainfo{additional information} % optional, remove / comment the line if not wanted
|
||||||
\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
\photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
|
||||||
\quote{Some quote} % optional, remove / comment the line if not wanted
|
\quote{Some quote} % optional, remove / comment the line if not wanted
|
||||||
|
|
||||||
% bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX)
|
% bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX)
|
||||||
|
|
@ -114,7 +129,7 @@
|
||||||
%----- resume ---------------------------------------------------------
|
%----- resume ---------------------------------------------------------
|
||||||
\makecvtitle
|
\makecvtitle
|
||||||
|
|
||||||
\section{Education}
|
\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
|
||||||
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
|
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
|
||||||
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
|
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
|
||||||
|
|
||||||
|
|
@ -157,6 +172,7 @@ Detailed achievements:
|
||||||
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
||||||
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
||||||
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
||||||
|
\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
|
||||||
|
|
||||||
\section{Skill matrix}
|
\section{Skill matrix}
|
||||||
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
|
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue