mirror of
https://github.com/morten-olsen/morten-olsen.github.io.git
synced 2026-02-08 01:46:28 +01:00
150 lines
2.9 KiB
TeX
150 lines
2.9 KiB
TeX
\documentclass[10pt, a4paper]{article}
|
|
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
|
|
\usepackage{graphicx}
|
|
\usepackage{hyperref}
|
|
\usepackage{calc}
|
|
\usepackage{multicol}
|
|
\usepackage{fancyhdr}
|
|
|
|
\setlength{\columnseprule}{0.1pt}
|
|
%\setlength{\columnsep}{1.5cm}
|
|
\def \columncount {2}
|
|
\def \skillcolumncount {3}
|
|
\def \infocolumncount {2}
|
|
|
|
\pagestyle{fancy}
|
|
\fancyhf{}
|
|
\rhead{<%-profile.name%> \today}
|
|
\lhead{Curriculum Vitae}
|
|
\rfoot{Page \thepage}
|
|
|
|
\newenvironment{columns}{
|
|
\ifnum\columncount>1
|
|
\begin{multicols}{\columncount}
|
|
\fi
|
|
}{
|
|
\ifnum\columncount>1
|
|
\end{multicols}
|
|
\fi
|
|
\vspace{0.5cm}
|
|
\hrule
|
|
}
|
|
|
|
\newcommand{\cvinfo}[2]{
|
|
\noindent \textbf{#1}\dotfill#2
|
|
}
|
|
|
|
\newenvironment{cvtitle}[3]{
|
|
\noindent\begin{minipage}{\textwidth}
|
|
\noindent\begin{minipage}{\textwidth - 3.2cm}
|
|
\Huge #1\newline\large #3
|
|
\end{minipage}
|
|
\noindent\begin{minipage}{3cm}
|
|
\begin{flushright}
|
|
\includegraphics[height=3cm]{#2}
|
|
\end{flushright}
|
|
\end{minipage}
|
|
\vspace{0.5cm}
|
|
\hrule
|
|
\vspace{0.5cm}
|
|
\ifnum\infocolumncount>1
|
|
\begin{multicols}{\infocolumncount}
|
|
\fi
|
|
}{
|
|
\ifnum\infocolumncount>1
|
|
\end{multicols}
|
|
\fi
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}{\textwidth/3-2cm}
|
|
\end{minipage}
|
|
\vspace{1cm}
|
|
\hrule
|
|
}
|
|
|
|
\newenvironment{cvskills}{
|
|
\noindent\begin{minipage}{\textwidth}
|
|
\ifnum\skillcolumncount>1
|
|
\begin{multicols}{\skillcolumncount}
|
|
\fi
|
|
}{
|
|
\ifnum\skillcolumncount>1
|
|
\end{multicols}
|
|
\fi
|
|
\vspace{0.5cm}
|
|
\hrule
|
|
\end{minipage}
|
|
}
|
|
|
|
\newenvironment{cvbox}[3]
|
|
{
|
|
\noindent\begin{columns}
|
|
\noindent{\Large \textbf{#1}} \hfill {\small #2} \\
|
|
\textit{#3}\dotfill
|
|
\ifnum\columncount>2
|
|
\vfill\null\columnbreak
|
|
\else
|
|
\\\\
|
|
\fi
|
|
}
|
|
{
|
|
\end{columns}
|
|
%\end{minipage}
|
|
\vspace{0.5cm}
|
|
}
|
|
|
|
\newcommand{\cvskill}[2]{
|
|
\textbf{#1}\dotfill
|
|
\textit{#2}
|
|
}
|
|
|
|
\newenvironment{cvexp}[4]
|
|
{ \begin{cvbox}{#1}{#2 - #3}{#4} }
|
|
{\end{cvbox}}
|
|
|
|
\newenvironment{cvproj}[3]
|
|
{
|
|
\noindent
|
|
\begin{columns}
|
|
\noindent{\Large \textbf{#1}} \\ {\small #3} \\
|
|
{\tiny\textit{#2}}
|
|
\ifnum\columncount>2
|
|
\vfill\null\columnbreak
|
|
\else
|
|
\\\\
|
|
\fi
|
|
}
|
|
{
|
|
\end{columns}
|
|
\vspace{0.5cm}
|
|
}
|
|
|
|
\begin{document}
|
|
\begin{cvtitle}{<%-profile.name%>}{<%-profile.imagePath%>}{<%-profile.tagline%>}
|
|
<% for (let info of profile.info) { %>
|
|
\cvinfo{<%-info.name%>}{<%-info.value%>}
|
|
<% } %>
|
|
\end{cvtitle}
|
|
|
|
\begin{columns}
|
|
\section*{Who am I?}
|
|
<%-profile.about%>
|
|
\end{columns}
|
|
|
|
\section*{Platforms and languages}
|
|
Platforms and languages which I have worked with. The list is a shortened down version\\\\
|
|
\begin{cvskills}
|
|
<% for (let skill of profile.skills.sort((a, b) => b.level - a.level)) { %>
|
|
\cvskill{<%-skill.name%>}{<%-skill.level%>}
|
|
<% } %>
|
|
\end{cvskills}
|
|
|
|
\section*{Experience}
|
|
<% for (let exp of positions.filter(p => p.resume !== false).sort((a, b) => new Date(b.from) - new Date(a.from))) { %>
|
|
\begin{cvexp}{<%-exp.company%>}{<%-exp.from%>}{<%-exp.to%>}{<%-exp.title%>}
|
|
<%-exp.content%>
|
|
\end{cvexp}
|
|
<% } %>
|
|
|
|
\end{document}
|