%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Developer CV % LaTeX Class % Version 1.0 (28/1/19) % % This class originates from: % http://www.LaTeXTemplates.com % % Authors: % Jan Vorisek (jan@vorisek.me) % Based on a template by Jan Küster (info@jankuester.com) % Modified for LaTeX Templates by Vel (vel@LaTeXTemplates.com) % % License: % The MIT License (see included LICENSE file) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %---------------------------------------------------------------------------------------- % CLASS CONFIGURATION %---------------------------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} \ProvidesClass{developercv}[2019/01/28 Developer CV class v1.0] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}} % Pass through any options to the base class \ProcessOptions\relax % Process given options \LoadClass{extarticle} % Load the base class %---------------------------------------------------------------------------------------- % PACKAGES AND OTHER DOCUMENT CONFIGURATIONS %---------------------------------------------------------------------------------------- \setlength{\parindent}{0mm} % Suppress paragraph indentation \usepackage[hidelinks]{hyperref} % Required for links but hide the default boxes around links \newcommand{\lorem}{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.} % Dummy text \pagestyle{empty} % No headers or footers \usepackage{moresize} % Provides more font size commands (\HUGE and \ssmall) \usepackage{fancyhdr} % Provides header and footer customization \usepackage{enumitem} % Provides more options for lists \usepackage[style=iso]{datetime2} % Provides ISO 8601 date \newcommand{\mycomment}[1]{} % Provides an easy way to comment out a bunch of stuff %---------------------------------------------------------------------------------------- % PAGE LAYOUT %---------------------------------------------------------------------------------------- \usepackage{geometry} % Required for adjusting page dimensions and margins \geometry{ paper=letterpaper, % Paper size, change to letterpaper for US letter size top=1.75cm, % Top margin bottom=1.75cm, % Bottom margin left=2cm, % Left margin right=2cm, % Right margin headheight=0cm, % Header height footskip=1cm, % Space from the bottom margin to the baseline of the footer headsep=0cm, % Space from the top margin to the baseline of the header %showframe, % Uncomment to show how the type block is set on the page } %---------------------------------------------------------------------------------------- % FONTS %---------------------------------------------------------------------------------------- \usepackage[utf8]{inputenc} % Required for inputting international characters \usepackage[T1]{fontenc} % Output font encoding for international characters \usepackage[default]{raleway} %\usepackage[defaultsans]{droidsans} %\usepackage{cmbright} %\usepackage{fetamont} %\usepackage[default]{gillius} %\usepackage{roboto} \renewcommand*\familydefault{\sfdefault} % Force the sans-serif version of any font used %------------------------------------------------ \usepackage{fontawesome} % Required for FontAwesome icons % Command to output an icon in a black square box with text to the right \newcommand{\icon}[3]{% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text \vcenteredhbox{\colorbox{black}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box \hspace{0.2cm}% Whitespace \vcenteredhbox{\textcolor{black}{#3}}% Text } %---------------------------------------------------------------------------------------- % GRAPHICS DEFINITIONS %---------------------------------------------------------------------------------------- \usepackage{tikz} % Required for creating the plots \usetikzlibrary{shapes, backgrounds} \tikzset{x=1cm, y=1cm} % Default tikz units % Command to vertically centre adjacent content \newcommand{\vcenteredhbox}[1]{% The only parameter is for the content to centre \begingroup% \setbox0=\hbox{#1}\parbox{\wd0}{\box0}% \endgroup% } %---------------------------------------------------------------------------------------- % CHARTS %---------------------------------------------------------------------------------------- \newcounter{barcount} % Environment to hold a new bar chart \newenvironment{barchart}[1]{ % The only parameter is the maximum bar width, in cm \newcommand{\barwidth}{0.35} \newcommand{\barsep}{0.2} % Command to add a bar to the bar chart \newcommand{\baritem}[2]{ % The first argument is the bar label and the second is the percentage the current bar should take up of the total width \pgfmathparse{##2} \let\perc\pgfmathresult \pgfmathparse{#1} \let\barsize\pgfmathresult \pgfmathparse{\barsize*##2/100} \let\barone\pgfmathresult \pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)} \let\barx\pgfmathresult \filldraw[fill=black, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth); \node [label=180:\colorbox{black}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {}; \addtocounter{barcount}{1} } \begin{tikzpicture} \setcounter{barcount}{0} }{ \end{tikzpicture} } %------------------------------------------------ \newcounter{a} \newcounter{b} \newcounter{c} % Command to output a number of automatically-sized bubbles from a string in the format of '/