/projects/davide_cv_latex_class/
\ProvidesClass{davide-cv}[2016/06/23 Davides CV class]
\NeedsTeXFormat{LaTeX2e}
% Class options
%%%%%%%%%%%%%%%
% Pass options to article class
\DeclareOption*{
\PassOptionsToClass{\CurrentOption}{article}
}
\ProcessOptions\relax
\LoadClass{article}
% Document geometry
%%%%%%%%%%%%%%%%%%%
\RequirePackage[left=2.3cm,top=2cm,right=2.3cm,bottom=1.5cm,nohead,nofoot]{geometry}
% Colors
%%%%%%%%
\RequirePackage{xcolor}
\definecolor{white}{RGB}{255,255,255}
\definecolor{darkgray}{HTML}{333333}
\definecolor{gray}{HTML}{4D4D4D}
\definecolor{lightgray}{HTML}{999999}
\definecolor{lightergray}{HTML}{d3d3d3}
\definecolor{lightestgray}{gray}{0.95}
%\colorlet{fillheader}{white}%{lightergray}
%\colorlet{header}{gray}
%\colorlet{addresscolor}{gray}
%\colorlet{textcolor}{black}
%\colorlet{smalltextcolor}{grey}
%\colorlet{headercolor}{gray}
\colorlet{headercolor}{black}
\colorlet{fillheader}{white}
\colorlet{headername}{black}
\colorlet{headeraddress}{black}
\colorlet{headerdate}{black}
\colorlet{textcolor}{black}
\colorlet{smalltextcolor}{black}
% Fonts
%%%%%%%
\RequirePackage[quiet]{fontspec}
\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}
%\newfontfamily\bodyfont[]{Open Sans}
%\newfontfamily\thinfont[]{Open Sans Light}
%\newfontfamily\headingfont[]{Open Sans Bold}
%
%\defaultfontfeatures{Mapping=tex-text}
%\setmainfont[Mapping=tex-text, Color=textcolor]{Open Sans}
%\setmathfont{XITS Math}
%\newfontfamily\bodyfont[]{Open Sans Light}
%\newfontfamily\thinfont[]{Open Sans Light}
%\newfontfamily\headingfont[]{Open Sans}
%
%\defaultfontfeatures{Mapping=tex-text}
%\setmainfont[Mapping=tex-text, Color=textcolor]{Open Sans Light}
\newfontfamily\bodyfont[]{Open Sans Light}
\newfontfamily\thinfont[]{Open Sans Light}
\newfontfamily\headingfont[]{Open Sans Light}
\newfontfamily\itemfont[]{Open Sans}
\newfontfamily\urlfont[]{DejaVu Sans Mono}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont[Mapping=tex-text, Color=textcolor]{Open Sans Light}
% Header
%%%%%%%%
\RequirePackage{tikz}
\RequirePackage[absolute,overlay]{textpos}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newenvironment{eheader}[0]{
\def\firstName{Firstname}
\def\lastName{Lastname}
\def\addressStreet{Street and Nr.}
\def\addressCity{City}
\def\contactEmail{Email}
\def\contactPhone{Phone}
\def\modDate{Date}
\def\bornDate{Date}
\def\nationality{Nationality}
\newcommand{\FirstName}[1]{\def\firstName{##1}}
\newcommand{\LastName}[1]{\def\lastName{##1}}
\newcommand{\AddressStreet}[1]{\def\addressStreet{##1}}
\newcommand{\AddressCity}[1]{\def\addressCity{##1}}
\newcommand{\ContactEmail}[1]{\def\contactEmail{##1}}
\newcommand{\ContactPhone}[1]{\def\contactPhone{##1}}
\newcommand{\ModDate}[1]{\def\modDate{##1}}
\newcommand{\BornDate}[1]{\def\bornDate{##1}}
\newcommand{\Nationality}[1]{\def\nationality{##1}}
}{
\input{header_c.tex}
\vspace{35mm}
% \vspace{-2\parskip}
}
% Date block
%%%%%%%%%%%%
\RequirePackage[absolute,overlay]{textpos}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newcommand{\dateblock}[1]{
\begin{textblock}{2.5}[1,0](19, 1.16)%(10.2,1.00)
\color{headercolor}
\begin{flushright}
#1
\end{flushright}
\end{textblock}
}
% Address block
%%%%%%%%%%%%%%%
\RequirePackage[absolute,overlay]{textpos}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newenvironment{address}{
\let\oldsection\section
\renewcommand{\section}[1]{
\par{\Large\headingfont\color{headercolor} ##1}
}
\begin{textblock}{4}[0,0](1,1.15)%(17, 1.00)
\color{headercolor}
\begin{flushright}
\obeycr
}{
\restorecr
\end{flushright}
\end{textblock}
\let\section\oldsection
}
% Structure
%%%%%%%%%%%
\RequirePackage{parskip}
\renewcommand{\section}[1]{
\par\vspace{\parskip}
{
\LARGE\headingfont\color{headercolor}
#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
%%%%%%%%%%%%%%%%%%
\def\myparboxwidth{14cm}
\RequirePackage{tabu}
%\RequirePackage{longtable}
\setlength{\tabcolsep}{0pt}
\newenvironment{entrylist}{
\begin{tabu} to \textwidth{X}
}{
\end{tabu}
}
\renewcommand{\bfseries}{\itemfont\color{headercolor}}
\newcommand{\entry}[4]{
\textbf{#1} #2 \hfill
{\footnotesize\addfontfeature{Color=smalltextcolor}#3}\\
\hspace{0cm}\parbox[t]{\myparboxwidth}{#4
\vspace{\parsep}
}\\}
\RequirePackage{tabu}
\newenvironment{subentrylist}{
\setlength{\tabcolsep}{4pt}
%\renewcommand{\arraystretch}{1.1}
\begin{tabu} to \textwidth{ll}
}{
\end{tabu}
}
\renewcommand{\bfseries}{\itemfont\color{headercolor}}
\newcommand{\subentry}[2]{
{\footnotesize\addfontfeature{Color=smalltextcolor}#1} & %\emph{#1}} &
{\footnotesize\parbox[t]{\myparboxwidth}{\addfontfeature{Color=smalltextcolor}#2}}\\}