Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
216 lines (168 sloc) 5.72 KB
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt]{article}
% hyphenation
\usepackage[british]{babel}
% more advanced expressions in \setlength
\usepackage{calc}
% force usage of newer commands (optinonal)
\usepackage[l2tabu,orthodox]{nag}
% define margin
\newlength\cvMargin
\setlength\cvMargin{1cm}
\usepackage[margin=\cvMargin,noheadfoot,a4paper]{geometry}
% other lengths
\newlength\cvSideWidth
\setlength\cvSideWidth{0.3\paperwidth-\cvMargin}
\newlength\cvMainWidth
\setlength\cvMainWidth{\paperwidth-4\cvMargin-\cvSideWidth}
\newlength\cvPictureWidth
\setlength\cvPictureWidth{4cm}
\newlength\cvLanguageBarWidth
\setlength\cvLanguageBarWidth{5em}
\newlength\cvLanguageBarHeight
\setlength\cvLanguageBarHeight{0.75em}
% links
\usepackage{hyperref}
% more advanced command definitions
\usepackage{xparse}
% advanced drawing
\usepackage{tikz}
\usetikzlibrary{calc,positioning,backgrounds,matrix}
% pictures
\usepackage{graphicx}
% define four main colours
\definecolor{cvGreen}{HTML}{357F2D}
\definecolor{cvGreenLight}{HTML}{B8E4B3}
\definecolor{cvDark}{HTML}{2F3142}
\definecolor{cvAccent}{HTML}{474A65}
% load external fonts
\usepackage{fontspec}
% icon font
\usepackage{fontawesome}
% load external fonts
\setmainfont[Numbers={OldStyle,Monospaced}]{Fira Sans}
\setsansfont{Fira Sans}
\setmonofont{Fira Mono}
\pagestyle{empty}
% update default paragraph indent, and header space
\setlength{\topskip}{0pt} % between header and text (0 needed for vertical centring)
\usepackage{parskip} % remove paragraph indents
% set TikZ styles
\tikzset{
contactIcon/.style={%
minimum height=\baselineskip,
},
contactText/.style={%
minimum height=\baselineskip,
text depth=0pt,
},
languageText/.style={},
progressArea/.style={%
draw,
rectangle,
minimum width=\cvLanguageBarWidth,
minimum height=\cvLanguageBarHeight,
cvGreen},
progressBar/.style={%
minimum height=\cvLanguageBarHeight,
rectangle,
draw,
fill,
cvGreen,
anchor=west},
}
% based on https://tex.stackexchange.com/questions/65731
\makeatletter
\def\cv@hrulefill{{\color{cvGreen}\leavevmode\leaders\hrule height 1pt\hfill\kern\z@}}
% line before and after text (some tweaking is required here)
% based on https://tex.stackexchange.com/questions/15119
\NewDocumentCommand{\ruleline}{m}{\par\noindent\raisebox{\baselineskip/4}{\makebox[\linewidth]{\cv@hrulefill\hspace{1ex}\raisebox{-\baselineskip/4}{#1}\hspace{1ex}\cv@hrulefill}}}
\makeatother
% update global colour
\makeatletter
\NewDocumentCommand{\globalcolor}{m}{%
\color{#1}\global\let\default@color\current@color
}
\makeatother
\AtBeginDocument{\globalcolor{cvDark}}
\NewDocumentCommand{\cvLanguage}{mm}{%
{\globaldefs=1\relax\pgfkeys{/cv/languages/lang\the\value{languages} = #2}}
\stepcounter{languages}
}
\begin{document}
\vspace*{\fill}
\begin{tikzpicture}[remember picture,overlay]
\fill[cvGreenLight] (current page.north west) rectangle ++(\cvSideWidth+2\cvMargin,-\paperheight);
\end{tikzpicture}
\begin{minipage}{\cvSideWidth}
\begin{center}
\begin{tikzpicture}
\node[
circle,
minimum size=\cvPictureWidth,
path picture={
\node at (path picture bounding box.center){
\includegraphics[width=\cvPictureWidth]{../images/profile_picture}
};
}]
{};
\end{tikzpicture}
{\LARGE
John
\vspace{0.1cm}
Doe}
\vspace{0.5cm}
{\color{cvAccent} Profession}
\vspace{0.5cm}
\ruleline{Profile}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam dictum imperdiet orci, at placerat nulla sagittis id. Praesent iaculis iaculis lorem a aliquam. Nam non fringilla sapien, quis posuere lectus. Quisque ac rhoncus massa. Vestibulum blandit ullamcorper nulla at posuere. In consectetur tempor sem, in interdum mi tempus nec. Cras.
\vspace{4pt}
\ruleline{Contact}
\vspace{4pt}
\begin{tikzpicture}[every node/.style={inner sep=0pt, outer sep=0pt}]
\matrix [
column 1/.style={anchor=center,contactIcon},
column 2/.style={anchor=west,align=left,contactIcon},
column sep=5pt,
row sep=5pt] (contact) {
\node{\faMapMarker};
& \node{Some Street 5\\B-0000 City\\Country};\\
\node{\faEnvelope};
& \node{\href{mailto:me@johndoe.com}{me@johndoe.com}};\\
\node{\faPhone};
& \node{+1 781 555 1212};\\
\node{\faGlobe};
& \node{\href{https://johndoe.com}{johndoe.com}};\\
\node{\faGithub};
& \node{\href{https://github.com/johndoe}{johndoe}};\\
\node{\faLinkedinSquare};
& \node{\href{https://www.linkedin.com/in/johndoe/}{johndoe}};\\
\node{\faTwitter};
& \node{\href{https://twitter.com/JohnDoe}{@JohnDoe}};\\
\node{\faKey};
& \node{\href{https://keybase.io/johndoe}{\texttt{AAAA BBBB 0000 5555}}};\\
};
\end{tikzpicture}
\vspace{4pt}
\ruleline{Languages}
\vspace{4pt}
\begin{tikzpicture}[every node/.style={text depth=0pt,inner sep=0pt,outer sep=0pt}]
\matrix [
column 1/.style={anchor=east},
column 2/.style={anchor=west},
column sep=5pt,
row sep=5pt,
] (contact) {
\node[languageText]{English}; & \node[progressArea] (language 1) {}; \\
\node[languageText]{German}; & \node[progressArea] (language 2) {}; \\
\node[languageText]{Spanish}; & \node[progressArea] (language 3) {}; \\
};
\draw (language 1.west) node[progressBar,minimum width=5/5*\cvLanguageBarWidth] {};
\draw (language 2.west) node[progressBar,minimum width=3/5*\cvLanguageBarWidth] {};
\draw (language 3.west) node[progressBar,minimum width=3/5*\cvLanguageBarWidth] {};
\end{tikzpicture}
\end{center}
\end{minipage}
\vspace*{\fill}
\end{document}