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}
 | 
