217 lines
5.7 KiB
TeX
217 lines
5.7 KiB
TeX
% !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/rocket.png}
|
|
};
|
|
}]
|
|
{};
|
|
\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}
|