110 lines
3.9 KiB
TeX
110 lines
3.9 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.
|
|
%
|
|
%-----------------------------------------------------------------------------------------------------------------------------------------------%
|
|
|
|
% 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}} |