diff options
Diffstat (limited to 'friggeri-cv.cls')
-rw-r--r-- | friggeri-cv.cls | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/friggeri-cv.cls b/friggeri-cv.cls new file mode 100644 index 0000000..b69512c --- /dev/null +++ b/friggeri-cv.cls @@ -0,0 +1,279 @@ +\ProvidesClass{friggeri-cv}[2012/04/30 CV class] +\NeedsTeXFormat{LaTeX2e} + +\DeclareOption{ugly}{\def\@cv@ugly{}} +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{article}% +} +\ProcessOptions\relax +\LoadClass{article} + + +%%%%%%%%%% +% 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@ugly + \colorlet{green}{lightgray} + \colorlet{orange}{lightgray} + \colorlet{purple}{lightgray} + \colorlet{red}{lightgray} + \colorlet{blue}{lightgray} + \colorlet{fillheader}{white} + \colorlet{header}{gray} +\else + \colorlet{fillheader}{gray} + \colorlet{header}{white} +\fi +\colorlet{textcolor}{gray} +\colorlet{headercolor}{gray} + +%%%%%%%%% +% Fonts % +%%%%%%%%% + +\RequirePackage[quiet]{fontspec} +\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math} + +\newfontfamily\bodyfont[]{Helvetica Neue} +\newfontfamily\thinfont[]{Helvetica Neue UltraLight} +\newfontfamily\headingfont[]{Helvetica Neue Condensed Bold} + +\defaultfontfeatures{Mapping=tex-text} +\setmainfont[Mapping=tex-text, Color=textcolor]{Helvetica Neue Light} + +\setmathfont{XITS Math} + +%%%%%%%%%% +% 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=4cm] (box) at (current page.north){}; + \node [anchor=center] (name) at (box) {% + \fontsize{40pt}{72pt}\color{header}% + {\thinfont #1}{\bodyfont #2} + }; + \node [anchor=north] at (name.south) {% + \fontsize{14pt}{24pt}\color{header}% + \thinfont #3% + }; + \end{tikzpicture} + \vspace{2.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\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}[2]{ + \par\vspace{1\parskip}% + \Large\headingfont\color{headercolor} #2% + \par\vspace{1.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]{% + #1&\parbox[t]{11.8cm}{% + \textbf{#2}% + \hfill% + {\footnotesize\addfontfeature{Color=lightgray} #3}\\% + #4\vspace{\parsep}% + }\\} + + +%%%%%%%%%%%%%% +% 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}(1.5, 4.34) + \begin{flushright} + \obeycr +}{% + \restorecr + \end{flushright} + \end{textblock} + \let\section\oldsection +} + +%%%%%%%%%%%%%%%% +% Bibliography % +%%%%%%%%%%%%%%%% + +\RequirePackage[style=verbose, maxnames=99]{biblatex} + +\DeclareFieldFormat[article]{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{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}% + \ifblank{#3}{}{#3\space}#1% + \ifthenelse{\value{listcount}<\value{liststop}} + {\addcomma\space} + {}% +} + +\newcommand{\printbibsection}[2]{ + \begin{refsection} + \nocite{*} + \printbibliography[type={#1}, title={#2}, heading=subbibliography] + \end{refsection} +} + + +%%%%%%%%%%%%%%%% +% Other tweaks % +%%%%%%%%%%%%%%%% + +\RequirePackage[left=6.1cm,top=2cm,right=1.5cm,bottom=2.5cm,nohead,nofoot]{geometry} +\RequirePackage{hyperref}
\ No newline at end of file |