%-----------------------------------------------------------------------------------------------------------------------------------------------% % The MIT License (MIT) % % Copyright (c) 2019 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. % % %-----------------------------------------------------------------------------------------------------------------------------------------------% %============================================================================% % % DOCUMENT DEFINITION % %============================================================================% \documentclass[10pt,A4,english]{article} %---------------------------------------------------------------------------------------- % ENCODING %---------------------------------------------------------------------------------------- % we use utf8 since we want to build from any machine \usepackage[utf8]{inputenc} \usepackage[USenglish]{isodate} \usepackage{fancyhdr} % \usepackage[numbers]{natbib} %---------------------------------------------------------------------------------------- % LOGIC %---------------------------------------------------------------------------------------- % provides \isempty test \usepackage{xstring, xifthen} \usepackage{enumitem} \usepackage[english]{babel} \usepackage{blindtext} \usepackage{pdfpages} \usepackage{changepage} %---------------------------------------------------------------------------------------- % FONT BASICS %---------------------------------------------------------------------------------------- % some tex-live fonts - choose your own \usepackage[default]{$cvfont$} % set font default \renewcommand*\familydefault{\sfdefault} \usepackage[T1]{fontenc} % more font size definitions \usepackage{moresize} %---------------------------------------------------------------------------------------- % FONT AWESOME ICONS %---------------------------------------------------------------------------------------- % include the fontawesome icon set \usepackage{fontawesome5} % use to vertically center content % credits to: 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} \newcommand{\tab}[1]{\hspace{.2\textwidth}\rlap{#1}} % use to vertically center content % credits to: 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} % icon shortcut \newcommand{\icon}[2] { \makebox(#2, #2){\textcolor{maincol}{\textcolor{maincol}{\faIcon{#1}}}} } % icon with text shortcut \newcommand{\icontext}[3]{ \vcenteredhbox{\icon{#1}{#2}} \hspace{2pt} \parbox{0.9\mpwidth}{\textcolor{black}{#3}} } % icon with website url \newcommand{\iconhref}[4]{ \vcenteredhbox{\icon{#1}{#2}} \hspace{2pt} \href{#4}{\textcolor{black}{#3}} } % icon with email link \newcommand{\iconemail}[5]{ \vcenteredhbox{\icon{#1}{#2}{#5}} \hspace{2pt} \href{mailto:#4}{\textcolor{#5}{#3}} } %---------------------------------------------------------------------------------------- % PAGE LAYOUT DEFINITIONS %---------------------------------------------------------------------------------------- % page outer frames (debug-only) % \usepackage{showframe} % we use paracol to display breakable two columns \usepackage{paracol} \usepackage{tikzpagenodes} \usetikzlibrary{calc} \usepackage{lmodern} \usepackage{multicol} \usepackage{lipsum} \usepackage{atbegshi} % define page styles using geometry \usepackage[a4paper]{geometry} % remove all possible margins \geometry{top=1cm, bottom=1cm, left=1cm, right=1cm} \usepackage{fancyhdr} \pagestyle{empty} % space between header and content % \setlength{\headheight}{0pt} % indentation is zero \setlength{\parindent}{0mm} %---------------------------------------------------------------------------------------- % TABLE /ARRAY DEFINITIONS %---------------------------------------------------------------------------------------- % extended aligning of tabular cells \usepackage{array} % custom column right-align with fixed width % use like p{size} but via x{size} \newcolumntype{x}[1]{% >{\raggedleft\hspace{0pt}}p{#1}}% %---------------------------------------------------------------------------------------- % GRAPHICS DEFINITIONS %---------------------------------------------------------------------------------------- %for header image \usepackage{graphicx} % use this for floating figures % \usepackage{wrapfig} % \usepackage{float} % \floatstyle{boxed} % \restylefloat{figure} %for drawing graphics \usepackage{tikz} \usepackage{ragged2e} \usetikzlibrary{shapes, backgrounds,mindmap, trees} %---------------------------------------------------------------------------------------- % Bibliography %---------------------------------------------------------------------------------------- $if(csl-refs)$ \newlength{\cslhangindent} \setlength{\cslhangindent}{1.5em} \newlength{\csllabelwidth} \setlength{\csllabelwidth}{3em} \newlength{\cslentryspacingunit} % times entry-spacing \setlength{\cslentryspacingunit}{\parskip} \newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing {% don't indent paragraphs \setlength{\parindent}{0pt} % turn on hanging indent if param 1 is 1 \ifodd #1 \let\oldpar\par \def\par{\hangindent=\cslhangindent\oldpar} \fi % set entry spacing \setlength{\parskip}{#2\cslentryspacingunit} }% {} \usepackage{calc} \newcommand{\CSLBlock}[1]{#1\hfill\break} \newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} \newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break} \newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} $endif$ $if(biblio-config)$ $if(natbib)$ \usepackage[$natbiboptions$]{natbib} \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} $endif$ $if(biblatex)$ \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} $for(bibliography)$ \addbibresource{$bibliography$} $endfor$ $endif$ $endif$ $if(nocite-ids)$ \nocite{$for(nocite-ids)$$it$$sep$, $endfor$} $endif$ %---------------------------------------------------------------------------------------- % Color DEFINITIONS %---------------------------------------------------------------------------------------- \usepackage{transparent} \usepackage{color} % primary color \definecolor{maincol}{HTML}{$cvcolor.main$} % accent color, secondary % \definecolor{accentcol}{RGB}{ 250, 150, 10 } % dark color \definecolor{darkcol}{RGB}{ 70, 70, 70 } % light color \definecolor{lightcol}{RGB}{245,245,245} \definecolor{accentcol}{HTML}{$cvcolor.accent$} % Package for links, must be the last package used \usepackage[hidelinks]{hyperref} % returns minipage width minus two times \fboxsep % to keep padding included in width calculations % can also be used for other boxes / environments \newcommand{\mpwidth}{\linewidth-\fboxsep-\fboxsep} %============================================================================% % % CV COMMANDS % %============================================================================% %---------------------------------------------------------------------------------------- % CV LIST %---------------------------------------------------------------------------------------- % renders a standard latex list but abstracts away the environment definition (begin/end) \newcommand{\cvlist}[1] { \begin{itemize}{#1}\end{itemize} } %---------------------------------------------------------------------------------------- % CV TEXT %---------------------------------------------------------------------------------------- % base class to wrap any text based stuff here. Renders like a paragraph. % Allows complex commands to be passed, too. % param 1: *any \newcommand{\cvtext}[1] { \begin{tabular*}{1\mpwidth}{p{0.98\mpwidth}} \parbox{1\mpwidth}{#1} \end{tabular*} } \newcommand{\cvtextsmall}[1] { \begin{tabular*}{0.8\mpwidth}{p{0.8\mpwidth}} \parbox{0.8\mpwidth}{#1} \end{tabular*} } %---------------------------------------------------------------------------------------- % CV SECTION %---------------------------------------------------------------------------------------- % Renders a a CV section headline with a nice underline in main color. % param 1: section title \newlength{\barw} \newcommand{\cvsection}[1] { \vspace{14pt} \settowidth{\barw}{\textbf{\LARGE #1}} \cvtext{ \textbf{\LARGE{\textcolor{darkcol}{#1}}}\\[-4pt] \textcolor{accentcol}{ \rule{\barw}{1.5pt} } \\ } } \newcommand{\cvsubsection}[1] { \vspace{14pt} \settowidth{\barw}{\textbf{\Large #1}} \cvtext{ \textbf{\Large{\textcolor{darkcol}{#1}}}\\[-4pt] \textcolor{accentcol}{ \rule{\barw}{1.5pt} } \\ } } \newcommand{\cvheadline}[1] { \vspace{16pt} \cvtext{ \textbf{\Huge{\textcolor{accentcol}{#1}}}\\[-4pt] } } \newcommand{\cvsubheadline}[1] { \vspace{16pt} \cvtext{ \textbf{\huge{\textcolor{darkcol}{#1}}}\\[-4pt] } } %---------------------------------------------------------------------------------------- % META KEYWorDS %---------------------------------------------------------------------------------------- % Renders a progress-bar to indicate a certain skill in percent. % param 1: name of the skill / tech / etc. % param 2: level (for example in years) % param 3: percent, values range from 0 to 1 \newcommand{\cvkeywords}[3] { \begin{tabular*}{1\mpwidth}{p{0.72\mpwidth} r} \textcolor{black}{\textbf{#1}} & \textcolor{maincol}{#2}\\ \end{tabular*}% \hspace{4pt} \begin{tikzpicture}[scale=1,rounded corners=2pt,very thin] \fill [lightcol] (0,0) rectangle (1\mpwidth, 0.15); \fill [accentcol] (0,0) rectangle (#3\mpwidth, 0.15); \end{tikzpicture}% } %---------------------------------------------------------------------------------------- % META SKILL %---------------------------------------------------------------------------------------- % Renders a progress-bar to indicate a certain skill in percent. % param 1: name of the skill / tech / etc. % param 2: level (for example in years) % param 3: percent, values range from 0 to 1 \newcommand{\cvskill}[3] { \begin{tabular*}{1\mpwidth}{p{0.72\mpwidth} r} \textcolor{black}{\textbf{#1}} & \textcolor{maincol}{#2}\\ \end{tabular*}% \hspace{4pt} \begin{tikzpicture}[scale=1,rounded corners=2pt,very thin] \fill [lightcol] (0,0) rectangle (1\mpwidth, 0.15); \fill [accentcol] (0,0) rectangle (#3\mpwidth, 0.15); \end{tikzpicture}% } %---------------------------------------------------------------------------------------- % CV EVENT %---------------------------------------------------------------------------------------- % Renders a table and a paragraph (cvtext) wrapped in a parbox (to ensure minimum content % is glued together when a pagebreak appears). % Additional Information can be passed in text or list form (or other environments). % the work you did % param 1: time-frame i.e. Sep 14 - Jan 15 etc. % param 2: event name (job position etc.) % param 3: Customer, Employer, Industry % param 4: Short description % param 5: work done (optional) % param 6: technologies include (optional) % param 7: achievements (optional) \newcommand{\cvevent}[4] { % we wrap this part in a parbox, so title and description are not separated on a pagebreak % if you need more control on page breaks, remove the parbox \parbox{\mpwidth}{ \begin{tabular*}{1\mpwidth}{p{0.66\mpwidth} r} \textcolor{black}{\textbf{#2}} & \colorbox{accentcol}{\makebox[0.32\mpwidth]{\textcolor{white}{\textbf{#1}}}} \\ \textcolor{maincol}{#3} & \\ \end{tabular*}\\[1pt] \ifthenelse{\isempty{#4}}{}{ \cvtext{#4}\\ } } \vspace{14pt} } \newcommand{\cvproj}[4] { % we wrap this part in a parbox, so title and description are not separated on a pagebreak % if you need more control on page breaks, remove the parbox \parbox{\mpwidth}{ \begin{tabular*}{1\mpwidth}{p{0.66\mpwidth} r} \textcolor{black}{\textbf{#2, #4}} & \colorbox{accentcol}{\makebox[0.32\mpwidth]{\textcolor{white}{\textbf{#1}}}} \\ \textcolor{maincol}{#3} & \\ \end{tabular*} } \vspace{14pt} } \newcommand{\cvaward}[4] { % we wrap this part in a parbox, so title and description are not separated on a pagebreak % if you need more control on page breaks, remove the parbox \parbox{\mpwidth}{ \begin{tabular*}{1\mpwidth}{p{0.66\mpwidth} r} \textcolor{black}{\textbf{#2, #4}} & \colorbox{accentcol}{\makebox[0.32\mpwidth]{\textcolor{white}{\textbf{#1}}}} \\ \textcolor{maincol}{#3} & \\ \end{tabular*} } \vspace{14pt} } %---------------------------------------------------------------------------------------- % CV META EVENT %---------------------------------------------------------------------------------------- % Renders a CV event on the sidebar % param 1: title % param 2: subtitle (optional) % param 3: customer, employer, etc,. (optional) % param 4: info text (optional) \newcommand{\cvmetaevent}[4] { \textcolor{maincol} { \cvtext{\textbf{\begin{flushleft}#1\end{flushleft}}}} \ifthenelse{\isempty{#2}}{}{ \textcolor{black} {\cvtext{\textbf{#2}} } } \ifthenelse{\isempty{#3}}{}{ \cvtext{{ \textcolor{maincol} {#3} }}\\ } \cvtext{#4}\\[14pt] } %--------------------------------------------------------------------------------------- % QR CODE %---------------------------------------------------------------------------------------- % Renders a qrcode image (centered, relative to the parentwidth) % param 1: percent width, from 0 to 1 \newcommand{\cvqrcode}[1] { \begin{center} \includegraphics[width={#1}\mpwidth]{qrcode} \end{center} } % HEADER AND FOOOTER %==================================== \newcommand\Header[1]{% \begin{tikzpicture}[remember picture,overlay] \fill[accentcol] (current page.north west) -- (current page.north east) -- ([yshift=50pt]current page.north east|-current page text area.north east) -- ([yshift=50pt,xshift=-3cm]current page.north|-current page text area.north) -- ([yshift=10pt,xshift=-5cm]current page.north|-current page text area.north) -- ([yshift=10pt]current page.north west|-current page text area.north west) -- cycle; \node[font=\sffamily\bfseries\color{white},anchor=west, xshift=0.7cm,yshift=-0.32cm] at (current page.north west) {\fontsize{12}{12}\selectfont {#1}}; \end{tikzpicture}% } \newcommand\Footer[1]{% \begin{tikzpicture}[remember picture,overlay] \fill[lightcol] (current page.south east) -- (current page.south west) -- ([yshift=-80pt]current page.south east|-current page text area.south east) -- ([yshift=-80pt,xshift=-6cm]current page.south|-current page text area.south) -- ([xshift=-2.5cm,yshift=-10pt]current page.south|-current page text area.south) -- ([yshift=-10pt]current page.south east|-current page text area.south east) -- cycle; \node[yshift=0.32cm,xshift=9cm] at (current page.south) {\fontsize{10}{10}\selectfont \textbf{\thepage}}; \end{tikzpicture}% } %===================================== %============================================================================% % % % % DOCUMENT CONTENT % % % %============================================================================% \begin{document} \columnratio{0.31} \setlength{\columnsep}{2.2em} \setlength{\columnseprule}{4pt} \colseprulecolor{white} % LEBENSLAUF HIERE \AtBeginShipoutFirst{\Header{CV}\Footer{1}} \AtBeginShipout{\AtBeginShipoutAddToBox{\Header{CV}\Footer{2}}} \newpage \colseprulecolor{lightcol} \columnratio{0.31} \setlength{\columnsep}{2.2em} \setlength{\columnseprule}{4pt} \begin{paracol}{2} \begin{leftcolumn} %--------------------------------------------------------------------------------------- % META IMAGE %---------------------------------------------------------------------------------------- $if(sidebar.image)$ \includegraphics[width=\linewidth]{$sidebar.image$} $endif$ \fcolorbox{white}{white}{\begin{minipage}[c][1.5cm][c]{1\mpwidth} \Large{\textbf{\textcolor{maincol}{$author$ ($jobtitle$)}}} \\[2pt] \Large{ \textbf{\textcolor{maincol}{@$institute$}}} \end{minipage}}\\[4pt] $if(sidebar.area)$ \cvsection{Research Area} \large{$sidebar.area$} \\[2pt] $endif$ %--------------------------------------------------------------------------------------- % META SKILLS %---------------------------------------------------------------------------------------- $for(sidebar.bullets)$ \icontext{caret-right}{12}{$it$}\\[6pt] $endfor$ $for(sidebar.sections)$ \cvsection{$sidebar.sections.name$} $for(sidebar.sections.items)$ $if(sidebar.sections.items.exp)$ \cvskill{$sidebar.sections.items.text$}{$sidebar.sections.items.exp.text$}{$sidebar.sections.items.exp.num$} \\[10pt] $elseif(sidebar.sections.items.inst)$ \cvmetaevent{$sidebar.sections.items.time$}{$sidebar.sections.items.text$}{$sidebar.sections.items.inst$}{$sidebar.sections.items.details$} $elseif(sidebar.sections.items.href)$ \iconhref{$sidebar.sections.items.icon$}{16}{$sidebar.sections.items.text$}{$sidebar.sections.items.href$}\\[6pt] $elseif(sidebar.sections.items.icon)$ \icontext{$sidebar.sections.items.icon$}{16}{$sidebar.sections.items.text$}\\[6pt] $else$ \icontext{caret-right}{12}{$it$}\\[6pt] $endif$ $endfor$ $endfor$ \cvsection{Welcome} $if(sidebar.recruitmentad)$ \textcolor{maincol}{$sidebar.recruitmentad$}\\[6pt] $endif$ $if(sidebar.contact)$ \includegraphics[width=0.9\linewidth]{$sidebar.contact$} $endif$ $if(sidebar.wechat)$ \includegraphics[width=0.9\linewidth]{$sidebar.wechat$} $endif$ \cvtext{Updated on $sidebar.updatetime$.} \end{leftcolumn} \begin{rightcolumn} $body$ $biblio.tex()$ \end{rightcolumn} \end{paracol} \end{document}