summaryrefslogtreecommitdiff
path: root/friggeri-cv.cls
diff options
context:
space:
mode:
Diffstat (limited to 'friggeri-cv.cls')
-rw-r--r--friggeri-cv.cls279
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