Add initial cv

This commit is contained in:
Samuel Ortion 2022-06-13 11:32:40 +02:00
commit 48d2005888
9 changed files with 630 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.venv

BIN
img/portrait.JPG Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
img/user-o.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,19 @@
#!/usr/bin/env python3
from wordcloud import WordCloud
import matplotlib.pyplot as plt
LANGUAGES = ["C", "C++", "Java", "JavaScript", "Python", "OCaml", "HTML", "CSS", "PHP"]
wordcloud = WordCloud(width=800, height=400, background_color='white').generate_from_frequencies(
{lang: 1 for lang in LANGUAGES})
plt.figure(figsize=(10, 8), facecolor=None)
plt.imshow(wordcloud)
# plt.title("Programming Languages")
plt.axis("off")
# plt.show()
plt.savefig("programming_languages.png")
plt.close()

10
tex/.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
*.log
*.aux
*.bbl
*.blg
*.out
*~
*.pdf
_minted-main
_minted-preamble
*.synctex.gz

11
tex/Makefile Normal file
View File

@ -0,0 +1,11 @@
filename=main
all: build
build:
pdflatex -shell-escape ${filename}.tex
clean:
rm -f *.log *.aux *.bbl *.blg *.out *~ $(filename).pdf
rm -rf _minted-main _minted-preamble $(filename).synctex.gz

200
tex/main.tex Normal file
View File

@ -0,0 +1,200 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MyOwnCV)
%
% Authors:
% Samuel ORTION
%
% © 2022
% All right reserved.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt]{mycv}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{datenumber}
\usepackage{fp}
\begin{document}
\newcounter{dateone}%
\newcounter{datetwo}%
\setmydatenumber{dateone}{2003}{01}{21}%
\setmydatenumber{datetwo}{\the\year}{\the\month}{\the\day}%
\FPsub\result{\thedatetwo}{\thedateone}
\FPdiv\myage{\result}{365.2425}
\myage
\FPround\myage{\myage}{0}
%----------------------------------------------------------------------------------------
% TOP BAR
%----------------------------------------------------------------------------------------
\begin{TopBar}{\ColorTextSide}
\Name{\ColorHighlight}{Samuel ORTION}{Student}{\myage\ years old}
%%% Contact
\TextSeparator{\ColorHighlight}{Contact}
\begin{DoubleColumns}
\begin{ItemList}{\ColorHighlight}
\item [\Large\faAt] \href{mailto:samuel@ortion.fr}{samuel@ortion.fr}
\item [\Large\faMobile] 06 21 58 03 48
\item [\Large\faMapMarker] France
\end{ItemList}
\nextcolumn
\begin{ItemList}{\ColorHighlight}
\item [\Large\faGit] \href{https://framagit.org/UncleSamulus}{UncleSamulus}
% \item [\Large\faLinkedinSquare] \href{https://www.linkedin.com/}{linkedin}
\end{ItemList}
\end{DoubleColumns}
%%% Interests
\TextSeparator{\ColorHighlight}{Interests}
\begin{TripleColumns}
\begin{ItemList}{\ColorHighlight}
\item [] Ornithology
\end{ItemList}
\nextcolumn
\begin{ItemList}{\ColorHighlight}
\item [] Biology
\end{ItemList}
\nextcolumn
\begin{ItemList}{\ColorHighlight}
\item [] Computer Science
\end{ItemList}
\end{TripleColumns}
\end{TopBar}
%----------------------------------------------------------------------------------------
% SIDE BAR
%----------------------------------------------------------------------------------------
\begin{SideBar}{\ColorBackground}{\ColorTextSide}
%%% Soft skills
\TextSeparatorBis{\ColorHighlight}{\faUser}{Soft skills}
\Label{\ColorHighlight}{Skill 1}
\Label{\ColorHighlight}{Skill 2}
\Label{\ColorHighlight}{Skill 3}
\Label{\ColorHighlight}{Skill 4}
\Label{\ColorHighlight}{Skill 5}
\vspace*{1cm}
%%% Hard skills
\TextSeparatorBis{\ColorHighlight}{\faGears}{Hard skills}
\begin{ItemList}{\ColorHighlight}
\item [\faCode] C/C++, Python, JS, Java, OCaml
\item [\faFileCodeO] HTML, CSS, \LaTeX
% \item [\faCubes]
% \item [\faPencilSquareO] skill, skill, skill, skill
\item [\faVideoCamera] Photography, Video editing
% \item [\faGear]
\end{ItemList}
\vspace*{1cm}
%%% Languages
\TextSeparatorBis{\ColorHighlight}{\faLanguage}{Languages}
\begin{SkillGauges}{\ColorHighlight}
\addGauge{French}{5}
\addGauge{English}{4}
\addGauge{Deutsch}{2}
\end{SkillGauges}
\end{SideBar}
%----------------------------------------------------------------------------------------
% Picture
%----------------------------------------------------------------------------------------
\DefineProfile{\ColorOther}{\ColorTextSide}{../img/portrait.JPG}
%----------------------------------------------------------------------------------------
% Main
%----------------------------------------------------------------------------------------
\begin{MainPart}
%%% Education
\MainTitleBis{\ColorHighlight}{\ColorTextMain}{Education}{\faGraduationCap}
% \Experience
% {\ColorHighlight}
% {Master of Bioinformatics}
% {Université d'Évry val d'Essonne -- Paris-Saclay}
% {2023}
% {
% Write here your description.\\
%
%
% }
\Experience
{\ColorHighlight}
{Licence Double Sciences de la Vie - Informatique}
{Université d'Évry val d'Essonne -- Paris-Saclay}
{2020-\faUndo}
{
I will have my bachelor degree of both computer science and biology in 2023. I am currently in third year of this double cursus.
}
\Experience
{\ColorHighlight}
{Baccalauréat Scientifique, option Sciences de la Vie et de la Terre, mention Européenne}
{Lycée Notre-Dame, Le Mans}
{2017-2020}
{
I have got my scientific baccalaureate with "Very Good" mention, in 2020. I had the DNL euro option (I had some courses of biology in english).
}
%%% Activities
\MainTitleBis{\ColorHighlight}{\ColorTextMain}{Activities}{\faUsers}
\vspace*{0.5cm}
\begin{DoubleColumns}
\begin{ItemList}{\ColorHighlight}
\item [] Bird Watching
\item [] Bat Recording
\end{ItemList}
\nextcolumn
\begin{ItemList}{\ColorHighlight}
\item [] Taking Photographs
\item [] Development \& SysAdmin
\end{ItemList}
\end{DoubleColumns}
%%% Experiences
\MainTitleBis{\ColorHighlight}{\ColorTextMain}{Experiences}{\faSuitcase}
\Experience
{\ColorHighlight}
{Computer Science Intern}
{\href{https://natural-solutions.eu/}{Natural-Solutions}}
{2022}
{
I did an internship during my second year of bachelor degree in the web agency Natural Solutions, during witch I documented and tested an IA that classify nocturnal bird sounds (flight call especially).
}
% \Experience
% {\ColorHighlight}
% {Teacher}
% {Nice School}
% {2004-2015}
% {
% Write here your description.\\
%
% }
% \Experience
% {\ColorHighlight}
% {Happiness manager}
% {Nowhere}
% {1968}
% {
% Write here your description.\\
%
% }
\begin{figure}[hbpt!]
\includegraphics[scale=0.4]{../img/programming_languages.png}
\end{figure}
\end{MainPart}
\end{document}

389
tex/mycv.cls Normal file
View File

@ -0,0 +1,389 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MyCV
% LaTeX Class
% Version 1.0 (13/06/22)
%
% Authors:
% Samuel ORTION
% Inspired by spidercv (ROMAINPC)
%
% License:
% The MIT License (see included LICENSE file)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mycv}[03/01/2022]
\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
\usepackage{lipsum}
\pagestyle{empty} % No headers or footers
\usepackage{moresize} % Provides more font size commands (\HUGE and \ssmall)
\usepackage{fontawesome} % fontawesome
\usepackage{ifthen}
%----------------------------------------------------------------------------------------
% COLORS
%----------------------------------------------------------------------------------------
\usepackage[dvipsnames]{xcolor}
\definecolor{Black}{HTML}{212121}
\definecolor{White}{HTML}{FFFFFF}
\definecolor{GreenArmy}{HTML}{252e25}
\definecolor{GreenIT}{HTML}{4caf50}
%%%%% color macros, use it at the beginning of your cv to quickly use the enterprise colors (Pro HRD tips)
\newcommand{\DefineColorMacros}[5]{% COLORS : TextSide / TextMain / HighLight / Background /Other
\def\ColorTextSide{#1}
\def\ColorTextMain{#2}
\def\ColorHighlight{#3}
\def\ColorBackground{#4}
\def\ColorOther{#5}
\color{\ColorTextMain} % Default text color
}
\DefineColorMacros{White}{Black}{GreenIT}{Black}{GreenArmy}
%----------------------------------------------------------------------------------------
% FONTS
%----------------------------------------------------------------------------------------
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
% \usepackage{roboto}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault} % Force the sans-serif version of any font used
%----------------------------------------------------------------------------------------
% GEOMETRIE
%----------------------------------------------------------------------------------------
\usepackage{calc}
\usepackage{tikz}
\usetikzlibrary{calc,positioning,backgrounds,matrix}
\newlength\margin
\setlength\margin{0.5cm}
\usepackage[margin=\margin,noheadfoot,a4paper]{geometry}
\newlength\sidewidth
\setlength\sidewidth{0.33333\paperwidth-2\margin}
\newlength\mainwidth
\setlength\mainwidth{\paperwidth-4\margin-\sidewidth}
\newlength\anglesize
\setlength\anglesize{0.7cm}
\newlength\topheight
\setlength\topheight{\sidewidth}
\newlength\profilesize
\setlength\profilesize{0.7\topheight}
%----------------------------------------------------------------------------------------
% MAIN SECTIONS
%----------------------------------------------------------------------------------------
\usepackage{ragged2e}
\usepackage[absolute,overlay]{textpos} % option needed to use absolute positionning and to have text on front
\newenvironment{SideBar}[2]{% Background color, Text color
\begin{tikzpicture}[remember picture,overlay]% put text anywhere
\fill[fill=#1, shift={(current page.north west)}] % side and top background
(0,-\paperheight) --
(0,-\anglesize) --
(\anglesize,0) --
(\paperwidth,0) --
(\paperwidth,-\topheight-2\margin) --
(\sidewidth+2\margin+\anglesize,-\topheight-2\margin) --
(\sidewidth+2\margin,-\topheight-2\margin-\anglesize) --
(\sidewidth+2\margin,-\paperheight) --
cycle;
\draw [draw=#1, shift={(current page.north west)}, very thick]
(\paperwidth-0.5\margin,-\topheight-3\margin) --
(\paperwidth-0.5\margin,-\paperheight+0.5\margin+0.5\anglesize) --
(\paperwidth-0.5\margin-0.5\anglesize,-\paperheight+0.5\margin) --
(\sidewidth+3\margin,-\paperheight+0.5\margin);
\end{tikzpicture}%
%%%%%%%%%%%%%
% \TPmargin{}{}
\begin{textblock*}{\sidewidth}(\margin,\topheight + 3\margin -0.4cm)
\begin{center}
\color{#2}
% Please use vspace to verticaly align manually your content
}{
\end{center}
\end{textblock*}
}
\newenvironment{TopBar}[1]{ % Text color
\begin{textblock*}{\mainwidth}(\sidewidth+3\margin,\margin-0.4cm)
\begin{center}
\color{#1}
}{
\end{center}
\end{textblock*}
}
\newenvironment{MainPart}{
\begin{textblock*}{\mainwidth}(\sidewidth+3\margin,\topheight + 3\margin-0.4cm)
\begin{center}
}{
\end{center}
\end{textblock*}
}
\usetikzlibrary{shapes,decorations}
%%%%%%% Picture
\newcommand{\DefineProfile}[3]% Background color, Highlight color, Img path
{
\begin{tikzpicture}[remember picture,overlay]
\node [rectangle, draw=#2, rounded corners=0.5mm, very thick,
shift={(current page.north west)}, xshift=\anglesize, yshift=-\anglesize,
](s1){};
\node [rectangle, draw=#2, rounded corners=0.5mm, very thick,
shift={(current page.north west)}, xshift=(\sidewidth+2\margin), yshift=-(\sidewidth+2\margin),
](s2){};
\draw [draw=#2, very thick]
(s1) -- (s2);
%%%%%%%%%%%%%%%
\node[
shift={(current page.north west)},
xshift=(\sidewidth+2\margin)/2,
yshift=-(\sidewidth+2\margin)/2,
chamfered rectangle, draw=#2, very thick,
minimum size=\profilesize,
fill=#1,
path picture={
\node at (path picture bounding box.center){
\includegraphics[height=\profilesize]{#3}
};
}]
{};
\end{tikzpicture}
}
%----------------------------------------------------------------------------------------
% COMMANDS AND ENVIRONMENTS
%----------------------------------------------------------------------------------------
%%%%%%% Top bar
%%% Name
\newcommand{\Name}[4]% Highlight color, Name, Profession, Age
{
{\HUGE{\textbf{\color{#1}#2}}\\
\Large{#3}
\hfill
\Large{#4}}
}
%%%%%%%%% Side bar
%%% Spider chart
\usepackage{xparse}
\newcounter{spidercount}
\ExplSyntaxOn
\NewDocumentCommand{\newList}{m}
{
\seq_new:c { l_kees_list_#1_seq }
}
\NewDocumentCommand{\addToList}{mm}
{
\seq_put_right:cn { l_kees_list_#1_seq } { #2 }
}
\NewDocumentCommand{\getFromList}{mm}
{
\seq_item:cn { l_kees_list_#1_seq } { #2 }
}
\ExplSyntaxOff
\newList{skilllist}
\newList{masterlist}
\newcommand{\addSkill}[2]{ % Skill label, Strenght
\stepcounter{spidercount}
\addToList{skilllist}{#1}
\addToList{masterlist}{#2}
}
\newcounter{var}
\newenvironment{SpiderDiagram}[2]{ % Axes color, Highlight color
\def\n{\thespidercount}
\def\N{5}
\def\nC{#1}
\def\hC{#2}
\vspace*{0.15cm}
}{
\begin{tikzpicture}[scale=0.35]
\foreach \x in{1,2,...,\n}{
\setcounter{var}{360/\n*\x}
\ifthenelse{\thevar = 180 \OR \thevar = 360}{
\draw [draw=\nC, very thick] (0,0)--(\thevar:\N) node
[shift=(\thevar-145:-15pt),
color=\hC] {\small\getFromList{skilllist}{\x}}
}
{
\draw [draw=\nC, very thick] (0,0)--(\thevar:\N) node
[shift=(\thevar:10pt),
color=\hC] {\small\getFromList{skilllist}{\x}}
}
;
}
\newcounter{temp}
\newcounter{tempbis}
\foreach[count=\x] \y in{2,3,...,\n}{
\setcounter{temp}{\getFromList{masterlist}{\x}}
\setcounter{tempbis}{\getFromList{masterlist}{\y}}
\draw [draw=\hC, very thick]
(360/\n*\x:\thetemp) -- (360/\n*\x+360/\n:\thetempbis);
}
\setcounter{temp}{\getFromList{masterlist}{\n}}
\setcounter{tempbis}{\getFromList{masterlist}{1}}
\draw [draw=\hC, very thick]
(360:\thetemp) -- (360+360/\n:\thetempbis);
\end{tikzpicture}
}
%%%%%%%%%%%%%% Main part
%%%%%% Section title
\newcommand{\MainTitleBis}[4]{%Background color, Highlight color, Left text, Right text
\begin{tikzpicture}[baseline]
\node[draw=#2,rounded corners,fill=#1,inner sep=3pt, very thick, anchor=west]
at (0,0) (box1)
{\textbf{\Large\color{#2}#3}};
\node[draw=#2,rounded corners,fill=#1,inner sep=3pt, very thick, anchor=east]
at (\textwidth,0) (square)
{\textbf{\Large\color{#2}#4}};
\draw [very thick, draw=#2, inner sep=0pt] (box1) -- (square);
\end{tikzpicture}\\
}
\newcommand{\MainTitle}[3]{%Background color, Highlight color, Title text
\begin{tikzpicture}[baseline]
\node[draw=#2,rounded corners,fill=#1,inner sep=3pt, very thick, anchor=west]
at (0,0) (box1)
{\textbf{\Large\color{#2}#3}};
\node at (\textwidth,0) [rectangle, draw=#2,rounded corners=0.5mm,fill=#1, anchor=east, very thick] (square) {};
\draw [very thick, draw=#2, inner sep=0pt] (box1) -- (square);
\end{tikzpicture}\\
}
\def\hrulefill{\leavevmode\leaders\hrule height 0.35mm\hfill\kern\z@} % ~ very thick
%%%%%%% Experience
\newcommand{\Experience}[5]{%Highlight color, Ttile, Left subtitle, Right subtitle, Description
\begin{flushleft}
\large{\textbf{#2\hfill{\small\color{#1}#4}}}\\\vspace{-.4ex}
\small{{\color{#1}\hrulefill}
\hspace{1ex}\raisebox{-.4ex}{\color{Black}\textbf{#3}}
}\\
\normalsize{#5}% Description
\end{flushleft}
}
%%%%%% Common tools
%%% Text separators
\newcommand{\TextSeparator}[2]% Highlight color, Text
{
\noindent\makebox[\linewidth]{{\color{#1}\hrulefill}
\hspace{1ex}\raisebox{-.4ex}{\textbf{\large{#2}}}
\hspace{1ex}{\color{#1}\hrulefill}}
}
\newcommand{\TextSeparatorBis}[3]% Highlight color, Left text, Right text
{
\noindent\makebox[\linewidth]{\raisebox{-.4ex}{\textbf{\large{#2}}}\hspace{1ex}
{\color{#1}\hrulefill}
\hspace{1ex}\raisebox{-.4ex}{\textbf{\large{#3}}}}
}
\newcommand{\SimpleSeparator}[1]% Highlight color
{
\noindent\makebox[\linewidth]{
{\color{#1}\hrulefill}}
}
%%% ItemList
\usepackage{enumerate}
\newenvironment{ItemList}[1] % Bullet color
{ \renewcommand{\descriptionlabel}[1]{
\def\temp{##1}\ifx\temp\empty
\hspace\labelsep{\textbf{\color{#1}\tiny\faSquare}}% Default bullet
\else
\hspace\labelsep{\textbf{\color{#1}##1}}
\fi
}%
\begin{description}}
{\end{description}}
%%% DoubleColumns
\newenvironment{DoubleColumns}{
%%%%%%%%% Use this command to split
\newcommand{\nextcolumn}{\end{center}\end{minipage}\hfill\begin{minipage}[t]{0.5\textwidth-0.5\margin}\begin{center}}
\begin{minipage}[t]{0.5\textwidth-0.5\margin}
\begin{center}
}{
\end{center}
\end{minipage}\\\vspace*{0.15cm}
}
%%% TripleColumns
\newenvironment{TripleColumns}{
%%%%%%%%% Use this command to split
\newcommand{\nextcolumn}{\end{center}\end{minipage}\hfill\begin{minipage}[t]{0.3333\textwidth-0.5\margin}\begin{center}}
\begin{minipage}[t]{0.3333\textwidth-0.5\margin}
\begin{center}
}{
\end{center}
\end{minipage}\\\vspace*{0.15cm}
}
%%% Label
\newcommand{\Label}[2]{% Highlight color, Text
\tikz[baseline]\node[anchor=base,draw=#1,rounded corners,inner xsep=1ex,inner ysep =0.75ex,text height=1.5ex,text depth=.25ex, thick]{#2};
}
%%% Skill Gauges
\newenvironment{SkillGauges}[1]{% Highlight color
\def\highlightColor{\color{#1}}
\begin{tabular}{l l}
}{
\end{tabular}
}
\newcommand{\addGauge}[3][\faSquareO]{% Optional fa symbol | Text | Number of symbols
#2 & \foreach \i in{1,...,#3}{\highlightColor#1\space} \\
}