%-----------------------------------------------------------------------------------------------------------------------------------------------% % 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. % %-----------------------------------------------------------------------------------------------------------------------------------------------% % define global counters \newcounter{yearcount} \newcounter{leftcount} % env cvtimeline % % creates a vertical cv timeline % % param 1: start year % param 2: end year % param 3: overall width %param 4: overall height \newenvironment{cvtimeline}[4]{ \newcommand{\cvcategory}[2]{ \node[label=\mbox{\colorbox{##1}{\strut\hspace{2pt}}\colorbox{white}{\textcolor{textcol}{##2}}}] at (0,-5) {}; %start year } \newcommand{\bxwidth}{4.5} \newcommand{\bxheight}{2} % 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: color % param 7: level (position, use minus for left placement) \newcommand{\cvevent}[7] { \foreach \monthf/\yearf in {##1} { \foreach \montht/\yeart in {##2} { \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)} \let\lenexp\pgfmathresult \pgfmathparse{0.5*\endexp+0.5*\startexp} \let\midexp\pgfmathresult %\filldraw[fill=##6,draw=none, opacity=0.9] (-0.15-##7,\startexp) rectangle (-0.15-##7-0.5,\endexp); \draw[draw=##6, line width=1.5pt] (0, \startexp) -- (1,\startexp); \node[label={[label distance=0]0:\colorbox{##6}{\strut}\colorbox{white}{\textcolor{gray}{##1}\hspace{3pt}\textcolor{textcol}{##3}}}] at (0.5, \startexp) {}; } \addtocounter{leftcount}{1} } } %-------------------------------------------------------------------------------------- % BEGIN %-------------------------------------------------------------------------------------- \begin{tikzpicture} \setcounter{leftcount}{1} %calc fullrange= number of years \pgfmathparse{(#2-#1)} \let\fullrange\pgfmathresult \draw[draw=textcol,line width=4pt] (0,0) -- (0,#3) ; %the timeline %for each year put a horizontal line in place \setcounter{yearcount}{1} \whiledo{\value{yearcount} < \fullrange}{ \draw[fill=white,draw=textcol, line width=2pt] (0,#3/\fullrange*\value{yearcount}) circle (0.1); \stepcounter{yearcount} } %start year \filldraw[fill=white!100,draw=textcol,line width=3pt] (0,-0.5) circle (0.5); \node[label=\textcolor{textcol}{\textbf{\small#1}}] at (0,-0.85) {}; %end year \filldraw[fill=white!100,draw=textcol,line width=5pt] (0,#3+0.75) circle (0.75); \node[label=\textcolor{textcol}{\textbf{\large#2}}] at (0,#3+0.42) {}; }%end begin part of newenv {\end{tikzpicture}}