298 lines
8.2 KiB
TeX
298 lines
8.2 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesClass{resume}[2020/08/06 Column boxed resume]
|
|
\LoadClass{article}
|
|
|
|
%%%% BEGIN OPTIONS
|
|
|
|
%%%%%%%% PACKAGES
|
|
|
|
\RequirePackage[margin=0cm]{geometry} %------------ change aspect
|
|
\RequirePackage{graphicx} %-------------------------- figures and images
|
|
\RequirePackage{fontspec} %-------------------------- fonts in XeLaTex
|
|
\RequirePackage{enumitem} %-------------------------- control spacing of lists
|
|
\RequirePackage{fontawesome} %----------------------- icons and symbols
|
|
\RequirePackage{booktabs} %-------------------------- tables
|
|
\RequirePackage{multicol} %-------------------------- columns for tables
|
|
\RequirePackage{multirow} %-------------------------- rows for tables
|
|
\RequirePackage[usenames,dvipsnames]{xcolor} %------- colours
|
|
\RequirePackage[framemethod=TikZ]{mdframed} %-------- fancy frames
|
|
\RequirePackage{framed} %---------------------------- sidebar colour
|
|
\RequirePackage{ifthen} %---------------------------- conditionals
|
|
\RequirePackage{tikz} %------------------------------ foreach loops and diagrams
|
|
\RequirePackage{bookmark} %-------------------------- hyperref
|
|
|
|
\renewcommand{\familydefault}{\sfdefault} %---------- default font w/o graces
|
|
\setsansfont{DejaVu Sans}
|
|
|
|
%%%%%%%% STYLE OF THE PAGE
|
|
|
|
\pagestyle{empty}
|
|
|
|
%%%%%%%% OPTIONS
|
|
|
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
|
|
|
|
%%%% END OF OPTIONS
|
|
|
|
\ProcessOptions\relax
|
|
|
|
%%%% BEGIN DEFINITIONS
|
|
|
|
%%%%%%%% COLOURS
|
|
|
|
\definecolor{name}{gray}{0.40}
|
|
\definecolor{surname}{gray}{0.00}
|
|
\definecolor{shadecolor}{HTML}{fff2e6}
|
|
\definecolor{sidebardesc}{gray}{0.30}
|
|
\definecolor{links}{HTML}{006bb3}
|
|
\definecolor{section}{gray}{0.30}
|
|
\definecolor{bulletsection}{HTML}{cc0000}
|
|
\definecolor{period}{HTML}{cc0000}
|
|
\definecolor{position}{gray}{0.20}
|
|
\definecolor{sector}{HTML}{cc0000}
|
|
\definecolor{bulletsector}{gray}{0.95}
|
|
\definecolor{sectortext}{gray}{0.30}
|
|
\definecolor{sectortitle}{gray}{1.00}
|
|
|
|
%%%%%%%% CHARACTERISTIC SIZES
|
|
|
|
\setlength{\parindent}{0em}
|
|
\setlength{\parskip}{0em}
|
|
\setlength{\topskip}{0em}
|
|
\setlength{\baselineskip}{0em}
|
|
|
|
%%%%%%%% INFO COMMANDS
|
|
|
|
\makeatletter
|
|
\newcommand*{\authorname}[1]{\def\@authorname{#1}} %-------------------------------------------- name
|
|
\newcommand*{\authorsurname}[1]{\def\@authorsurname{#1}} %-------------------------------------- surname
|
|
\newcommand{\name}{\@authorname}
|
|
\newcommand{\surname}{\@authorsurname}
|
|
|
|
\newcommand*{\skypename}[1]{\def\@skypename{#1}} %---------------------------------------------- Skype name
|
|
\newcommand*{\skypeinvite}[1]{\def\@skypeinvite{#1}} %------------------------------------------ Skype invite link
|
|
\newcommand{\skypelink}{\faSkype~
|
|
\ifthenelse{\isundefined{\@skypeinvite}}
|
|
{\@skypename}
|
|
{\href{\@skypeinvite}{\@skypename}}
|
|
} %--------------------------------------------------------------------- link to Skype
|
|
|
|
\newcommand*{\github}[1]{\def\@github{#1}} %---------------------------------------------------- GitHub username
|
|
\newcommand{\githublink}{\faGithub~
|
|
\href{https://www.github.com/\@github}
|
|
{\@github}
|
|
} %-------------------------------------------------------------------- link to GitHub
|
|
|
|
\newcommand*{\linkedin}[1]{\def\@linkedin{#1}} %----------------------------------------------- LinkedIn username
|
|
\newcommand{\linkedinlink}{\faLinkedinSquare~
|
|
\href{https://www.linkedin.com/in/\@linkedin}
|
|
{\@linkedin}
|
|
} %------------------------------------------------------------------ link to LinkedIn
|
|
|
|
\newcommand*{\phone}[1]{\def\@phone{#1}} %----------------------------------------------------- phone contact info
|
|
\newcommand{\phonelink}{\faMobile~
|
|
\href{tel:\@phone}{\@phone}
|
|
} %--------------------------------------------------------------------- link to phone
|
|
|
|
\newcommand*{\email}[1]{\def\@email{#1}} %----------------------------------------------------- email contact info
|
|
\newcommand{\emaillink}{\faAt~
|
|
\href{mailto:\@email}{\@email}
|
|
} %--------------------------------------------------------------------- link to mail
|
|
|
|
\hypersetup %---------------------------------------------------------------------------------- update metadata
|
|
{%
|
|
pdftitle={\@title},
|
|
pdfsubject={Curriculum Vitae},
|
|
pdfauthor={\@author},
|
|
pdfkeywords={curriculum vitae, resume, job, work, education, experience},
|
|
pdfstartview={FitH},
|
|
pdfcreator={XeLaTeX},
|
|
pdfproducer={XeLaTeX},
|
|
pdflang={en-GB},
|
|
pdfpagemode={UseOutlines},
|
|
bookmarksopen={true},
|
|
bookmarksnumbered={true},
|
|
hidelinks,
|
|
colorlinks=true,
|
|
allcolors=links
|
|
}
|
|
\makeatother
|
|
|
|
%%%%%%%% MAIN HEADING
|
|
|
|
\newenvironment{cvname} % main heading with name and info
|
|
{%
|
|
\vspace*{0.75em}
|
|
\begin{center}
|
|
\fontsize{32pt}{32pt}\selectfont
|
|
}
|
|
{%
|
|
\end{center}
|
|
}
|
|
|
|
\newenvironment{cvcontact} % contact info
|
|
{%
|
|
\begin{center}
|
|
\small
|
|
}
|
|
{%
|
|
\end{center}
|
|
}
|
|
|
|
\newenvironment{cvsocial} % social media info
|
|
{%
|
|
\begin{center}
|
|
\small
|
|
}
|
|
{%
|
|
\end{center}
|
|
}
|
|
|
|
\makeatletter
|
|
\newcommand{\cvtitle} % fill main heading with info (website, LinkedIN, Skype)
|
|
{%
|
|
\begin{cvname}
|
|
\textcolor{name}{\name}~\textcolor{surname}{\MakeUppercase{\surname}}
|
|
\end{cvname}
|
|
|
|
\begin{cvcontact}
|
|
\foreach \x in {\emaillink, \phonelink}
|
|
{
|
|
\ifthenelse{\isundefined{\x}}{}{\x~}
|
|
}
|
|
\end{cvcontact}
|
|
|
|
\begin{cvsocial}
|
|
\foreach \x in {\linkedinlink, \skypelink, \githublink}
|
|
{
|
|
\ifthenelse{\isundefined{\x}}{}{\x~}
|
|
}
|
|
\end{cvsocial}
|
|
\vspace{-0.75em}
|
|
}
|
|
\makeatother
|
|
|
|
%%%%%%%% SIDEBAR
|
|
|
|
\newenvironment{cvsidebar}
|
|
{%
|
|
\begin{shaded}
|
|
}
|
|
{%
|
|
\end{shaded}
|
|
}
|
|
|
|
%%%%%%%% SECTIONS
|
|
|
|
\newcommand{\cvsection}[1]
|
|
{%
|
|
{%
|
|
\Large
|
|
\hspace{0.25em}
|
|
\textcolor{bulletsection}{\rule{\textwidth}{2pt}}
|
|
\par
|
|
\hspace{0.25em}
|
|
\textcolor{bulletsection}{\faBookmark}~
|
|
\textcolor{section}{\MakeUppercase{#1}}
|
|
\par
|
|
\vspace{0.25em}
|
|
}
|
|
}
|
|
|
|
%%%%%%%% ENTRIES
|
|
|
|
\newcommand{\cventry}[1]
|
|
{%
|
|
{%
|
|
\large
|
|
\vspace{0.15em}
|
|
\hspace{0.25em}
|
|
\textbf{\MakeUppercase{#1}}
|
|
\par
|
|
\vspace{0.15em}
|
|
}
|
|
}
|
|
|
|
\newcommand{\cvrole}[3]
|
|
{%
|
|
\hspace{0.25em}
|
|
\begin{tabular}[t]{@{}l|l@{}}
|
|
\textcolor{period}{\ifthenelse{\equal{#2}{}}
|
|
{\textbf{#1}}
|
|
{\textbf{#1 - #2}}
|
|
}
|
|
&
|
|
\textcolor{position}{#3}
|
|
\end{tabular}
|
|
\par
|
|
\vspace{0.35em}
|
|
}
|
|
|
|
\newcommand{\cvdesc}[1]
|
|
{%
|
|
\hspace{0.5em}
|
|
\begin{tabular}[t]{@{}|p{0.95\textwidth}@{}}
|
|
\raggedright
|
|
\textcolor{sidebardesc}{#1}
|
|
\end{tabular}
|
|
\par
|
|
\vspace{0.35em}
|
|
}
|
|
|
|
\newenvironment{cvitemize}
|
|
{%
|
|
\vspace{0.25em}
|
|
\begin{itemize}[noitemsep, nolistsep]
|
|
\raggedright
|
|
\color{sectortext}
|
|
}
|
|
{%
|
|
\end{itemize}
|
|
}
|
|
|
|
%%%%%%%% MAIN COLUMN
|
|
|
|
\newenvironment{cvmain}
|
|
{}
|
|
{}
|
|
|
|
\newenvironment{cvabout}
|
|
{%
|
|
\begin{tabular}[t]{@{}|p{0.99\textwidth}@{}}
|
|
}
|
|
{%
|
|
\end{tabular}
|
|
}
|
|
|
|
\newenvironment{cvmainsection}[1]
|
|
{%
|
|
\mdfsetup
|
|
{
|
|
frametitle={\tikz[baseline=(current bounding box.east),outer sep=0pt]
|
|
\node[anchor=east,rectangle,fill=sector] {\large \textcolor{bulletsector}{\faArrowCircleORight}~\textcolor{sectortitle}{#1}};},
|
|
innertopmargin=0.25em,
|
|
rightmargin=1em,
|
|
linecolor=sector,
|
|
linewidth=2pt,
|
|
topline=true,
|
|
frametitleaboveskip=\dimexpr-\ht\strutbox\relax
|
|
}
|
|
\begin{mdframed}
|
|
}
|
|
{%
|
|
\end{mdframed}
|
|
}
|
|
|
|
%%%%%%%% FOOTER
|
|
|
|
\newcommand{\cvgdpr}
|
|
{%
|
|
{%
|
|
\tiny
|
|
\vspace*{-2em}
|
|
I hereby authorise the use of my personal data in accordance to the GDPR 679/16 -- ``European regulation on the protection of personal data''.
|
|
}
|
|
}
|
|
|
|
% vim: ft=tex
|