diff --git a/external/cv-04-2026.tex b/external/cv-04-2026.tex new file mode 100644 index 0000000..1e1671b --- /dev/null +++ b/external/cv-04-2026.tex @@ -0,0 +1,245 @@ +% a mashup of hipstercv, friggeri and twenty cv +% adapted with project-specific content + +\documentclass[lighthipster]{simplehipstercv} +% available options are: darkhipster, lighthipster, pastel, allblack, grey, verylight, withoutsidebar + +\usepackage[utf8]{inputenc} +\usepackage[default]{raleway} +\usepackage[german]{babel} +\usepackage[margin=1cm, a4paper]{geometry} +\usepackage{enumitem} +\makeatletter +\AddToHook{shipout/background}{% + \begin{tikzpicture}[remember picture,overlay] + \fill[fill=black!10] + (current page.north west) + rectangle + ([xshift=\dimexpr 1in+\hoffset+\oddsidemargin+\leftcolwidth+0.5\columnsep\relax]current page.south west); + \end{tikzpicture}% +} +\makeatother + +%------------------------------------------------------------------ Variablen + +\newlength{\rightcolwidth} +\newlength{\leftcolwidth} +\setlength{\leftcolwidth}{0.212\textwidth} +\setlength{\rightcolwidth}{0.75\textwidth} + +%------------------------------------------------------------------ +\title{Marcus Jan Almert - CV} +\author{Marcus Jan Almert} +\date{April 2026} + +\pagestyle{empty} + +\newcommand{\cvblock}[4]{% + #1 & \textbf{#2}\newline + \textsc{#3}\newline + {\color{black!70}\footnotesize + \begin{minipage}[t]{0.97\linewidth} + \begin{itemize}[leftmargin=1.2em,nosep] + #4 + \end{itemize} + \end{minipage}}\vspace{0.5em} +} + +\newcommand{\cvdegreeplain}[4]{% + #1 & \textbf{#2}\newline + \textsc{#3}\newline + {\color{black!70}\footnotesize #4}\vspace{0.2em} +} + +\newcommand{\projectrole}[3]{% + \item \textbf{#1} (#2) + \begin{itemize}[leftmargin=1.2em,nosep] + #3 + \end{itemize} +} + +\begin{document} + +\thispagestyle{empty} +%------------------------------------------------------------- + +\section*{Start} + +\simpleheader{headercolour}{Marcus Jan}{Almert}{Full-Stack Softwareentwickler mit Frontend-Fokus | Softwarearchitekt | Senior IT-Berater}{white} + +%------------------------------------------------ + +\subsection*{} +\vspace{3.5em} + +\setlength{\columnsep}{1.5cm} +\columnratio{0.23}[0.75] +\begin{paracol}{2} +\hbadness5000 + +\paracolbackgroundoptions + +\footnotesize +{\setasidefontcolour +\flushright +\begin{center} +\roundpic{bewerbungsfoto.png} +\end{center} + +%\bg{cvgreen}{white}{Über mich}\\[0.5em] +%{\footnotesize +%Senior Softwareentwickler mit Fokus auf moderne und barrierefreie Frontends, skalierbare Web-Anwendungen, Cloud-Integration und technische Beratung in anspruchsvollen Fach- und Projektumfeldern.} +\medskip + +\bg{cvgreen}{white}{Adressinformationen}\\[0.5em] +Marcus Jan Almert +Wolfgang-Borchert-Bogen 12 +99423, Weimar + +\bigskip + +\bg{cvgreen}{white}{E-Mail}\\[0.5em] +\href{mailto:marcus.almert@gmail.com}{marcus.almert@gmail.com} + +\bigskip + +\bg{cvgreen}{white}{Schwerpunkte}\\[0.5em] +Full-Stack-Entwicklung mit Frontend-Fokus + +Software-Architektur + +Testing + +IT-Sicherheit + +\bigskip + +\bg{cvgreen}{white}{Zertifikate}\\[0.5em] +Professional Scrum Master I (PSM I) + +ISAQB Certified Professional for Software Architecture (CPSA-F) +\bigskip + +\bg{cvgreen}{white}{Sprachen}\\[0.5em] +Deutsch: Muttersprache + +Englisch: C1 + +\bigskip + + +} +%----------------------------------------------------------- +\switchcolumn + +\small +\section*{Kurzprofil} + +Softwareentwickler und Softwarearchitekt mit breiter Erfahrung in Frontend- und Backend-Entwicklung mit TypeScript, JavaScript, React, Python, C++ und Java. Routine in agiler Produktentwicklung, cloudbasierten Systemen, Testing und IT-Sicherheit in kundenorientierten Projekten im Public Sector, im Automotive-Umfeld und im universitären Forschungsbetrieb. +\vspace{0.7em} + +\section*{Berufserfahrung} +\begin{tabular}{r| p{0.72\linewidth}} + \noalign{\vspace{0.1em}} + \multicolumn{2}{l}{\textbf{CGI Deutschland B.V. \& Co. KG -- Senior IT-Consultant (Vollzeit)}}\\ + \noalign{\vspace{0.35em}} + \cvblock{03/2024--heute}{Softwarearchitekt}{E-Gesetzgebungsplattform Bundestag}{ + \projectrole{Senior Frontend-Entwickler}{03/2024--12/2024}{ + \item Frontend-Entwicklung für die elektronische Gesetzgebungsplattform des Bundestags mit TypeScript und React + \item Implementierung generischer Komponenten + \item Umsetzung von Barrierefreiheit gemäß BITV 2.0 + \item Aufbau und Pflege von Unit-, Integrations-, Barrierefreiheits- und E2E-Tests mit Selenium, Nightwatch und Axe-core + } + \projectrole{Lead-Entwickler Frontend}{01/2025--02/2026}{ + \item Technische Führung im Frontend + \item Implementierung von komplexen Features und technischen Durchstichen + \item Ansprechpartner für Frontend- und Integrationsfragen im Projekt + \item Zusammenarbeit mit UI/UX-Team + \item Bearbeitung von teamübergreifenden technischen Fragestellungen + \item Anpassungen von REST APIs und Zusammenarbeit mit Backend-Team + } + \projectrole{Softwarearchitekt}{03/2026--heute}{ + \item Architekturarbeit im Frontend, Backend und Testautomatisierung + \item Präsentation fachlicher und technischer Themen vor Kunden und Stakeholdern + \item Requirements Engineering, technische Beratung und Abstimmung mit Kunden und Stakeholdern + \item Verfassen von technischen Dokumentationen und Reports + \item Erarbeiten und Dokumentieren von Architekturentscheidungen, -prinzipien und -richtlinien gemäß arc4 + } + } \\ + \cvblock{01/2023--03/2024}{Senior Frontend-Entwickler}{Automotive-Projekt}{ + \item Entwicklung einer Data-Explorer- und Visualisierungsanwendung mit React \& TypeScript in einer Microservice-Architektur in AWS + \item Verantwortung für Frontend-Architektur und Implementierung und Integration eines AWS-basierten Backends mit Python und REST APIs mit S3, Lambda, API Gateway und DynamoDB + \item Aufbau von AWS-CI/CD-Pipelines mit CodeCommit, CodeBuild und CodePipeline + \item Requirements Engineering, technische Beratung sowie Kundenabstimmung und Präsentation + } \\ + \noalign{\vspace{0.35em}} + \multicolumn{2}{l}{\textbf{Bauhaus-Universität Weimar -- Hilfswissenschaftlicher Mitarbeiter (Teilzeit)}}\\ + \noalign{\vspace{0.35em}} + \cvblock{12/2021--04/2024}{Softwareentwickler / Server-Admin}{Professur für Informationssicherheit und Kryptographie}{ + \item Entwicklung interner Tools und Anwendungen + \item Pflege der Lehrstuhl-Website + \item Administration von Lehrstuhl-Servern auf Basis von Proxmox und Kubernetes + \item Umsetzung von Kryptografie-Referenzimplementierungen in C++ + } \\ + \cvblock{10/2021--04/2024}{Softwareentwickler / Architekt}{Professur für Informationssicherheit und Kryptographie / Professur Algorithm Engineering}{ + \item Software-Architektur, technische Konzeption und Entwicklung in Projekten im IT-Security-Umfeld + \item Leitung von studentischen Projektteams + } \\ + \cvblock{10/2021--04/2022}{Tutor / Übungsleiter}{Professur für Intelligente Softwaresysteme}{ + \item Betreuung von Software-Engineering- und Programmierungsvorlesungen in Python, Java und C++ + \item Entwicklung von Übungsaufgaben, Musterlösungen und Korrekturen + } +\end{tabular} +\vspace{0.8em} + +\begin{minipage}[t]{0.45\linewidth} +\section*{Ausbildung} +\begin{tabular}{r p{0.75\linewidth}} + \cvdegreeplain{}{M.Sc. Computer Science for Digital Media}{Bauhaus-Universität Weimar}{2023 bis vsl. 10/2026 (Nebenberuflich)} \\ + \cvdegreeplain{}{B.Sc. Medieninformatik}{Bauhaus-Universität Weimar}{2018 bis 2023} \\ +\end{tabular} +\end{minipage}\hfill +\begin{minipage}[t]{0.43\linewidth} +\section*{Zertifikate} +\begin{tabular}{>{\footnotesize\bfseries}r >{\footnotesize}p{0.58\linewidth}} + PSM I & Professional Scrum Master I \\ + CPSA-F & Certified Professional for Software Architecture +\end{tabular} +\end{minipage} +\bigskip + +\begin{minipage}[t]{0.45\linewidth} +\section*{Kernkompetenzen} +\begin{tabular}{>{\footnotesize\bfseries}r >{\footnotesize}p{0.8\linewidth}} + Frontend & React, TypeScript, JavaScript, HTML, CSS, LESS, Barrierefreiheit \\ + Backend & Python, Java, Spring Boot, C++, Node.js, REST APIs \\ + Testing & Jest, Vitest, Selenium, Nightwatch, Axe-core, PyTest, JUnit, Catch2 \\ + DevOps & AWS, Docker, Linux, Jenkins, Git, CI/CD, SonarQube\\ +\end{tabular} +\end{minipage}\hfill +\begin{minipage}[t]{0.45\linewidth} +\section*{Sprachen} +\begin{tabular}{l | ll} +\textbf{Deutsch} & {\phantom{x}\footnotesize Muttersprache} \\ +\textbf{Englisch} & {\phantom{x}\footnotesize C1}\\% \pictofraction{\faCircle}{cvgreen}{3}{black!30}{1}{\tiny} +\end{tabular} +\end{minipage} + + +\vspace{1em} +\vfill{} % Whitespace before final footer + +%---------------------------------------------------------------------------------------- +% FINAL FOOTER +%---------------------------------------------------------------------------------------- +%\setlength{\parindent}{0pt} +%\begin{minipage}[t]{\linewidth} +%\begin{center}\fontfamily{\sfdefault}\selectfont \color{black!70} +%{\small Marcus Jan Almert \icon{\faMapMarker}{cvgreen}{} Weimar, Deutschland \icon{\faPhone}{cvgreen}{} +49 ... ... ... \newline\icon{\faAt}{cvgreen}{} \protect\url{marcus.almert@example.com} \icon{\faLinkedin}{cvgreen}{} marcus-almert \icon{\faGithub}{cvgreen}{} marcusalmert +%} +%\end{center} +%\end{minipage} + +\end{paracol} + +\end{document} diff --git a/external/simplehipstercv.cls b/external/simplehipstercv.cls new file mode 100644 index 0000000..81db406 --- /dev/null +++ b/external/simplehipstercv.cls @@ -0,0 +1,339 @@ + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{simplehipstercv}[2019/06/22 A New Simple CV Template] + +\LoadClass[]{article} +\RequirePackage{xcolor} + +\definecolor{headercolour}{rgb}{0.25,0.25,0.25} +%------------------------------------------------------- +\definecolor{materialpurple}{HTML}{9C27B0} +\definecolor{materialindigo}{HTML}{3F51B5} +\definecolor{materialblue}{HTML}{2196F3} +\definecolor{materialcyan}{HTML}{00BCD4} +\definecolor{materialteal}{HTML}{009688} +\definecolor{materialgreen}{HTML}{4CAF50} +\definecolor{materiallime}{HTML}{CDDC39} +\definecolor{materialamber}{HTML}{FFC107} +\definecolor{materialbrown}{HTML}{795548} +\definecolor{materialred}{HTML}{FF4436} +\definecolor{materialorange}{HTML}{FF5722} +\definecolor{pblue}{HTML}{0395DE} +\newcommand{\iconsize}{\huge} +% --------------------------------------------------------------------------- +\DeclareOption{darkhipster}{ +% Farben +\definecolor{headerblue}{HTML}{2EB6E1}% +\definecolor{cvorange}{HTML}{FFC300} +\definecolor{cvpurple}{HTML}{B32EE1} +\colorlet{headercolour}{black!90} + +\definecolor{cvred}{HTML}{E1592E} +\definecolor{cvgreen}{HTML}{5DE12E} + +\colorlet{cvgreen}{cvred} +\colorlet{cvpurple}{headerblue} + +% TIMELINE +\definecolor{timelinecolour}{HTML}{414B96} %#660022 +\definecolor{jackbeige}{RGB}{226,212,186} + + +\newcommand{\paracolbackgroundoptions}{ +%\backgroundcolor{c[1]}[rgb]{1,1,0.8} % cream yellow for column-1 %\backgroundcolor{g}[rgb]{0.8,1,1} % \backgroundcolor{l}[rgb]{0,0,0.7} % dark blue for left margin + +\backgroundcolor{c[0](4pt,4pt)(0.5\columnsep,4pt)}[rgb]{0.25,0.25,0.25} +\backgroundcolor{c[1](0.5\columnsep,4pt)(4pt,4pt)}[rgb]{1,1,1} +\backgroundcolor{C[0](10000pt,10000pt)(0.5\columnsep,10000pt)}[rgb]{0.25,0.25,0.25} +\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[rgb]{1,1,1} + +% 0.9,0.9,0.9 -- 0.8,0.8,0.8 +} +\newcommand{\setasidefontcolour}{ +\color{white} +} + +\definecolor{labelcolour}{HTML}{FFFFFF} +\definecolor{iconcolour}{HTML}{000000} +\definecolor{headerfontbox}{HTML}{000000} +\definecolor{headerfontboxfont}{HTML}{FFFFFF} +\definecolor{skilllabelcolour}{HTML}{b3b3b3} +} +% --------------------------------------------------------------------------- +\DeclareOption{lighthipster}{ +% Farben +\definecolor{headerblue}{HTML}{2EB6E1}% +\definecolor{cvorange}{HTML}{FFC300} +\definecolor{cvpurple}{HTML}{B32EE1} + +\definecolor{cvred}{HTML}{E1592E} +\definecolor{cvgreen}{HTML}{5DE12E} +\colorlet{cvgreen}{headerblue} +\colorlet{cvpurple}{cvred} + +% TIMELINE +\definecolor{timelinecolour}{HTML}{414B96} %#660022 +\definecolor{jackbeige}{RGB}{226,212,186} + +\newcommand{\paracolbackgroundoptions}{ +\backgroundcolor{c[0](0pt,0pt)(0.5\columnsep,0pt)}[rgb]{0.9,0.9,0.9} +\backgroundcolor{c[1](0.5\columnsep,0pt)(0pt,0pt)}[rgb]{1,1,1} +\backgroundcolor{C[0](0pt,0pt)(0.5\columnsep,0pt)}[rgb]{0.9,0.9,0.9} +\backgroundcolor{C[1](0.5\columnsep,0pt)(0pt,0pt)}[rgb]{1,1,1} +} +\newcommand{\setasidefontcolour}{ +\color{black} +} +\definecolor{labelcolour}{HTML}{000000} +\definecolor{iconcolour}{HTML}{000000} +\definecolor{headerfontbox}{HTML}{000000} +\definecolor{headerfontboxfont}{HTML}{FFFFFF} +\definecolor{skilllabelcolour}{HTML}{b3b3b3} +} +% --------------------------------------------------------------------------- +\DeclareOption{pastel}{ +% Farben +\definecolor{headerblue}{HTML}{6978B6}% +\definecolor{cvorange}{HTML}{FFC300} +\definecolor{cvpurple}{HTML}{B66978} + +\definecolor{cvred}{HTML}{B66978} +\definecolor{cvgreen}{HTML}{78B669} + + +% TIMELINE +\definecolor{timelinecolour}{HTML}{414B96} %#660022 +\definecolor{jackbeige}{RGB}{226,212,186} + +\newcommand{\paracolbackgroundoptions}{ +\backgroundcolor{c[0](4pt,4pt)(0.5\columnsep,4pt)}[rgb]{0.9,0.9,0.9} +\backgroundcolor{c[1](0.5\columnsep,4pt)(4pt,4pt)}[rgb]{1,1,1} +\backgroundcolor{C[0](10000pt,10000pt)(0.5\columnsep,10000pt)}[rgb]{0.9,0.9,0.9} +\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[rgb]{1,1,1} +} + +\newcommand{\setasidefontcolour}{ +\color{black} +} +\definecolor{labelcolour}{HTML}{000000} +\definecolor{iconcolour}{HTML}{000000} +\definecolor{headerfontbox}{HTML}{000000} +\definecolor{headerfontboxfont}{HTML}{FFFFFF} +\definecolor{skilllabelcolour}{HTML}{b3b3b3} +} + +% --------------------------------------------------------------------------- +\DeclareOption{allblack}{ +% Farben +\definecolor{headerblue}{HTML}{000000}% +\definecolor{cvorange}{HTML}{000000} +\definecolor{cvpurple}{HTML}{000000} + +\definecolor{cvred}{HTML}{000000} +\definecolor{cvgreen}{HTML}{000000} + +\colorlet{headercolour}{black!90} + + +% TIMELINE +\definecolor{timelinecolour}{HTML}{414B96} %#660022 +\definecolor{jackbeige}{RGB}{226,212,186} + +\newcommand{\paracolbackgroundoptions}{ +\backgroundcolor{c[0](4pt,4pt)(0.5\columnsep,4pt)}[rgb]{1,1,1} +\backgroundcolor{c[1](0.5\columnsep,4pt)(4pt,4pt)}[rgb]{1,1,1} +\backgroundcolor{C[0](10000pt,10000pt)(0.5\columnsep,10000pt)}[rgb]{1,1,1} +\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[rgb]{1,1,1} +} + +\newcommand{\setasidefontcolour}{ +\color{black} +} +\definecolor{labelcolour}{HTML}{000000} +\definecolor{iconcolour}{HTML}{FFFFFF} +\definecolor{headerfontbox}{HTML}{FFFFFF} +\definecolor{headerfontboxfont}{HTML}{000000} +\definecolor{skilllabelcolour}{HTML}{000000} + +%------------------------------------------------------- +\definecolor{darkgrey}{HTML}{b3b3b3} +\colorlet{materialpurple}{darkgrey} +\colorlet{materialindigo}{darkgrey} +\colorlet{materialblue}{darkgrey} +\colorlet{materialcyan}{darkgrey} +\colorlet{materialteal}{darkgrey} +\colorlet{materialgreen}{darkgrey} +\colorlet{materiallime}{darkgrey} +\colorlet{materialamber}{darkgrey} +\colorlet{materialbrown}{darkgrey} +\colorlet{materialred}{darkgrey} +\colorlet{materialorange}{darkgrey} +\colorlet{pblue}{darkgrey} +\colorlet{orange}{darkgrey} +\colorlet{green}{darkgrey} + +\renewcommand{\iconsize}{\Large} +} +% --------------------------------------------------------------------------- +\DeclareOption{grey}{ +% Farben +\colorlet{headercolour}{black!50} +\definecolor{headerblue}{HTML}{212F3D}% +\definecolor{cvorange}{HTML}{b3b3b3} +\definecolor{cvpurple}{HTML}{b3b3b3} + +\definecolor{cvred}{HTML}{b3b3b3} +\colorlet{cvgreen}{black!50} + + +% TIMELINE +\definecolor{timelinecolour}{HTML}{414B96} %#660022 +\definecolor{jackbeige}{RGB}{226,212,186} + + +\newcommand{\paracolbackgroundoptions}{ +\backgroundcolor{c[0](4pt,4pt)(0.5\columnsep,4pt)}[rgb]{1,1,1} +\backgroundcolor{c[1](0.5\columnsep,4pt)(4pt,4pt)}[rgb]{1,1,1} +\backgroundcolor{C[0](10000pt,10000pt)(0.5\columnsep,10000pt)}[rgb]{1,1,1} +\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[rgb]{1,1,1} +} + +\newcommand{\setasidefontcolour}{ +\color{black} +} +\definecolor{labelcolour}{HTML}{FFFFFF} +\definecolor{iconcolour}{HTML}{FFFFFF} +\definecolor{headerfontbox}{HTML}{000000} +\definecolor{headerfontboxfont}{HTML}{FFFFFF} +\definecolor{skilllabelcolour}{HTML}{212F3D} +%black!30 + +%------------------------------------------------------- +\definecolor{darkgrey}{HTML}{b3b3b3} +\colorlet{materialpurple}{darkgrey} +\colorlet{materialindigo}{darkgrey} +\colorlet{materialblue}{darkgrey} +\colorlet{materialcyan}{darkgrey} +\colorlet{materialteal}{darkgrey} +\colorlet{materialgreen}{darkgrey} +\colorlet{materiallime}{darkgrey} +\colorlet{materialamber}{darkgrey} +\colorlet{materialbrown}{darkgrey} +\colorlet{materialred}{darkgrey} +\colorlet{materialorange}{darkgrey} +\colorlet{pblue}{darkgrey} +\colorlet{orange}{darkgrey} +\colorlet{green}{darkgrey} + +\renewcommand{\iconsize}{\Large} +} + +% --------------------------------------------------------------------------- +\DeclareOption{verylight}{ +% Farben +\definecolor{headerblue}{HTML}{b3b3b3}% +\definecolor{cvorange}{HTML}{b3b3b3} +\definecolor{cvpurple}{HTML}{b3b3b3} + +\definecolor{cvred}{HTML}{b3b3b3} +\definecolor{cvgreen}{HTML}{00b3b3} + + +% TIMELINE +\definecolor{timelinecolour}{HTML}{414B96} %#660022 +\definecolor{jackbeige}{RGB}{226,212,186} + +\newcommand{\paracolbackgroundoptions}{ +\backgroundcolor{c[0](4pt,4pt)(0.5\columnsep,4pt)}[rgb]{0.9,0.9,0.9} +\backgroundcolor{c[1](0.5\columnsep,4pt)(4pt,4pt)}[rgb]{1,1,1} +\backgroundcolor{C[0](10000pt,10000pt)(0.5\columnsep,10000pt)}[rgb]{0.9,0.9,0.9} +\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[rgb]{1,1,1} +} + +\newcommand{\setasidefontcolour}{ +\color{black} +} +\definecolor{labelcolour}{HTML}{000000} +\definecolor{iconcolour}{HTML}{FFFFFF} +\definecolor{headerfontbox}{HTML}{FFFFFF} +\definecolor{headerfontboxfont}{HTML}{000000} +\definecolor{skilllabelcolour}{HTML}{000000} + +%------------------------------------------------------- +\definecolor{darkgrey}{HTML}{b3b3b3} +\colorlet{materialpurple}{darkgrey} +\colorlet{materialindigo}{darkgrey} +\colorlet{materialblue}{darkgrey} +\colorlet{materialcyan}{darkgrey} +\colorlet{materialteal}{darkgrey} +\colorlet{materialgreen}{darkgrey} +\colorlet{materiallime}{darkgrey} +\colorlet{materialamber}{darkgrey} +\colorlet{materialbrown}{darkgrey} +\colorlet{materialred}{darkgrey} +\colorlet{materialorange}{darkgrey} +\colorlet{pblue}{darkgrey} +\colorlet{orange}{darkgrey} +\colorlet{green}{darkgrey} + +\renewcommand{\iconsize}{\Large} +} +% --------------------------------------------------------------------------- + +\DeclareOption{withoutsidebar}{ +% Farben +\definecolor{headerblue}{HTML}{b3b3b3}% +\definecolor{cvorange}{HTML}{b3b3b3} +\definecolor{cvpurple}{HTML}{b3b3b3} + +\definecolor{cvred}{HTML}{b3b3b3} +\definecolor{cvgreen}{HTML}{00b3b3} + + +% TIMELINE +\definecolor{timelinecolour}{HTML}{414B96} %#660022 +\definecolor{jackbeige}{RGB}{226,212,186} + +\newcommand{\paracolbackgroundoptions}{ +\backgroundcolor{c[0](4pt,4pt)(0.5\columnsep,4pt)}[rgb]{1,1,1} +\backgroundcolor{c[1](0.5\columnsep,4pt)(4pt,4pt)}[rgb]{1,1,1} +\backgroundcolor{C[0](10000pt,10000pt)(0.5\columnsep,10000pt)}[rgb]{1,1,1} +\backgroundcolor{C[1](0.5\columnsep,10000pt)(10000pt,10000pt)}[rgb]{1,1,1} +} + +\newcommand{\setasidefontcolour}{ +\color{black} +} +\definecolor{labelcolour}{HTML}{000000} +\definecolor{iconcolour}{HTML}{FFFFFF} +\definecolor{headerfontbox}{HTML}{FFFFFF} +\definecolor{headerfontboxfont}{HTML}{000000} +\definecolor{skilllabelcolour}{HTML}{000000} + +%------------------------------------------------------- +\definecolor{darkgrey}{HTML}{b3b3b3} +\colorlet{materialpurple}{darkgrey} +\colorlet{materialindigo}{darkgrey} +\colorlet{materialblue}{darkgrey} +\colorlet{materialcyan}{darkgrey} +\colorlet{materialteal}{darkgrey} +\colorlet{materialgreen}{darkgrey} +\colorlet{materiallime}{darkgrey} +\colorlet{materialamber}{darkgrey} +\colorlet{materialbrown}{darkgrey} +\colorlet{materialred}{darkgrey} +\colorlet{materialorange}{darkgrey} +\colorlet{pblue}{darkgrey} +\colorlet{orange}{darkgrey} +\colorlet{green}{darkgrey} + +\renewcommand{\iconsize}{\Large} +} + + + +% --------------------------------------------------------------------------- +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax + +\usepackage{simplehipstercv} diff --git a/external/simplehipstercv.sty b/external/simplehipstercv.sty new file mode 100644 index 0000000..e7d8ae7 --- /dev/null +++ b/external/simplehipstercv.sty @@ -0,0 +1,210 @@ + +\usepackage[T1]{fontenc} + +\usepackage{fontawesome} +\usepackage{hyperref} +\setlength{\parindent}{0cm} +\usepackage{paracol} +\usepackage{ifthen} + +\usepackage{tikz} +\usepackage{tikz-3dplot} +\usepackage{smartdiagram} +\usepackage{float} + +\usepackage{array} +%\setlength\extrarowheight{1.5em} % adds some spacing between the lines of the CV's tabulars +% not used here as not to interfer with other tables +\usetikzlibrary{decorations.text} +\usetikzlibrary{fadings} +\usetikzlibrary{calc} + +\usetikzlibrary{shapes.misc,positioning} +\usetikzlibrary{arrows} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{backgrounds} +\usetikzlibrary{shadings} +\usetikzlibrary{calendar} +\usetikzlibrary{er} +\usetikzlibrary{patterns} % horizontal lines, vertical lines, north east lines, north west lines, grid, crosshatch, dots, crosshatch dots, fivepointed stars, sixpointed stars, bricks +\usetikzlibrary{shapes} +\usetikzlibrary{shapes.geometric} +\usetikzlibrary{decorations} +\usetikzlibrary{topaths} + +\usepackage{graphicx} +%\usepackage[usenames, dvipsnames]{color} +% https://de.sharelatex.com/learn/Using_colours_in_LaTeX#!#Reference_guide z.B. \color{RubineRed} +%\usepackage{xcolor} + + +% avoid line overflow +\setlength{\emergencystretch}{2pt} +%--------------------------------------------------------------------------------- + +\usepackage{titlesec} % Allows creating custom \sections + +% Format of the section titles +\titleformat{\section}{ +\scshape\Large\raggedright}{}{0em}{}[\titlerule] % smallcaps, Large, continuous line - looks better if two columns, might look a bit too dramatic if just one ;) +\titlespacing{\section}{0pt}{12pt}{5pt} % Spacing around titles {}{}{} +%---------------------------------------------------- + + \newcommand{\cvkeyword}[3]{ + \colorbox{#2}{\textcolor{#3}{#1}} \phantom{}% + } + +%------------------------ +\newcommand{\cvtag}[1]{% from alta-cv: https://www.overleaf.com/latex/templates/altacv-template/trgqjpwnmtgv + \tikz[baseline]\node[draw=black!40,rounded corners,inner sep=0.4em]{\color{black!50}#1}; +} + + +%------------------- ICON Cross + +\newcommand{\iconcross}[7]{% +\begin{tikzpicture}% +\draw[ultra thick,draw=#2] (-2,-2) -- (2,2);% +\draw[ultra thick, draw=#2] (-2,2) -- (2,-2);% +\node[above=0.5em,text=#3] at (0,1) {#1 #4};% +\node[below=0.5em,text=#3] at (0,-1) {#1 #5};% +\node[right=0.5em,text=#3] at (1,0) {#1 #6};% +\node[left=0.5em,text=#3] at (-1,0) {#1 #7};% +\end{tikzpicture}% +} + + +\usepackage{smartdiagram} +%----------------------------------------------------- +% set smartdiagram colours, from: https://github.com/Johayon/Data-Scientist-Resume-LaTeX/blob/master/twentysecondcv.cls + + +%------------------------------------------------------- +\smartdiagramset{ + bubble center node font = \footnotesize, + bubble node font = \footnotesize, + % specifies the minimum size of the bubble center node + bubble center node size = 0.5cm, + % specifies the minimum size of the bubbles + bubble node size = 0.5cm, + % specifies which is the distance among the bubble center node and the other bubbles + distance center/other bubbles = 0.3cm, + % sets the distance from the text to the border of the bubble center node + distance text center bubble = 0.5cm, + % set center bubble color + bubble center node color = pblue, + % define the list of colors usable in the diagram + set color list = {materialcyan, orange, green, materialorange, materialteal, materialamber, materialindigo, materialgreen, materiallime}, + % sets the opacity at which the bubbles are shown + bubble fill opacity = 0.6, + % sets the opacity at which the bubble text is shown + bubble text opacity = 1, + description title text width=0.5cm, + description title width=0.5cm, + description width=5cm, + description text width=5cm, + descriptive items y sep =1.25, + back arrow distance = 0, + back arrow disabled = true, + border color = white +} +%------------------------------- +\newcommand{\lorem}{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.} % Dummy text + +%--------------------------------------------------- pictures +\newcommand{\roundpic}[1]{\begin{figure}[H]\tikz \draw [path picture={ \node at (path picture bounding box.center){\includegraphics[height=3.5cm]{#1}} ;}] (0,2) circle (1.7) ;\end{figure}} + +\newcommand{\squarepic}[1]{\begin{figure}[H]\tikz \draw [path picture={ \node at (path picture bounding box.center){\includegraphics[height=4cm]{#1}} ;}] (0,0) - - (-2,2) - - (0,4) - - (2,2) - - cycle ;\end{figure}} + + +%------------------------------------ pictoFraction +\newcommand{\icon}[3]{\phantom{x}{#3\color{#2}#1}\phantom{x}} +%------------------- pictogram Fraction: pictoFraction +\newcommand{\pictofraction}[6]{% +\pgfmathparse{#3 - 1}\foreach \n in {0,...,\pgfmathresult}{\icon{#1}{#2}{#6}}% +\pgfmathparse{#5 - 1}\foreach \n in {0,...,\pgfmathresult}{\icon{#1}{#4}{#6}}% +} + + + +%----------------------------------------------------- font highlighting / boxes with background color +\newcommand{\bg}[3]{\colorbox{#1}{\bfseries\color{#2}#3}} +\newcommand{\bgupper}[3]{\colorbox{#1}{\color{#2}\huge\bfseries\MakeUppercase{#3}}} + +%------------------------- Bubble Diagram +\newcommand{\bubblediagram}[1]{\smartdiagram[bubble diagram]{#1}} + + +\newcommand{\skillbubble}[2]{% +\begin{tikzpicture}% +\draw[draw=none,fill=#1] (0,0) circle (0.#2);% +\end{tikzpicture}% +} + +\newcommand{\hobbyicon}[5]{% +\begin{tikzpicture}% +\draw[draw=none,fill=#3] (0,0) circle (0.5);% +\node[](icon) at (0,0) {#4#1};% +\node[below=#5,align=center] at (icon) {#2};% +\end{tikzpicture} +} + + + +%-------------------------------------------- rules / separators + +\newcommand{\dashrule}[2]{\begin{figure}[H]\begin{minipage}[t]{#1\textwidth}\tikz \draw[loosely dashed,#2] (0pt,0pt) -- (\textwidth,0pt);\end{minipage}\end{figure}} + +\newcommand{\dotrule}[2]{\begin{figure}[H]\begin{minipage}[t]{#1\textwidth}\tikz \draw[loosely dotted, ultra thick,#2] (0,0) -- (\textwidth,0);\end{minipage}\end{figure}} + + +%------------------------------------------------------- + + + + +\newcommand{\event}[5]{% +{% +\draw[draw=black, line width=0.2em,anchor=west] (0,#1) -- (#5,#1);% +\node[fill=#2,right,inner sep=0.5em] at (#5,#1) {\textbf{#3}~~#4 };% +} % startpunkt #1. Farbe #2, Detaildatum #3, Beschreibung #4, Entfernung von Timeline #5 +} + +%--------------------------------------------------------- +\newcommand{\barrule}[3]{\hspace{0.5em} +{\color{#3}\rule[\baselineskip]{#1\textwidth}{#2}}\vspace{0.5em} +} + +\newcommand{\cvevent}[6]{{#1} & \textbf{#2}\newline\textsc{#3} $\cdot$ {#4 ~\faMapMarker}\newline{\color{black!70}\footnotesize #5}\vspace{1.5em} & \raisebox{-0.7\height}{\includegraphics[height=1cm]{#6}}} + +\newcommand{\cvdegree}[6]{{#1} & \textbf{#2}\newline\textsc{#3} $\cdot$ {#4 {\phantom{i}\footnotesize ~\faUniversity}}\newline{\color{black!70}\scriptsize #5}\vspace{0.5em} & \raisebox{-0.7\height}{\includegraphics[height=0.5cm]{#6}}} + + + + + + + + +% ----------------------------------------------------------------------------------- + +\newcommand{\simpleheader}[5]{ +\tikz[remember picture,overlay] {% +\node[rectangle, fill=#1, anchor=north, minimum width=\paperwidth, minimum height=3.5cm](header) at (current page.north){};% +\node[draw=none, align=left](name) at (header) {% +{\Huge \color{#5} #2 \textbf{#3} }% +};% +\node[draw=none, below](description) at (name.south) {\color{white}#4};% +}\vspace{-0.7cm}% +} + + +\newcommand{\infobubble}[4]{ +\scalebox{1.3}{ +\begin{tikzpicture} +\draw[draw=#2,fill=#2] (0,0) circle (0.2cm); +\node[] at (0,0) {\color{#3}\textbf{#1}}; +\node[right=0.2cm] at (0,0) {\texttt{#4}}; +\end{tikzpicture} +} +}