From 6b51a7fa61314e649fa928dfc2a4c403f3229197 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 14 Jul 2020 15:43:45 +0200 Subject: [PATCH] cv: move to a common TeX file system This will allow for easily writing it in both French and English at the same time. --- Makefile | 2 +- cv_common.tex | 220 ++++++++++++++++++++++++++++++++++++++++++++ cv_en.tex | 223 +-------------------------------------------- twentysecondcv.cls | 41 ++++++++- 4 files changed, 260 insertions(+), 226 deletions(-) create mode 100644 cv_common.tex diff --git a/Makefile b/Makefile index 744388f..973cce3 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ all: $(FILES) %.pdf: $(BUILD_DIR)/%.pdf cp $< $@ -$(BUILD_DIR)/%.pdf: %.tex twentysecondcv.cls +$(BUILD_DIR)/%.pdf: %.tex cv_common.tex twentysecondcv.cls @latexmk $< # Let the tool do its job .PHONY: clean diff --git a/cv_common.tex b/cv_common.tex new file mode 100644 index 0000000..b2d79dc --- /dev/null +++ b/cv_common.tex @@ -0,0 +1,220 @@ +%------------------------------------------------------------------------------- +% PERSONAL INFORMATION +%------------------------------------------------------------------------------- + +\profilepic{} % Profile picture + +\cvname{Bruno BELANYI} % Your name +\cvjobtitle{Computer Science Student} % Job title/career + +\cvdate{04 November 1999} % Date of birth +\cvaddress{Kremlin-Bicêtre, France} % Current address +\cvmail{bruno.belanyi@gmail.com} % Mail address +\cvnumberphone{+33 7 81 59 44 86} % Phone number +\cvsite{linkedin.com/in/bruno-belanyi} % Personal website + +%------------------------------------------------------------------------------- + +\begin{document} + +%------------------------------------------------------------------------------- +% ABOUT ME +%------------------------------------------------------------------------------- + +\aboutme{ + Currently a fourth year student at EPITA, I am looking for an end-of-studies + internship abroad. +} + +%------------------------------------------------------------------------------- +% Languages +%------------------------------------------------------------------------------- + +\languages{ + {French / Native}, + {English / Fluent (C2)}} % Simple list + +%------------------------------------------------------------------------------- +% SKILLS +%------------------------------------------------------------------------------- + +% Skill bar section, each skill must have a value between 0 an 6 (float) +\skills{ + {Algorithms \& Data Stuctures/5}, + {Docker/3}, + {Git/5.5}, + {Bash/4}, + {Caml/2}, + {SQL/4.5}, + {Java/4}, + {Python/5}, + {C/4.6}, + {Rust/4.6}, + {C++/5}} + +\skillstext{ + {Independent / 5 \newline}, + {Team work / 5 \newline}, + {Microsoft Office / 4 \newline}, + {Linux \& UNIX / 4.5 \newline}} % Same thing, without the progress bar + +\makeprofile % Print the sidebar + +%------------------------------------------------------------------------------- +% INTERESTS +%------------------------------------------------------------------------------- + +\section{Interests} + +I am interested in computer science and engineering in a broad sense. Always +checking out new technologies and programming languages that pique my interest. +I am also fond of mathematics, physics, and science in a broader sense. + +I am majoring in Image Processing, however I am interested in all topics +relating to high-performance computing and optimisation. + +%------------------------------------------------------------------------------- +% EDUCATION +%------------------------------------------------------------------------------- + +\section{Education} + +\begin{twenty} % Environment for a list with descriptions + %\twentyitem{}{}{<location>}{<description>} + %\twentyitemshort{<dates>}{<title/description>} + + \twentyitem{2018-Now} + {Computer Science} + {EPITA, Kremlin-Bicêtre, France} + {Majoring in Image Processing.} + + \twentyitem{2016-2018} + {Preparatory School} + {CPGE Corneille, Rouen, France} + {MPSI \& MP$\star$ --- Maths and Physics Engineering Preparatory Classes, + specialized in Computer Science.} + + \twentyitem{2013-2016} + {High School} + {Institution Jean-Paul II, Rouen, France} + {Bacalauréat S with honors.} + +\end{twenty} + +%------------------------------------------------------------------------------- +% EXPERIENCE +%------------------------------------------------------------------------------- + +\section{Experience} + +\begin{twenty} + + \twentyitem{Jul'20-Jan'21} + {Teaching Assistant (ACU)} + {EPITA, Kremlin-Bicêtre, France} + {Tutoring 3rd year students in C, UNIX, \& software development through + workshops, oral presentations, and programming projects.} + + \twentyitem{Jan-Jul'20} + {Teaching Assistant (YAKA)} + {EPITA, Kremlin-Bicêtre, France} + {Tutoring 3rd year students in C++, Java, \& SQL through oral presentations + and programming projects.} + + \twentyitem{Sep-Dec'19} + {Natural Language Processing} + {Algolia, Paris, France} + {Building a Semantic Decompounding Library for Python \& C++} + +\end{twenty} + +%------------------------------------------------------------------------------- +% PROJECTS +%------------------------------------------------------------------------------- + + +\section{School Projects} + +\begin{twenty} + + \twentyitem{2nd Year Ing.} + {Pathtracer} + {Rust - 1 month} + {A physically based renderer of scenes described in a custom YAML format.} + + \twentyitem{1st Year Ing.} + {Tiger Compiler} + {C++ - 3 months} + {A full featured compiler in modern C++, following Andrew Appel's + \textit{Modern Compiler Implementation in ML}} + + \twentyitem{1st Year Ing.} + {Bistromathique} + {C++ - 36 hour rush} + {A templated big-integer library and calculator, completed individually.} + +\end{twenty} + +%------------------------------------------------------------------------------- +% OTHER INFORMATION +%------------------------------------------------------------------------------- + + +\section{Other Information} + +\subsection{Hobbies} + +\begin{twenty} + + \twentyitemshort{} + {Archery} + + \twentyitemshort{} + {Self-hosting various services on a VPS using Docker} + +\end{twenty} + +\subsection{Achievements \& Extra-curriculars} + +\begin{twenty} + + \twentyitem{Jan-Jul'20} + {Chief Tiger Maintainer} + {EPITA} + {A small team of assistants is chosen each year to improve the project, keep + it up-to-date, as well as presenting each stage of the project to the + students and guide them along the way.} + + \twentyitem{2012} + {Maths Olympiads (School Level)} + {Rouen, France} + {First place at the \textit{René Merckhoffer} contest of Normandy. + + This lead to a couple of two-weeks formation with \textit{Animath} on + Olympic-maths.} + +\end{twenty} + +%------------------------------------------------------------------------------- +% SECOND PAGE EXAMPLE +%------------------------------------------------------------------------------- + +%\newpage % Start a new page + +%\makeprofile % Print the sidebar + +%\section{Other information} + +%\subsection{Review} + +% Lorem ipsum. + +%\section{Other information} + +%\subsection{Review} + +% Lorem ipsum. + +%------------------------------------------------------------------------------- + +\end{document} diff --git a/cv_en.tex b/cv_en.tex index e4abe59..5239988 100644 --- a/cv_en.tex +++ b/cv_en.tex @@ -21,225 +21,8 @@ \documentclass[letterpaper]{twentysecondcv} % a4paper for A4 +\toggletrue{english} % English version + \usepackage[utf8]{inputenc} % UTF8 encoding -%------------------------------------------------------------------------------- -% PERSONAL INFORMATION -%------------------------------------------------------------------------------- - -\profilepic{} % Profile picture - -\cvname{Bruno BELANYI} % Your name -\cvjobtitle{Computer Science Student} % Job title/career - -\cvdate{04 November 1999} % Date of birth -\cvaddress{Kremlin-Bicêtre, France} % Current address -\cvmail{bruno.belanyi@gmail.com} % Mail address -\cvnumberphone{+33 7 81 59 44 86} % Phone number -\cvsite{linkedin.com/in/bruno-belanyi} % Personal website - -%------------------------------------------------------------------------------- - -\begin{document} - -%------------------------------------------------------------------------------- -% ABOUT ME -%------------------------------------------------------------------------------- - -\aboutme{ - Currently a fourth year student at EPITA, I am looking for an end-of-studies - internship abroad. -} - -%------------------------------------------------------------------------------- -% Languages -%------------------------------------------------------------------------------- - -\languages{ - {French / Native}, - {English / Fluent (C2)}} % Simple list - -%------------------------------------------------------------------------------- -% SKILLS -%------------------------------------------------------------------------------- - -% Skill bar section, each skill must have a value between 0 an 6 (float) -\skills{ - {Algorithms \& Data Stuctures/5}, - {Docker/3}, - {Git/5.5}, - {Bash/4}, - {Caml/2}, - {SQL/4.5}, - {Java/4}, - {Python/5}, - {C/4.6}, - {Rust/4.6}, - {C++/5}} - -\skillstext{ - {Independent / 5 \newline}, - {Team work / 5 \newline}, - {Microsoft Office / 4 \newline}, - {Linux \& UNIX / 4.5 \newline}} % Same thing, without the progress bar - -\makeprofile % Print the sidebar - -%------------------------------------------------------------------------------- -% INTERESTS -%------------------------------------------------------------------------------- - -\section{Interests} - -I am interested in computer science and engineering in a broad sense. Always -checking out new technologies and programming languages that pique my interest. -I am also fond of mathematics, physics, and science in a broader sense. - -I am majoring in Image Processing, however I am interested in all topics -relating to high-performance computing and optimisation. - -%------------------------------------------------------------------------------- -% EDUCATION -%------------------------------------------------------------------------------- - -\section{Education} - -\begin{twenty} % Environment for a list with descriptions - %\twentyitem{<dates>}{<title>}{<location>}{<description>} - %\twentyitemshort{<dates>}{<title/description>} - - \twentyitem{2018-Now} - {Computer Science} - {EPITA, Kremlin-Bicêtre, France} - {Majoring in Image Processing.} - - \twentyitem{2016-2018} - {Preparatory School} - {CPGE Corneille, Rouen, France} - {MPSI \& MP$\star$ --- Maths and Physics Engineering Preparatory Classes, - specialized in Computer Science.} - - \twentyitem{2013-2016} - {High School} - {Institution Jean-Paul II, Rouen, France} - {Bacalauréat S with honors.} - -\end{twenty} - -%------------------------------------------------------------------------------- -% EXPERIENCE -%------------------------------------------------------------------------------- - -\section{Experience} - -\begin{twenty} - - \twentyitem{Jul'20-Jan'21} - {Teaching Assistant (ACU)} - {EPITA, Kremlin-Bicêtre, France} - {Tutoring 3rd year students in C, UNIX, \& software development through - workshops, oral presentations, and programming projects.} - - \twentyitem{Jan-Jul'20} - {Teaching Assistant (YAKA)} - {EPITA, Kremlin-Bicêtre, France} - {Tutoring 3rd year students in C++, Java, \& SQL through oral presentations - and programming projects.} - - \twentyitem{Sep-Dec'19} - {Natural Language Processing} - {Algolia, Paris, France} - {Building a Semantic Decompounding Library for Python \& C++} - -\end{twenty} - -%------------------------------------------------------------------------------- -% PROJECTS -%------------------------------------------------------------------------------- - - -\section{School Projects} - -\begin{twenty} - - \twentyitem{2nd Year Ing.} - {Pathtracer} - {Rust - 1 month} - {A physically based renderer of scenes described in a custom YAML format.} - - \twentyitem{1st Year Ing.} - {Tiger Compiler} - {C++ - 3 months} - {A full featured compiler in modern C++, following Andrew Appel's - \textit{Modern Compiler Implementation in ML}} - - \twentyitem{1st Year Ing.} - {Bistromathique} - {C++ - 36 hour rush} - {A templated big-integer library and calculator, completed individually.} - -\end{twenty} - -%------------------------------------------------------------------------------- -% OTHER INFORMATION -%------------------------------------------------------------------------------- - - -\section{Other Information} - -\subsection{Hobbies} - -\begin{twenty} - - \twentyitemshort{} - {Archery} - - \twentyitemshort{} - {Self-hosting various services on a VPS using Docker} - -\end{twenty} - -\subsection{Achievements \& Extra-curriculars} - -\begin{twenty} - - \twentyitem{Jan-Jul'20} - {Chief Tiger Maintainer} - {EPITA} - {A small team of assistants is chosen each year to improve the project, keep - it up-to-date, as well as presenting each stage of the project to the - students and guide them along the way.} - - \twentyitem{2012} - {Maths Olympiads (School Level)} - {Rouen, France} - {First place at the \textit{René Merckhoffer} contest of Normandy. - - This lead to a couple of two-weeks formation with \textit{Animath} on - Olympic-maths.} - -\end{twenty} - -%------------------------------------------------------------------------------- -% SECOND PAGE EXAMPLE -%------------------------------------------------------------------------------- - -%\newpage % Start a new page - -%\makeprofile % Print the sidebar - -%\section{Other information} - -%\subsection{Review} - -% Lorem ipsum. - -%\section{Other information} - -%\subsection{Review} - -% Lorem ipsum. - -%------------------------------------------------------------------------------- - -\end{document} +\input{cv_common.tex} diff --git a/twentysecondcv.cls b/twentysecondcv.cls index 7b7f31a..9520205 100644 --- a/twentysecondcv.cls +++ b/twentysecondcv.cls @@ -122,6 +122,35 @@ } } +%------------------------------------------------------------------------------- +% MULTIPLE LANGUAGE SUPPORT +%------------------------------------------------------------------------------- + +% Either English or French toggle +\newtoggle{english} + +% Use \toggletrue{english} for English language +% Use \togglefalse{english} for French language +\toggletrue{english} +%\togglefalse{english} + +% Shorthand to have multi-language text +\newcommand{\enfr}[2]{\iftoggle{english}{#1}{#2}} + +% Shorthand for month abbreviations +\newcommand{\jan}{\enfr{Jan}{Jan}} +\newcommand{\feb}{\enfr{Feb}{Fév}} +\newcommand{\mar}{\enfr{Mar}{Mar}} +\newcommand{\apr}{\enfr{Apr}{Avr}} +\newcommand{\may}{\enfr{May}{Mai}} +\newcommand{\jun}{\enfr{Jun}{Juin}} +\newcommand{\jul}{\enfr{Jul}{Juil}} +\newcommand{\aug}{\enfr{Aug}{Août}} +\newcommand{\sep}{\enfr{Sep}{Sep}} +\newcommand{\oct}{\enfr{Oct}{Oct}} +\newcommand{\nov}{\enfr{Nov}{Nov}} +\newcommand{\dec}{\enfr{Dec}{Déc}} + %------------------------------------------------------------------------------- % SIDEBAR LAYOUT %------------------------------------------------------------------------------- @@ -168,7 +197,7 @@ %------------------------------------------------ \ifthenelse{\equal{\aboutme}{}}{}{ - \profilesection{About me} + \profilesection{\enfr{About me}{À propos de moi}} \begin{flushleft} \aboutme \end{flushleft} @@ -176,17 +205,19 @@ %------------------------------------------------ - \profilesection{Languages} + \profilesection{\enfr{Languages}{Langues}} \languages %------------------------------------------------ - \profilesection{Skills} + \profilesection{\enfr{Skills}{Compétences}} \skills \skillstext \scriptsize - (*)[The skill scale is from 0 (Fundamental Awareness) to 6 (Expert).] + \enfr + {(*)[The skill scale is from 0 (Fundamental Awareness) to 6 (Expert).]} + {(*)[Cette échelle va de 0 (Connaissance fondamentale) à 6 (Expert).]} %------------------------------------------------ @@ -259,7 +290,7 @@ }\\ } - %------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- % SMALL LIST ENVIRONMENT %-------------------------------------------------------------------------------