Files
my-resume/resume.cls
Riccardo Finotello f0bbd28ae4
All checks were successful
Compile PDF / Compile-PDF (push) Successful in 55s
Initial commit
2025-01-12 18:16:43 +01:00

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