132 lines
5.3 KiB
TeX
132 lines
5.3 KiB
TeX
% Colors
|
|
\definecolor{pagebackground}{HTML}{FFFFFF}
|
|
\definecolor{sidebarbackground}{HTML}{f3f3f4}
|
|
\definecolor{headercolor}{HTML}{6c6c6d}
|
|
\definecolor{sidebartitle}{HTML}{24272B}
|
|
\definecolor{sidebartext}{HTML}{6c6c6d}
|
|
\definecolor{bodytitle}{HTML}{24272B}
|
|
\definecolor{bodytext}{HTML}{6c6c6d}
|
|
\definecolor{bulletcolor}{HTML}{6c6c6d}
|
|
\definecolor{linkcolor}{HTML}{3E78B2}
|
|
\definecolor{linecolor}{HTML}{24272B}
|
|
\definecolor{name}{HTML}{FFFFFF}
|
|
\definecolor{jobtitle}{HTML}{FFFFFF}
|
|
\RequirePackage[pagecolor=pagebackground, nopagecolor=pagebackground]{pagecolor}
|
|
|
|
% Heading styles
|
|
\titleformat{\section}
|
|
{\color{bodytitle}\fontsize{16pt}{16pt}\sffamily\addfontfeature{LetterSpace=2}}
|
|
{}{0pt}{}[{\color{linecolor}\titlerule[1pt]}]
|
|
|
|
\titleformat{\subsection}
|
|
{\color{sidebartitle}\fontsize{16pt}{16pt}\sffamily\addfontfeature{LetterSpace=2}}
|
|
{}{0pt}{}[{\color{linecolor}\titlerule[1pt]}]
|
|
|
|
\titleformat{\subsubsection}
|
|
{\color{bodytitle}\fontsize{12pt}{12pt}\sffamily\addfontfeature{LetterSpace=2}}
|
|
{}{0pt}{}
|
|
|
|
\titlespacing*{\section}{0pt}{0.5cm}{0.4cm}
|
|
\titlespacing*{\subsection}{0pt}{0.5cm}{0.4cm}
|
|
\titlespacing*{\subsubsection}{0pt}{0.5cm}{0.1cm}
|
|
|
|
% Defining font styles
|
|
\newcommand{\sname}{\color{name}\fontsize{36pt}{36pt}\sffamily\addfontfeature{LetterSpace=3}\MakeUppercase}
|
|
\newcommand{\sjobtitle}{\color{jobtitle}\fontsize{20pt}{20pt}\sffamily\addfontfeature{LetterSpace=5}\MakeUppercase}
|
|
|
|
% Defining page styles
|
|
\pagestyle{fancy}
|
|
\fancypagestyle{firstpagestyle}{
|
|
\fancyhf{}
|
|
\renewcommand{\headrulewidth}{0pt}
|
|
\renewcommand{\footrulewidth}{0pt}
|
|
\fancyhead[C]{%
|
|
\begin{tikzpicture}[remember picture,overlay]
|
|
\node [rectangle, fill=headercolor, anchor=north west, minimum width=\paperwidth+1cm, minimum height=7.5cm] at ($(current page.north west)+(-1cm,1cm)$) {};
|
|
\node [rectangle, fill=sidebarbackground, anchor=north west, minimum width=7cm, minimum height=\paperheight-2cm] at ($(current page.north west)+(1cm,-1cm)$) {};
|
|
\end{tikzpicture}
|
|
}
|
|
}
|
|
|
|
\fancyhf{}
|
|
\renewcommand{\headrulewidth}{0pt}
|
|
\renewcommand{\footrulewidth}{0pt}
|
|
\fancyhead[C]{%
|
|
\begin{tikzpicture}[remember picture,overlay]
|
|
\node [rectangle, fill=sidebarbackground, anchor=north west, minimum width=7cm, minimum height=\paperheight-2cm] at ($(current page.north west)+(1cm,-1cm)$) {};
|
|
\end{tikzpicture}
|
|
}
|
|
|
|
% Layout for name, job title and sidebar
|
|
\setcolumnwidth{6cm,11.5cm}
|
|
\setlength{\columnsep}{1cm}
|
|
\columncolor{sidebartext}[0]
|
|
\columncolor{bodytext}[1]
|
|
|
|
\newcommand{\makeprofile}{%
|
|
\thispagestyle{firstpagestyle}
|
|
\vspace*{-1cm}
|
|
{\setstretch{3}
|
|
\begin{adjustbox}{padding=7.0cm 0pt 0pt 0pt,minipage=[c][2.5cm]{11.5cm}}
|
|
{\sname\name}
|
|
\end{adjustbox}}
|
|
|
|
{\setstretch{1.8}
|
|
\begin{adjustbox}{padding=7.0cm 0pt 0pt 0pt,minipage=[c][1.5cm]{11.5cm}}
|
|
{\sjobtitle\jobtitle}
|
|
\end{adjustbox}}
|
|
\vspace{2\bigskipamount}
|
|
\ifthenelse{\equal{\profilepic}{}}{}{%
|
|
\begin{tikzpicture}[remember picture,overlay]
|
|
\node[circle,minimum width=4cm, path picture={
|
|
\node at (path picture bounding box.center){\includegraphics[width=4cm]{\profilepic}};}] at ($(current page.north west)+(4.5cm,-3.5cm)$) {};
|
|
\end{tikzpicture}
|
|
}
|
|
}
|
|
|
|
% Margins
|
|
\RequirePackage[left=1.5cm, right=1cm, top=1.5cm, bottom=1.5cm, footskip=0.5cm, headheight=0.5cm]{geometry}
|
|
|
|
% Personal skills bar
|
|
\newcommand\perskills[1]{%
|
|
\ifthenelse{\equal{#1}{}}{\booltrue{perempty}}{\renewcommand{\perskills}{%
|
|
\foreach [count=\i] \x/\y in {#1}{
|
|
{\x}\\
|
|
\ifthenelse{\equal{\thecolumn}{0}}{%
|
|
\progressbar[width=.9\columnwidth,roundnessa=1pt, ticksheight=0, heightr=1, linecolor=linecolor, filledcolor=sidebartext, borderwidth=1pt, emptycolor=sidebarbackground]{\y}\par\smallskip
|
|
}{%
|
|
\progressbar[width=.9\columnwidth,roundnessa=1pt, ticksheight=0, heightr=1, linecolor=bodytext, filledcolor=bodytext, borderwidth=1pt, emptycolor=pagebackground]{\y}\par\smallskip
|
|
}
|
|
}
|
|
}}
|
|
}
|
|
|
|
% Professional skills bar
|
|
\newcommand\proskills[1]{%
|
|
\ifthenelse{\equal{#1}{}}{\booltrue{proempty}}{\renewcommand{\proskills}{%
|
|
\foreach [count=\i] \x/\y in {#1}{%
|
|
{\x}\\
|
|
\ifthenelse{\equal{\thecolumn}{0}}{%
|
|
\progressbar[width=.9\columnwidth,roundnessa=1pt, ticksheight=0, heightr=1, linecolor=linecolor, filledcolor=sidebartext, borderwidth=1pt, emptycolor=sidebarbackground]{\y}\par\smallskip
|
|
}{%
|
|
\progressbar[width=.9\columnwidth,roundnessa=1pt, ticksheight=0, heightr=1, linecolor=bodytext, filledcolor=bodytext, borderwidth=1pt, emptycolor=pagebackground]{\y}\par\smallskip
|
|
}
|
|
}
|
|
}}
|
|
}
|
|
|
|
% Command for drawing language skill circles
|
|
% Adapted from AltaCV Template: https://www.overleaf.com/latex/templates/altacv-template/trgqjpwnmtgv
|
|
\newcommand\langskills[1]{%
|
|
\ifthenelse{\equal{#1}{}}{\booltrue{langempty}}{\renewcommand{\langskills}{%
|
|
\renewcommand{\arraystretch}{1.4}
|
|
\foreach [count=\i] \x/\y in {#1}{%
|
|
\begin{tabular*}{\columnwidth}{@{}L{.4\columnwidth}L{.6\columnwidth}}
|
|
{\x} &
|
|
\foreach \z in {1,...,5}{%
|
|
{\ifnumgreater{\z}{\y}{\color{bodytext!30}}{\color{bodytext}}\small{\faCircle}}}\\
|
|
\end{tabular*}
|
|
}
|
|
}}
|
|
}
|