\ProvidesClass{friggeri-cv-a4}[2015/10/22 CV class] \NeedsTeXFormat{LaTeX2e} \DeclareOption{nocolors}{\def\@cv@nocolors{}} \DeclareOption{print}{\def\@cv@print{}} \DeclareOption*{% \PassOptionsToClass{\CurrentOption}{article}% } \ProcessOptions\relax \LoadClass{article} % set A4 paper format \setlength\paperheight {297mm} \setlength\paperwidth {210mm} \ProcessOptions %%%%%%%%%% % Colors % %%%%%%%%%% \RequirePackage{xcolor} \definecolor{white}{RGB}{255,255,255} \definecolor{darkgray}{HTML}{333333} \definecolor{gray}{HTML}{4D4D4D} \definecolor{lightgray}{HTML}{999999} \definecolor{green}{HTML}{C2E15F} \definecolor{orange}{HTML}{FDA333} \definecolor{purple}{HTML}{D3A4F9} \definecolor{red}{HTML}{FB4485} \definecolor{blue}{HTML}{6CE0F1} \ifdefined\@cv@print \colorlet{green}{gray} \colorlet{orange}{gray} \colorlet{purple}{gray} \colorlet{brown}{gray} \colorlet{red}{gray} \colorlet{blue}{gray} \colorlet{fillheader}{white} \colorlet{header}{gray} \else \colorlet{fillheader}{gray} \colorlet{header}{white} \fi \colorlet{textcolor}{gray} \colorlet{headercolor}{gray} \ifdefined\@cv@nocolors \colorlet{green}{gray} \colorlet{rdfgreen}{gray} \colorlet{orange}{gray} \colorlet{rdforange}{gray} \colorlet{purple}{gray} \colorlet{rdfpurple}{gray} \colorlet{brown}{gray} \colorlet{red}{gray} \colorlet{blue}{gray} \fi %%%%%%%%% % Fonts % %%%%%%%%% \RequirePackage[quiet]{fontspec} \RequirePackage{unicode-math} \newfontfamily\bodyfont [BoldFont=texgyreheros-bold.otf, ItalicFont=texgyreheros-italic.otf, BoldItalicFont=texgyreheros-bolditalic.otf] {texgyreheros-regular.otf} \newfontfamily\thinfont[]{Lato-Light.ttf} \newfontfamily\headingfont[]{texgyreheros-bold.otf} \defaultfontfeatures{Mapping=tex-text} \setmainfont [Mapping=tex-text, Color=textcolor, BoldFont=texgyreheros-bold.otf, ItalicFont=texgyreheros-italic.otf, BoldItalicFont=texgyreheros-bolditalic.otf ] {texgyreheros-regular.otf} \setmathfont{texgyreheros-regular.otf} %%% %%%%%%%%%% % Header % %%%%%%%%%% \RequirePackage{tikz} \newcommand{\rolefont}{% \fontsize{14pt}{24pt}\selectfont% \thinfont% \color{white}% } \newcommand{\header}[3]{% \begin{tikzpicture}[remember picture,overlay] \node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=3cm] (box) at (current page.north){}; \node [anchor=south] (name) at (box) {% \fontsize{20pt}{32pt}\color{header}% {\thinfont #1}{\bodyfont #2} }; \node [anchor=north] at (name.south) {% \fontsize{14pt}{24pt}\color{header}% \thinfont #3% }; \end{tikzpicture} \vspace{1.5cm} \vspace{-2\parskip} } %%%%%%%%%%%%% % Structure % %%%%%%%%%%%%% \RequirePackage{parskip} \newcounter{colorCounter} \def\@sectioncolor#1#2#3{% {% \color{% \ifcase\value{colorCounter}% blue\or% red\or% orange\or% green\or% purple\or% brown\else% headercolor\fi% } #1#2#3% }% \stepcounter{colorCounter}% } \renewcommand{\section}[1]{ \par\vspace{\parskip} {% \LARGE\headingfont\color{headercolor}% \@sectioncolor #1% } \par\vspace{\parskip} } \renewcommand{\subsection}[1]{ \par\vspace{.5\parskip}% {\Large\headingfont\color{headercolor} #1} \par\vspace{.25\parskip}% } \renewcommand{\subsubsection}[2]{ \par\vspace{.5\parskip}% {\Large\headingfont\color{headercolor} #2} \par\vspace{.25\parskip}% } \pagestyle{empty} %%%%%%%%%%%%%%%%%%%% % List environment % %%%%%%%%%%%%%%%%%%%% \setlength{\tabcolsep}{0pt} \newenvironment{entrylist}{% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll} }{% \end{tabular*} } \renewcommand{\bfseries}{\headingfont\color{headercolor}} \newcommand{\entry}[4]{% \parbox[t]{3cm}{#1}&\parbox[t]{12.3cm}{% \textbf{#2}% \hfill% {\footnotesize\addfontfeature{Color=lightgray} #3}\\% #4\vspace{\parsep}% }\\} \newenvironment{interests}{ \let\oldentry\entry \renewcommand{\entry}[1]{ • ##1 \\ } }{ \let\entry\oldentry } %%%%%%%%%%%%%% % Side block % %%%%%%%%%%%%%% \RequirePackage[absolute,overlay]{textpos} \setlength{\TPHorizModule}{1cm} \setlength{\TPVertModule}{1cm} \newenvironment{aside}{% \let\oldsection\section \renewcommand{\section}[1]{ \par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} ##1} } \begin{textblock}{3.6}(0.5, 3.33) \begin{flushright} \obeycr }{% \restorecr \end{flushright} \end{textblock} \let\section\oldsection } %%%%%%%%%%%%%%%% % Bibliography % %%%%%%%%%%%%%%%% \RequirePackage[backend=biber, style=verbose, maxnames=99, sorting=ydnt]{biblatex} \DeclareFieldFormat[article]{title}{#1\par} \DeclareFieldFormat[book]{title}{#1\par} \DeclareFieldFormat[inproceedings]{title}{#1\par} \DeclareFieldFormat[misc]{title}{#1\par} \DeclareFieldFormat[report]{title}{#1\par} \DeclareBibliographyDriver{article}{% \printfield{title}% \newblock% \printnames{author}% \par% \newblock% {% \footnotesize\addfontfeature{Color=lightgray}\itshape% \usebibmacro{journal+issuetitle}% \setunit{\space}% \printfield{pages}% \newunit% \printlist{publisher}% \setunit*{\addcomma\space}% \printfield{year}% \newunit% } \par\vspace{0.3\baselineskip} } \DeclareBibliographyDriver{book}{% \printfield{title}% \newblock% \printnames{author}% \par% \newblock% {% \footnotesize\addfontfeature{Color=lightgray}\itshape% \printlist{publisher}% \setunit*{\addcomma\space}% \printfield{note}% \setunit*{\addcomma\space}% \printfield{year}% \setunit{\addcomma\space}% \printlist{location}% \newunit% } \par\vspace{0.3\baselineskip} } \DeclareBibliographyDriver{inproceedings}{% \printfield{title}% \newblock% \printnames{author}% \par% \newblock% {% \footnotesize\addfontfeature{Color=lightgray}% \printfield{booktitle}% \setunit{\addcomma\space}% \printfield{year}% \setunit{\addcomma\space}% \printlist{location}% \newunit% } \par\vspace{0.3\baselineskip} } \DeclareBibliographyDriver{misc}{% \printfield{title}% \newblock% \printnames{author}% \par% \newblock% {% \footnotesize\addfontfeature{Color=lightgray}\itshape% \printfield{booktitle}% \setunit*{\addcomma\space}% \printfield{note}% \setunit*{\addcomma\space}% \printfield{year}% \setunit{\addcomma\space}% \printlist{location}% \newunit% } \par\vspace{0.3\baselineskip} } \DeclareBibliographyDriver{report}{% \printfield{title}% \newblock% \printnames{author}% \par% \newblock% {% \footnotesize\addfontfeature{Color=lightgray}\itshape% \printfield{type}% \setunit{\space}% \printfield{number}% \setunit{\addcomma\space}% \printfield{year}% \newunit% } \par\vspace{0.3\baselineskip} } \DeclareNameFormat{author}{% \small\addfontfeature{Color=lightgray}% \nameparts{#1}\ifblank{\namepartgiven}{}{\namepartgiven\space}\namepartfamily% \ifthenelse{\value{listcount}<\value{liststop}} {\addcomma\space} {}% } \defbibheading{bibheading}[\bibname]{% \subsubsection*{#1} \markboth{#1}{#1} } \newcommand{\printbibsection}[2]{ \begin{refsection} \newrefcontext[sorting=chronological]% \nocite{*} \printbibliography[type={#1}, title={#2}, heading=bibheading] \end{refsection} } \DeclareSortingScheme{chronological}{ \sort[direction=descending]{\field{year}} \sort[direction=descending]{\field{month}} } %%%%%%%%%%%%%%%% % Other tweaks % %%%%%%%%%%%%%%%% \RequirePackage[left=4.6cm,top=2cm,right=2.5cm,bottom=2.5cm,nohead,nofoot]{geometry} \RequirePackage{hyperref} \hypersetup{ colorlinks=false, linkcolor=red, citecolor=red, filecolor=red, urlcolor = red} % A fix for \href{}{} colors not working with fontspec \makeatletter \def\HyColor@@@@UseColor#1\@nil{\addfontfeatures{Color=#1}} \makeatother