CV/cv.cls

276 lines
5.5 KiB
TeX

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cv}[2021/09/11 Oscar Pocock CV class]
\LoadClass{article}
% Packages
\RequirePackage{titlesec}
\RequirePackage{titling}
\RequirePackage{datetime}
\RequirePackage{xcolor}
\RequirePackage{fontawesome}
\RequirePackage{tabularx}
\RequirePackage{supertabular}
\RequirePackage{multicol}
\RequirePackage{graphicx}
\RequirePackage{enumitem}
% Name title
\newcommand{\name}[1]{%
\begin{center}%
\centering\colorbox{black}{{\huge\textcolor{white}{\textbf{\MakeUppercase{#1}}}}}\\%
\end{center}%
}
% Last edited
\newcommand{\lastedit}{%
\begin{center}
\footnotesize\textcolor{gray}{(Last updated: \today)}%
\end{center}
}
% CV Sections
\newcommand{\cvsect}[1]{% The only parameter is the section text
\vspace{0.5\baselineskip} % Whitespace before the section title
\noindent\raggedright\colorbox{black}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\hrulefill\\% Section title
\vspace{0.25\baselineskip} % Whitespace before the section title
}
%\titleformat{\section} % Customise the \section command
%{\Large\scshape\raggedright} % Make the \section headers large (\Large),
% % small capitals (\scshape) and left aligned (\raggedright)
% {}{0em} % Can be used to give a prefix to all sections, like 'Section ...'
% {} % Can be used to insert code before the heading
% [\titlerule] % Inserts a horizontal line after the heading
% \titleformat{\subsection}
% {\large\scshape\raggedright}
% {}{0em}
% {}
%
\newenvironment{tightcenter}{%
\setlength\topsep{0pt}
\setlength\parskip{0pt}
\begin{center}
}{%
\end{center}
}
\newcommand{\datedsection}[2]{
\section[#1]{#1 \hfill #2}%
}
\newcommand{\datedsubsection}[2]{%
\subsection[#1]{#1 \hfill #2}%
}
% Work experience entry
\newcommand{\work}[4]{%
\vspace{0.5\baselineskip} % Whitespace before the section title
{\faBriefcase\ \textbf{#1} at #2, \faMapMarker\ #3 \hfill #4}\\
}
% Work experience entry description
%\newenvironment{workitems}{%
%\vspace{-0.5em}
%\itemize
%\setlength{\itemsep}{0pt}
%\small
%}
%{
%\enditemize
%}
% Work experience entry description
\newenvironment{workitems}{%
\begin{itemize}[topsep=-0.5em, itemsep=-0.25em, leftmargin=1em]
\small
}
{
\end{itemize}
}
\newcommand{\project}[3]{%
\vspace{0.5\baselineskip} % Whitespace before the section title
{\faCodeFork\ \textbf{#1} \hfill #2}\\
{\small #3}\\
}
\newcommand{\giteaproject}[3]{%
\vspace{0.5\baselineskip} % Whitespace before the section title
{\iconGitea\ \textbf{#1} \hfill #2}\\
{\small #3}\\
}
%\newcommand{\email}[1]{%
%\href{mailto:#1}{\faEnvelope #1}
%}
\newcommand\contact[5]{%
\centerline{%
\makebox[0pt][c]{%
#1 {\large\textperiodcentered} #2 {\large\textperiodcentered} #3
\ #4 \ \ #5%
}%
}%
}
\newcommand{\longcontact}[5]{%
\noindent
#1\hfill {\large\textperiodcentered}\hfill #2\hfill
{\large\textperiodcentered}\hfill #3\\
#4\hfill #5%
}
\newcommand{\contactinfo}[7]{%
\begin{center}
\begin{tabular}{c|c|c|c|c}
\footnotesize{#1} & \footnotesize{#2} & \footnotesize{#3} & \footnotesize{#5} & \footnotesize{\href{#6}{\textsc{\faLinkedin} #7}}
\end{tabular}
\end{center}
}
\newcommand{\uni}[3]{%
\vspace{0.5\baselineskip} % Whitespace before the section title
{\faGraduationCap\ \textbf{#1} \hfill #2}\\
\textit{#3}\\
}
\newenvironment{uniyear}[1]
{\small
\tabular{@{}lp{0.5\linewidth}l}
\multicolumn{3}{c}{\textbf{
\if 1#1%
{1\textsuperscript{st}} Year
\fi
\if 2#1
{2\textsuperscript{nd}} Year
\fi
\if 3#1
{3\textsuperscript{rd}} Year
\fi
\if 4#1
{4\textsuperscript{th}} Year
\fi
}}\\
}
{
\endtabular
}
%{
%\begin{center}%
%\small
%\tabular{lp{0.5\linewidth}l}
%\multicolumn{3}{c}{\textbf{
%\if 1#1%
%{1\textsuperscript{st}} Year
%\fi
%\if 2#1
%{2\textsuperscript{nd}} Year
%\fi
%\if 3#1
%{3\textsuperscript{rd}} Year
%\fi
%\if 4#1
%{4\textsuperscript{th}} Year
%\fi
%}\\
%}
%}
%{
%\endtabular
%\end{center}%
%}
\newcommand{\semester}[1]{
\multicolumn{3}{@{}l}{\textit{Semester #1}}\\
}
%\newenvironment{semester}[1]
%{
%\small
%\multicolumn{3}{l}{\textit{Semester #1}}\\
%}
%{
%}
\newcommand{\module}[3]{
#1 & #2 \hfill & #3\\
}
\newcommand{\college}[3]{%
\vspace{0.5\baselineskip} % Whitespace before the section title
{\faGraduationCap\ \textbf{#1} \hfill #2}\\
#3\\
}
\newcommand{\cert}[3]{%
\vspace{0.5\baselineskip} % Whitespace before the section title
{\faCertificate\ \textbf{#1}, \textit{#2} \hfill #3}\\
}
\newcommand{\traincert}[3]{%
\vspace{0.5\baselineskip} % Whitespace before the section title
{\faCertificate\ \textbf{#1} \textit{(in training)}, \textit{#2} \hfill (Expected: #3)}\\
}
\newenvironment{itemize*}%
{\begin{itemize}[itemsep=-0.25em, leftmargin=1em, topsep=0em]}%
{\end{itemize}}
% REFERENCES
\newenvironment{cvref}[3]
{
\begin{minipage}{0.45\textwidth}
\begin{center}
\tabular{p{0.025\linewidth}l}
\multicolumn{2}{c}{\textbf{#1}}\\
\faBriefcase\ & #2\\
\faBuilding\ & #3\\
}
{
\endtabular
\end{center}
\end{minipage}
\hfill
}
\newcommand{\cvrefphone}[2]{
\faPhone & \href{tel:#1}{#2}
}
\newcommand{\cvrefemail}[1]{
\faEnvelope & \href{mailto:#1}{#1}
}
\newcommand{\cvrefName}[1]{
\faUser & \textbf{#1}
}
\newcommand{\cvrefJob}[1]{
\faBriefcase & #1
}
\newcommand{\cvrefWork}[1]{
\faBuilding & #1
}
% CUSTOM FONTS
%\newcommand{\iconMatrix}[0]{
%\fontello \char"E802
%}
\newcommand{\iconGitea}{\icons\char"E80C \normalfont}
% CERTIFICATION
%\newcommand{\azFundamentals}[0]{%
%\begingroup\normalfont
% \includegraphics[height=3\fontcharht\font`\B]{img/microsoft-certified-associate-badge.pdf}%
% \endgroup
%}