summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/readablecv/ReadableCV.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/readablecv/ReadableCV.cls')
-rw-r--r--macros/latex/contrib/readablecv/ReadableCV.cls188
1 files changed, 114 insertions, 74 deletions
diff --git a/macros/latex/contrib/readablecv/ReadableCV.cls b/macros/latex/contrib/readablecv/ReadableCV.cls
index db6197592d..a6fbe38354 100644
--- a/macros/latex/contrib/readablecv/ReadableCV.cls
+++ b/macros/latex/contrib/readablecv/ReadableCV.cls
@@ -1,5 +1,5 @@
%% ReadableCV
-%% Copyright 2020 Philip Stone
+%% Copyright 2021 Philip Stone
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -15,19 +15,27 @@
%
% This work consists of the files ReadableCV.cls and ReadableCV.tex
-\def\ClassDate{2020/05/14}
-\def\ClassVersion{2.0}
+\NeedsTeXFormat{LaTeX2e}
+\def\ClassDate{2021/01/09}
+\def\ClassVersion{3.0}
\ProvidesClass{ReadableCV}[\ClassDate ReadableCV \ClassVersion class written by Philip Stone]
-\LoadClass[10pt, a4paper, onecolumn, oneside, notitlepage]{article}
-\NeedsTeXFormat{LaTeX2e}
+\DeclareOption{twocolumn}{\OptionNotUsed}
+\DeclareOption{twoside}{\OptionNotUsed}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}}
+\ExecuteOptions{a4paper}
+\ProcessOptions\relax
+\LoadClass[10pt, onecolumn, oneside]{memoir}
+
+\setlrmarginsandblock{1.5cm}{1.5cm}{*}
+\setulmarginsandblock{1.5cm}{*}{*}
+\checkandfixthelayout
+
%set up PDF metadata
\usepackage{hyperref}
-% Set up paper size and language
-\RequirePackage[a4paper, total={7in, 10in}]{geometry}
-\RequirePackage{titlesec}
+%Alter how date is printed
\RequirePackage[nodayofweek]{datetime}
% Allow use of multiple columns
@@ -37,11 +45,12 @@
\RequirePackage{marvosym}
\RequirePackage{graphicx}
\RequirePackage[x11names]{xcolor}
-\RequirePackage[sfdefault,thin]{roboto}
+\RequirePackage[thin]{roboto}
\RequirePackage[T1]{fontenc}
\pagestyle{empty}
-\setlength{\parindent}{0em}
+%\setlength{\parindent}{0em}
+\addtolength{\parskip}{6pt}
% Allow use of if statements
\RequirePackage{etoolbox}
@@ -61,12 +70,10 @@
% Displays section title or heading
\newcommand{\newHeading}[2]{
\begin{\SectionAlignment}
-% \vspace{\baselineskip}
- \bigskip
- \textcolor{\HeadingColour}{\textbf{\Large{#1}}}
+ \smallskip
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Large{#1}}}}
\smallskip
\hrule
-% \vspace{\baselineskip}
\end{\SectionAlignment}
}
@@ -106,11 +113,11 @@
\newcommand{\HeaderText}{
- \begin{minipage}{1.0\linewidth}
+ \noindent\begin{minipage}{1.0\linewidth}
\begin{\HeaderAlignment}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\smallskip
\ifdefempty{\rcvmobileno}%
@@ -122,7 +129,7 @@
}
{
%mobile number not defined, home number is
- \normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
}
}
{
@@ -130,12 +137,12 @@
\ifdefempty{\rcvhomeno}%
{
%if mobile number defined, home number not defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
}
{
%if home number and mobile number defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
- }
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ }}
}
\ifdefempty{\rcvemailaddr}%
@@ -146,7 +153,7 @@
}
{
%email not defined, web is
- \normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
}
}
{
@@ -154,12 +161,12 @@
\ifdefempty{\rcvwebaddr}%
{
%if email defined, web not defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
}
{
%if email and web defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
- }
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ }}
}
\end{\HeaderAlignment}
\end{minipage}
@@ -168,27 +175,27 @@
\newcommand{\HeaderRightContact}{
% Name and jobtitle on the left. Contact details on the right.
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\end{flushleft}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
\ifdefempty{\rcvmobileno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}}
\ifdefempty{\rcvhomeno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
\ifdefempty{\rcvemailaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}}
\ifdefempty{\rcvwebaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
\end{flushright}
\end{minipage}
}
@@ -196,27 +203,27 @@
\newcommand{\HeaderLeftContact}{
% Name and jobtitle on the right. Contact details on the left.
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
\ifdefempty{\rcvmobileno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}}
\ifdefempty{\rcvhomeno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
\ifdefempty{\rcvemailaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}}
\ifdefempty{\rcvwebaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
\end{flushleft}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\end{flushright}
\end{minipage}
@@ -230,16 +237,16 @@
}
\newcommand{\HeaderLeftImage}{
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
\includegraphics[width=2.5cm,height=2.5cm,keepaspectratio]{\rcvimageloc}
\end{flushleft}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\smallskip
\ifdefempty{\rcvmobileno}%
@@ -251,7 +258,7 @@
}
{
%mobile number not defined, home number is
- \normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}}\ \robotoThin{\rcvhomeno}\\}
}
}
{
@@ -259,11 +266,11 @@
\ifdefempty{\rcvhomeno}%
{
%if mobile number defined, home number not defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
}
{
%if home number and mobile number defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
}
}
@@ -275,7 +282,7 @@
}
{
%email not defined, web is
- \normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
}
}
{
@@ -283,11 +290,11 @@
\ifdefempty{\rcvwebaddr}%
{
%if email defined, web not defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
}
{
%if email and web defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
}
}
\end{flushright}
@@ -295,11 +302,11 @@
}
\newcommand{\HeaderRightImage}{
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\smallskip
\ifdefempty{\rcvmobileno}%
@@ -311,7 +318,7 @@
}
{
%mobile number not defined, home number is
- \normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
}
}
{
@@ -319,11 +326,11 @@
\ifdefempty{\rcvhomeno}%
{
%if mobile number defined, home number not defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
}
{
%if home number and mobile number defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
}
}
@@ -335,7 +342,7 @@
}
{
%email not defined, web is
- \normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
}
}
{
@@ -343,11 +350,11 @@
\ifdefempty{\rcvwebaddr}%
{
%if email defined, web not defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
}
{
%if email and web defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
}
}
\end{flushleft}
@@ -419,7 +426,7 @@
}
}
- \vspace{\baselineskip}
+% \vspace{\baselineskip}
}
\newcommand{\addSkills}[9]{
@@ -464,34 +471,66 @@
% including dates [1], job title [2],
% company name [3] and role summary [4]
+\vspace{0.5em}
+\begin{samepage}
\iftoggle{jobfirst}{
% Display job before company
- \begin{tabular}{@{}p{3cm} l}
+ \noindent\begin{tabular}{@{}p{3cm} l}
\textbf{#1} & \textbf{#2}\\
& \textbf{#3}\\
\end{tabular}
}
{
% Display company before job
- \begin{tabular}{@{}p{3cm} l}
+ \noindent\begin{tabular}{@{}p{3cm} l}
\textbf{#1} & \textbf{#3}\\
& \textbf{#2}\\
\end{tabular}
}
- \vspace{\baselineskip}
- \textit{Role outline} \par \par \hspace{2em}#4 \bigskip
+ \vspace{-0.5em}
+ \noindent\sffamily{\textit{Role outline}} \rmfamily \par #4 \vspace{\baselineskip}
+\end{samepage}
}
-\newcommand{\roleAchievements}[5]{
- % Adds up to five achievements in an itemized list
- \textit{Key achievements} \par \par
-
+\newcommand{\roleResponsibilities}[5]{
+ % Adds up to five responsibilities in an itemized list
+ \vspace{\baselineskip}
+
+\noindent\textit{Responsibilities}
+\vspace{-1em}
+
+ \def\rone{#1}
+ \def\rtwo{#2}
+ \def\rthree{#3}
+ \def\rfour{#4}
+ \def\rfive{#5}
+
+ \begin{itemize}
+ \ifdefempty{\rone}{}{\item \rone}
+ \ifdefempty{\rtwo}{}{\item \rtwo}
+ \ifdefempty{\rthree}{}{\item \rthree}
+ \ifdefempty{\rfour}{}{\item \rfour}
+ \ifdefempty{\rfive}{}{\item \rfive}
+ \end{itemize}
+
+% \bigskip
+}
+
+\newcommand{\roleAchievements}[6]{
+ % Adds up to six achievements in an itemized list
+
\def\aone{#1}
\def\atwo{#2}
\def\athree{#3}
\def\afour{#4}
\def\afive{#5}
+ \def\asix{#6}
+
+% \begin{samepage}
+ \vspace{-0.5em}
+ \noindent\sffamily{\textit{Achievements}}\rmfamily
+ \vspace{-1em}
\begin{itemize}
\ifdefempty{\aone}{}{\item \aone}
@@ -499,9 +538,9 @@
\ifdefempty{\athree}{}{\item \athree}
\ifdefempty{\afour}{}{\item \afour}
\ifdefempty{\afive}{}{\item \afive}
+ \ifdefempty{\asix}{}{\item \asix}
\end{itemize}
-
- \bigskip
+%\end{samepage}
}
\newcommand{\newCourse}[4]{
@@ -540,13 +579,14 @@
\newcommand{\setRecpPostcode}[1]{\def\recppostcode{#1}}
\newcommand{\makeLetter}{
+ \setlength{\parindent}{0em}
\begin{flushright}
\today
\end{flushright}
\bigskip \bigskip
- \recpname \\
+ \noindent\recpname \\
\ifdefempty{\recpjobtitle}{}{\recpjobtitle \\}
\recproad \\ \recptown \\ \recpcity \\ \recppostcode