CV/infographics/main.tex
2016-10-24 23:09:59 +02:00

594 lines
20 KiB
TeX

%-----------------------------------------------------------------------------------------------------------------------------------------------%
% The MIT License (MIT)
%
% Copyright (c) 2016 Jan Küster
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the "Software"), to deal
% in the Software without restriction, including without limitation the rights
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
% copies of the Software, and to permit persons to whom the Software is
% furnished to do so, subject to the following conditions:
%
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
% THE SOFTWARE.
%
% RESOURCES USED:
% http://tex.stackexchange.com/questions/5718/package-for-pie-charts
% http://tex.stackexchange.com/questions/183087/draw-colored-world-us-map-in-latex#183138
% http://www.texample.net/tikz/examples/simple-flow-chart/
% http://vizualize.me/#
%-----------------------------------------------------------------------------------------------------------------------------------------------%
%============================================================================%
%
% DOCUMENT DEFINITION
%
%============================================================================%
%we use article class because we want to fully customize the page
\documentclass[10pt,A4]{article}
%----------------------------------------------------------------------------------------
% ENCODING
%----------------------------------------------------------------------------------------
%we use utf8 since we want to build from any machine
\usepackage[utf8]{inputenc}
%----------------------------------------------------------------------------------------
% LOGIC
%----------------------------------------------------------------------------------------
% provides \isempty test
\usepackage{xifthen}
\usepackage{calc}
%----------------------------------------------------------------------------------------
% FONT
%----------------------------------------------------------------------------------------
% some tex-live fonts - choose your own
%\usepackage[defaultsans]{droidsans}
%\usepackage[default]{comfortaa}
%\usepackage{cmbright}
\usepackage[default]{raleway}
%\usepackage{fetamont}
%\usepackage[default]{gillius}
%\usepackage[light,math]{iwona}
%\usepackage[thin]{roboto}
% set font default
\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
% more font size definitions
\usepackage{moresize}
%----------------------------------------------------------------------------------------
% PAGE LAYOUT DEFINITIONS
%----------------------------------------------------------------------------------------
%debug page outer frames
%\usepackage{showframe}
%define page styles using geometry
\usepackage[a4paper]{geometry}
% for example, change the margins to 2 inches all round
\geometry{top=0.75cm, bottom=-.6cm, left=1cm, right=1cm}
%use customized header
\usepackage{fancyhdr}
\pagestyle{fancy}
%less space between header and content
\setlength{\headheight}{-5pt}
%customize entries left, center and right
\lhead{}
\rhead{}
\setlength{\parindent}{0mm} %indentation is zero
%----------------------------------------------------------------------------------------
% TABLE /ARRAY DEFINITIONS
%----------------------------------------------------------------------------------------
\usepackage{multicol}
\usepackage{multirow}
\usepackage{array} %extended aligning of tabular cells
\newcolumntype{x}[1]{%
>{\raggedleft\hspace{0pt}}p{#1}}%
%----------------------------------------------------------------------------------------
% GRAPHICS DEFINITIONS
%----------------------------------------------------------------------------------------
\usepackage{graphicx} %for header image
\usepackage{wrapfig} %for floating figures
\usepackage{float}
%\floatstyle{boxed}
%\restylefloat{figure}
\usepackage{tikz} %for drawing graphics
\usetikzlibrary{shapes, backgrounds}
%http://tex.stackexchange.com/questions/7219/how-to-vertically-center-two-images-next-to-each-other
\newcommand{\vcenteredinclude}[1]{\begingroup
\setbox0=\hbox{\includegraphics{#1}}%
\parbox{\wd0}{\box0}\endgroup}
%http://tex.stackexchange.com/questions/7219/how-to-vertically-center-two-images-next-to-each-other
\newcommand*{\vcenteredhbox}[1]{\begingroup
\setbox0=\hbox{#1}\parbox{\wd0}{\box0}\endgroup}
\newcommand{\icons}{Font-Awesome-SVG-PNG/white/png/64/} %path to your icon lib
\newcommand{\icon}[2]{\includegraphics[height=#2]{\icons#1}} %icon shortcut
\newcommand{\icontext}[3]{ %icon with text shortcut
\vcenteredhbox{\icon{#1}{#2}} \vcenteredhbox{#3}
}
%----------------------------------------------------------------------------------------
% Color DEFINITIONS
%----------------------------------------------------------------------------------------
\usepackage{color}
%accent color
\definecolor{sectcol}{RGB}{255,150,0}
\definecolor{secondcol}{RGB}{50,50,200}
%dark background color
\definecolor{bgcol}{RGB}{100,100,100}
%light background / accent color
\definecolor{softcol}{RGB}{225,225,225}
%background col for whole page
\pagecolor{bgcol}
%============================================================================%
%
%
% DEFINITIONS
%
%
%============================================================================%
%----------------------------------------------------------------------------------------
% HEADER
%----------------------------------------------------------------------------------------
% remove top header line
\renewcommand{\headrulewidth}{0pt}
%remove botttom header line
\renewcommand{\footrulewidth}{0pt}
%remove pagenum
\renewcommand{\thepage}{}
%remove section num
\renewcommand{\thesection}{}
\chead{}
%----------------------------------------------------------------------------------------
% ARROW GRAPHICS in Tikz
%----------------------------------------------------------------------------------------
% a six pointed arrow poiting to the left
\newcommand{\tzlarrow}{(0,0) -- (0.2,0) -- (0.3,0.2) -- (0.2,0.4) -- (0,0.4) -- (0.1,0.2) -- cycle;}
% a six pointed arrow poiting to the right
\newcommand{\tzrarrow}{ (0,0.2) -- (0.1,0) -- (0.3,0) -- (0.2,0.2) -- (0.3,0.4) -- (0.1,0.4) -- cycle;}
% include the left arrow into a tikz picture
% param1: fill color
%
\newcommand{\larrow}[1]
{\begin{tikzpicture}[scale=0.58]
\filldraw[fill=#1!100,draw=#1!100!black] \tzlarrow
\end{tikzpicture}
}
% include the right arrow into a tikz picture
% param1: fill color
%
\newcommand{\rarrow}[1]
{\begin{tikzpicture}[scale=0.58]
\filldraw[fill=#1!100,draw=#1!100!black] \tzrarrow
\end{tikzpicture}
}
% draw a slice for a chart
% param 1:
% param 2:
% param 3:
% param 4:
% param 5:
% param 6:
\newcommand{\slice}[6] {
\pgfmathparse{0.5*#1+0.5*#2}
\let\midangle\pgfmathresult
% slice
\filldraw[fill=#5!100,draw=bgcol!100, line width=2pt, inner sep=15pt ] (0,0) -- (#1:#6) arc (#1:#2:#6) -- cycle;
% \draw[draw=white]
% outer label
\node[label=\midangle:\textcolor{white}{#4}] at (\midangle:#6) {};
}
%counters for chart loop
\newcounter{a}
\newcounter{b}
\newcounter{c}
% draws a pie chart by a list of input values
% param 1: the value list ->example: 20/type A, 4/type B, 11/type C, 49/type D, 16/other
% param 2: scaling factor (no font scaling)
% param 3: circle size, use 90, 180, 270 or 360
% param 4: caption
\newcommand{\chart}[4]{
%reset counters
\setcounter{a}{0}
\setcounter{b}{0}
\setcounter{c}{50}
\begin{tikzpicture}[scale=3]
\foreach \p/\t in {#1} {
\setcounter{a}{\value{b}}
\addtocounter{b}{\p}
\addtocounter{c}{35}
\definecolor{currentcolor}{RGB}{220,\thec, 0}
\slice{\thea/100*#3}{\theb/100*#3}{\p\%}{\t}{currentcolor}{#2}
}
\end{tikzpicture}
}
\newcommand{\bubble}[5]{
\definecolor{tmpcol}{RGB}{50,50,#5}
% slice
\filldraw[fill=tmpcol!100,draw=none] (#1,0.5) circle (#3);
% outer label
\node[label=\textcolor{white}{#4}] at (#1,0.7) {};
}
\newcommand{\bubbles}[2]{
%reset counters
\setcounter{a}{0}
\setcounter{c}{150}
\begin{tikzpicture}[scale=3]
\foreach \p/\t in {#1} {
\addtocounter{a}{1}
\bubble{\thea/2}{\theb}{\p/25}{\t}{1\p0}
}
\end{tikzpicture}
}
\newcommand{\squares}[2]{
%reset counters
\setcounter{a}{0}
\setcounter{b}{0}
\setcounter{c}{50}
\begin{tikzpicture}[scale=3]
\foreach \p/\t in {#1} {
\setcounter{a}{\value{b}}
\addtocounter{b}{\p}
\addtocounter{c}{35}
\definecolor{currentcolor}{RGB}{50,50, 1\p}
\square{\thea/100*#2}{\theb/100*#2}{\p\%}{\t}{currentcolor}
}
\end{tikzpicture}
}
\newcommand{\square}[5] {
\pgfmathparse{#1+0.5*(#2-#1)-0.14}
\let\midangle\pgfmathresult
% slice
\filldraw[fill=#5!100,draw=bgcol!100, line width=3pt] (0,#1) -- (2,#1) -- (2,#2) -- (0,#2) -- cycle;
% outer label
\node[label=\textcolor{white}{#4}] at (1,\midangle) {};
}
%----------------------------------------------------------------------------------------
% social info
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% custom sections
%----------------------------------------------------------------------------------------
% create a coloured box with arrow and title as cv section headline
% param 1: section title
%
\newcommand{\cvsection}[1] {
\larrow{bgcol} \textcolor{white}{\textbf{#1}} \rarrow{bgcol}
}
\newcommand{\cvsect}[2]{
\colorbox{gray}{ \makebox[0.75\linewidth][c]{\cvsection{#1}}}
}
%create a coloured arrow with title as cv meta section section
% param 1: meta section title
%
\newcommand{\metasection}[2] {
\begin{tabular*}{1\textwidth}{ l l }
#1&#2\\[12pt]
\end{tabular*}
}
%----------------------------------------------------------------------------------------
% CV EVENT
%----------------------------------------------------------------------------------------
\newcounter{expcounter}
\newcounter{educounter}
\newcounter{yearcount}
% creates a vertical cv timeline
% param 1: start year
% param 2: end year
% param 3: overall width
%param 4: overall height
\newenvironment{cvtimeline}[4]{
% creates a stretched box as cv entry headline followed by two paragraphs about
% the work you did
% param 1: event start month/year
% param 2: event end month/year
% param 3: event name
% param 4: institution (where did you work / study)
% param 5: what was your position
% param 6: some words about your contributions
%
\newcommand{\cvexperience}[6] {
\foreach \monthf/\yearf in {##1} {
\foreach \montht/\yeart in {##2} {
\definecolor{expcol}{RGB}{50,50,\theexpcounter}
\pgfmathparse{#3/\fullrange*((\yearf-#1)+(\monthf/12))}
\let\startexp\pgfmathresult
\pgfmathparse{#3/\fullrange*((\yeart-#1)+(\montht/12))}
\let\endexp\pgfmathresult
\pgfmathparse{1/(\endexp-\startexp+1.5)}
\let\lenexp\pgfmathresult
\pgfmathparse{0.5*\endexp+0.5*\startexp}
\let\midexp\pgfmathresult
\draw[fill=expcol, opacity=0.75] (\startexp,-0.1) -- (\startexp,-0.6-\lenexp) -- (\endexp,-0.6-\lenexp) -- (\endexp,-0.1) --cycle;
\draw[draw=black](\midexp,-0.6-\lenexp) -- ((\midexp,-1.5-\lenexp);
\node[label=\textcolor{black}{##3}] at (\midexp,-2-\lenexp) {}; %start year
\addtocounter{expcounter}{50}
}
}
}
\newcommand{\cveducation}[6] {
\foreach \monthf/\yearf in {##1} {
\foreach \montht/\yeart in {##2} {
\definecolor{expcol}{RGB}{250,\theeducounter,0}
\pgfmathparse{#3/\fullrange*((\yearf-#1)+(\monthf/12))}
\let\startexp\pgfmathresult
\pgfmathparse{#3/\fullrange*((\yeart-#1)+(\montht/12))}
\let\endexp\pgfmathresult
\pgfmathparse{1/(\endexp-\startexp+1.5)}
\let\lenexp\pgfmathresult
\pgfmathparse{0.5*\endexp+0.5*\startexp}
\let\midexp\pgfmathresult
\draw[fill=expcol, opacity=0.75] (\startexp,0.1) -- (\startexp,0.6+\lenexp) -- (\endexp,0.6+\lenexp) -- (\endexp,0.1) --cycle;
\draw[draw=black](\midexp,0.6+\lenexp) -- ((\midexp,1+\lenexp);
\node[label=\textcolor{black}{##3}] at (\midexp,1.1+\lenexp) {}; %start year
\addtocounter{educounter}{50}
}
}
}
\begin{tikzpicture}
\pgfmathparse{(#2-#1)}
\let\fullrange\pgfmathresult
\draw[draw=white,line width=1pt] (0,0) -- (#3,0) ; %line
%for each year put a horizontal line in place
\setcounter{yearcount}{1}
\setcounter{expcounter}{50}
\whiledo{\value{yearcount} < \fullrange}{
\draw[draw=white] (#3/\fullrange*\value{yearcount},-0.15) -- (#3/\fullrange*\value{yearcount},0.15);
\stepcounter{yearcount}
}
\node[label=\textcolor{white}{#1}] at (-0.75,0) {}; %start year
\node[label=\textcolor{white}{#2}] at (#3+0.75,0) {}; %end year
}%end begin part of newenv
{\end{tikzpicture}}
% creates a stretched box as
\newcommand{\cveventmeta}[2] {
\mbox{\mystrut \hspace{87pt}\textit{#1}}\\
#2
}
%----------------------------------------------------------------------------------------
% CUSTOM STRUT FOR EMPTY BOXES
%----------------------------------------- -----------------------------------------------
\newcommand{\mystrut}{\rule[-.3\baselineskip]{0pt}{\baselineskip}}
%----------------------------------------------------------------------------------------
% CUSTOM LOREM IPSUM
%----------------------------------------------------------------------------------------
\newcommand{\lorem}{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.}
%============================================================================%
%
%
%
% DOCUMENT CONTENT
%
%
%
%============================================================================%
\begin{document}
%use our custom fancy header definitions
\pagestyle{fancy}
%---------------------------------------------------------------------------------------
% TITLE HEADLINE
%----------------------------------------------------------------------------------------
\mystrut
\vspace{-12pt}
\begin{center}
\HUGE{\textcolor{white}{\textsc{Jan Küster}} }\\[-30pt]
\textcolor{sectcol}{\hrule}
\vspace{5pt}
\Large{\textcolor{white}{\textsc{Software Engineer and Consultant}}}\\
\end{center}
\normalfont
%---------------------------------------------------------------------------------------
% QR CODE (optional)
%----------------------------------------------------------------------------------------
%\vspace{-136pt}
%\hspace{0.75\linewidth}
%\includegraphics[width=103pt]{qrcode}
%\normalsize
%\vspace{88pt}
%---------------------------------------------------------------------------------------
% META SECTION
%----------------------------------------------------------------------------------------
\vspace{16pt}
\begin{minipage}{0.49\textwidth}
\begin{center}
\cvsect{Profile}{0.49}\\[16pt]
\end{center}
\begin{tabular*}{1\textwidth}{ c c }
\parbox[c]{0.375\linewidth}{
\includegraphics[trim= 320 130 460 210,clip,width=\linewidth]{myfoto.jpg}}&
\parbox{0.55\textwidth}{
\icontext{map-marker}{22pt}{Bremen, Germany}\\
\icontext{mobile-phone}{22pt}{+49 176 313 877 34}\\
\icontext{send}{22pt}{info@jankuester.com}\\
\icontext{mouse-pointer}{22pt}{www.jankuester.com}\\
\icontext{github}{22pt}{github.com/jankapunkt}\\
\icontext{twitter}{22pt}{@Kuester\_Jan}\\
}
\end{tabular*}
\end{minipage}
\begin{minipage}{0.49\textwidth}
\begin{center}
\cvsect{Skills}{0.49}\\[16pt]
\chart{9/Design, 25/Consulting, 25/Projects,41/Development}{0.65}{360}{nothing}\\[16pt]
\end{center}
\end{minipage}
\vspace{16pt}
\begin{center}
\cvsect{Experience and Education}{0.49}\\[16pt]
\end{center}
\begin{cvtimeline}{2009}{2017}{15.5}{\linewidth}
%---------------------------------------------------------------------------------------
% EXPERIENCE
%----------------------------------------------------------------------------------------
\cvexperience{11/2014}{9/2016}{IT Consultant}{We4IT GmbH Bremen}{Realize projects in XPages and We4IT Aveedo, monitor project status, conduct reports}{Implement the frontend for a BPMN compatible engine within We4IT Aveedo}
\cvexperience{9/2013}{9/2013}{Poster Presentation}{DELFI Conference}{Co-published poster with paper on usability guidelines for tests with functional illiterates}{Presented results to conference audience at conference event}
\cvexperience{1/2012}{11/2014}{Scientific Employee}{Uni of Bremen}{Invented a flexible assessment framework, targeting industrial trainees}{Supervised software development lifecycle, Recruited team members}
\cvexperience{6/2010}{11/2011}{Student Assistant}{Uni Bremen}{Realized an online diagnosis platform for workforce literacy development (Flex)}{Modeled software design, implemented various prototypes, conducted usability tests}
\cvexperience{05/2016}{05/2016}{Startup Weekend}{Getoq Consulting}{Performed a two-day project simulation from management perspective}{Topics included customer contracts, change management, controlling, operational tasks}
%---------------------------------------------------------------------------------------
% EDUCATION SECTION
%--------------------------------------------------------------------------------------
\cveducation{1/2009}{11/2011}{Bachelor Studies}{University of Bremen}{Master Thesis: Semi Automated Scoring in Technology Based Assessment}{Developed and evaluated an algorithm for semi automated scoring of spreadsheet data}
\cveducation{7/2015}{7/2015}{M.Sc. Graduation}{University of Bremen}{Master Thesis: Semi Automated Scoring in Technology Based Assessment}{Developed and evaluated an algorithm for semi automated scoring of spreadsheet data}
\cveducation{11/2011}{11/2011}{PM Seminar}{Getoq Consulting}{Performed a two-day project simulation from management perspective}{Topics included customer contracts, change management, controlling, operational tasks}
%\cvevent{2012 - 2013}{Master Project - PrIMA}{University of Bremen}{Co-Invented a touch table application for medical support, co-developed software (Java) }{Formed a scrum team, mainted project dev server (Debian), surveyed target audience}
%\textcolor{softcol}{\hrule}
\cveducation{11/2011}{7/2015}{Master Studies Digital Media}{University of Bremen}{Inter-cultural classes in English, covering special topics in computer science and design}{Professionalized in research methods, software development and e-assessment}
%\textcolor{softcol}{\hrule}
\cveducation{5/2009}{1/2010}{Semester Abroad}{University of Melbourne}{Mastered six months of study and trans-cultural experience in Melbourne, Australia}{Finished machine programming, information visualization, professional essay writing}
\end{cvtimeline}\\
\begin{minipage}{0.49\textwidth}
\begin{center}
\cvsect{Technologies}{0.49}\\[16pt]
\bubbles{6/js , 3/java , 3/Meteor , 2/React, 2/Notes}{\cvsection{Technologies}}\\[16pt]
\bubbles{5/git, 5/eclipse, 2/excel, 2/LaTex}{\cvsection{Technologies}}\\[16pt]
\cvsect{Activities}{0.49}\\[16pt]
\squares{10/Game Development,40/Martial Arts,30/News,20/Music}{1.5}\\[6pt]
\end{center}
\end{minipage}
\begin{minipage}{0.49\textwidth}
\begin{center}
\cvsect{Languages}{0.49}\\[12pt]
German (native) English (Academic) Russian (Basic)\\[4pt]
\includegraphics[width=1\linewidth]{world.png}\\[12pt] %trimming relative to image size!
\end{center}
\end{minipage}
%============================================================================%
%
%
%
% DOCUMENT END
%
%
%
%============================================================================%
\end{document}