mirror of
https://github.com/Adri-Charbonneau/CV.git
synced 2024-11-23 06:13:44 +01:00
Modifications depuis Papeeria
This commit is contained in:
parent
60895686bb
commit
9b8bc65126
@ -1,230 +1,230 @@
|
|||||||
%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%
|
||||||
% This is an sample CV template created using altacv.cls
|
% This is an sample CV template created using altacv.cls
|
||||||
% (v1.4, 12 Apr 2021) written by LianTze Lim (liantze@gmail.com). Now compiles with pdfLaTeX, XeLaTeX and LuaLaTeX.
|
% (v1.4, 12 Apr 2021) written by LianTze Lim (liantze@gmail.com). Now compiles with pdfLaTeX, XeLaTeX and LuaLaTeX.
|
||||||
%
|
%
|
||||||
%% It may be distributed and/or modified under the
|
%% It may be distributed and/or modified under the
|
||||||
%% conditions of the LaTeX Project Public License, either version 1.3
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
||||||
%% of this license or (at your option) any later version.
|
%% of this license or (at your option) any later version.
|
||||||
%% The latest version of this license is in
|
%% The latest version of this license is in
|
||||||
%% http://www.latex-project.org/lppl.txt
|
%% http://www.latex-project.org/lppl.txt
|
||||||
%% and version 1.3 or later is part of all distributions of LaTeX
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
||||||
%% version 2003/12/01 or later.
|
%% version 2003/12/01 or later.
|
||||||
%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
%% Use the "normalphoto" option if you want a normal photo instead of cropped to a circle
|
%% Use the "normalphoto" option if you want a normal photo instead of cropped to a circle
|
||||||
% \documentclass[10pt,a4paper,normalphoto]{altacv}
|
% \documentclass[10pt,a4paper,normalphoto]{altacv}
|
||||||
|
|
||||||
\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
|
\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
|
||||||
%% AltaCV uses the fontawesome5 and packages.
|
%% AltaCV uses the fontawesome5 and packages.
|
||||||
%% See http://texdoc.net/pkg/fontawesome5 for full list of symbols.
|
%% See http://texdoc.net/pkg/fontawesome5 for full list of symbols.
|
||||||
|
|
||||||
% Change the page layout if you need to
|
% Change the page layout if you need to
|
||||||
\geometry{left=0.5cm,right=0.5cm,top=0.5cm,bottom=0.5cm,columnsep=1cm}
|
\geometry{left=0.5cm,right=0.5cm,top=0.5cm,bottom=0.5cm,columnsep=1cm}
|
||||||
|
|
||||||
% The paracol package lets you typeset columns of text in parallel
|
% The paracol package lets you typeset columns of text in parallel
|
||||||
\usepackage{paracol}
|
\usepackage{paracol}
|
||||||
|
|
||||||
% Change the font if you want to, depending on whether
|
% Change the font if you want to, depending on whether
|
||||||
% you're using pdflatex or xelatex/lualatex
|
% you're using pdflatex or xelatex/lualatex
|
||||||
\ifxetexorluatex
|
\ifxetexorluatex
|
||||||
% If using xelatex or lualatex:
|
% If using xelatex or lualatex:
|
||||||
\setmainfont{Roboto Slab}
|
\setmainfont{Roboto Slab}
|
||||||
\setsansfont{Lato}
|
\setsansfont{Lato}
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
\else
|
\else
|
||||||
% If using pdflatex:
|
% If using pdflatex:
|
||||||
\usepackage[rm]{roboto}
|
\usepackage[rm]{roboto}
|
||||||
\usepackage[defaultsans]{lato}
|
\usepackage[defaultsans]{lato}
|
||||||
% \usepackage{sourcesanspro}
|
% \usepackage{sourcesanspro}
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
\fi
|
\fi
|
||||||
|
|
||||||
% Change the colours if you want to
|
% Change the colours if you want to
|
||||||
\definecolor{GreyTitle}{HTML}{777777}
|
\definecolor{GreyTitle}{HTML}{777777}
|
||||||
\definecolor{SlateGrey}{HTML}{2E2E2E}
|
\definecolor{SlateGrey}{HTML}{2E2E2E}
|
||||||
\definecolor{LightGrey}{HTML}{666666}
|
\definecolor{LightGrey}{HTML}{666666}
|
||||||
\definecolor{Greentitle}{HTML}{4cae4f}
|
\definecolor{Greentitle}{HTML}{4cae4f}
|
||||||
\definecolor{PastelRed}{HTML}{f79a4d}
|
\definecolor{PastelRed}{HTML}{f79a4d}
|
||||||
\definecolor{Greyrule}{HTML}{E6E6E6}
|
\definecolor{Greyrule}{HTML}{E6E6E6}
|
||||||
\colorlet{name}{GreyTitle}
|
\colorlet{name}{GreyTitle}
|
||||||
\colorlet{tagline}{Greentitle}
|
\colorlet{tagline}{Greentitle}
|
||||||
\colorlet{heading}{Greentitle}
|
\colorlet{heading}{Greentitle}
|
||||||
\colorlet{headingrule}{Greyrule}
|
\colorlet{headingrule}{Greyrule}
|
||||||
\colorlet{subheading}{PastelRed}
|
\colorlet{subheading}{PastelRed}
|
||||||
\colorlet{accent}{PastelRed}
|
\colorlet{accent}{PastelRed}
|
||||||
\colorlet{emphasis}{SlateGrey}
|
\colorlet{emphasis}{SlateGrey}
|
||||||
\colorlet{body}{LightGrey}
|
\colorlet{body}{LightGrey}
|
||||||
|
|
||||||
% Change some fonts, if necessary
|
% Change some fonts, if necessary
|
||||||
\renewcommand{\namefont}{\Huge\rmfamily\bfseries}
|
\renewcommand{\namefont}{\Huge\rmfamily\bfseries}
|
||||||
\renewcommand{\personalinfofont}{\footnotesize}
|
\renewcommand{\personalinfofont}{\footnotesize}
|
||||||
\renewcommand{\cvsectionfont}{\LARGE\rmfamily\bfseries}
|
\renewcommand{\cvsectionfont}{\LARGE\rmfamily\bfseries}
|
||||||
\renewcommand{\cvsubsectionfont}{\large\bfseries}
|
\renewcommand{\cvsubsectionfont}{\large\bfseries}
|
||||||
|
|
||||||
|
|
||||||
% Change the bullets for itemize and rating marker
|
% Change the bullets for itemize and rating marker
|
||||||
% for \cvskill if you want to
|
% for \cvskill if you want to
|
||||||
\renewcommand{\itemmarker}{{\small\textbullet}}
|
\renewcommand{\itemmarker}{{\small\textbullet}}
|
||||||
\renewcommand{\ratingmarker}{\faCircle}
|
\renewcommand{\ratingmarker}{\faCircle}
|
||||||
|
|
||||||
%% Use (and optionally edit if necessary) this .cfg if you
|
%% Use (and optionally edit if necessary) this .cfg if you
|
||||||
%% want to use an author-year reference style like APA(6)
|
%% want to use an author-year reference style like APA(6)
|
||||||
%% for your publication list
|
%% for your publication list
|
||||||
% \input{pubs-authoryear.cfg}
|
% \input{pubs-authoryear.cfg}
|
||||||
|
|
||||||
%% Use (and optionally edit if necessary) this .cfg if you
|
%% Use (and optionally edit if necessary) this .cfg if you
|
||||||
%% want an originally numerical reference style like IEEE
|
%% want an originally numerical reference style like IEEE
|
||||||
%% for your publication list
|
%% for your publication list
|
||||||
% \input{pubs-num.cfg}
|
% \input{pubs-num.cfg}
|
||||||
|
|
||||||
%% sample.bib contains your publications
|
%% sample.bib contains your publications
|
||||||
% \addbibresource{sample.bib}
|
% \addbibresource{sample.bib}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\name{Adrien CHARBONNEAU}
|
\name{Adrien CHARBONNEAU}
|
||||||
\tagline{Naturaliste écologue et ornithologue passionné}
|
\tagline{Naturaliste écologue et ornithologue passionné}
|
||||||
%% You can add multiple photos on the left or right
|
%% You can add multiple photos on the left or right
|
||||||
\photoR{3cm}{PROFIL.jpg}
|
\photoR{3cm}{PROFIL-RE.jpg}
|
||||||
% \photoL{2.5cm}{Yacht_High,Suitcase_High}
|
% \photoL{2.5cm}{Yacht_High,Suitcase_High}
|
||||||
|
|
||||||
\personalinfo{%
|
\personalinfo{%
|
||||||
% Not all of these are required!
|
% Not all of these are required!
|
||||||
\email{adrien.charbonneau@free.fr}
|
\email{adrien.charbonneau@free.fr}
|
||||||
\phone{06 52 28 85 25}
|
\phone{06 52 28 85 25}
|
||||||
\car{Véhiculé}
|
\car{Véhiculé}
|
||||||
\mailaddress{19 rue Antoine Primat, 69100 Villeurbanne}
|
\mailaddress{19 rue Antoine Primat, 69100 Villeurbanne}
|
||||||
% \location{Location, COUNTRY}
|
% \location{Location, COUNTRY}
|
||||||
\homepage{www.adriencharbonneau.fr}
|
\homepage{www.adriencharbonneau.fr}
|
||||||
% \twitter{@twitterhandle}
|
% \twitter{@twitterhandle}
|
||||||
\linkedin{adrien-charbonneau}
|
\linkedin{adrien-charbonneau}
|
||||||
\git{Adrien}
|
\git{Adrien}
|
||||||
\researchgate{Adrien-Charbonneau}
|
\researchgate{Adrien-Charbonneau}
|
||||||
%% You can add your own arbitrary detail with
|
%% You can add your own arbitrary detail with
|
||||||
%% \printinfo{symbol}{detail}[optional hyperlink prefix]
|
%% \printinfo{symbol}{detail}[optional hyperlink prefix]
|
||||||
% \printinfo{\faPaw}{Hey ho!}[https://example.com/]
|
% \printinfo{\faPaw}{Hey ho!}[https://example.com/]
|
||||||
%% Or you can declare your own field with
|
%% Or you can declare your own field with
|
||||||
%% \NewInfoFiled{fieldname}{symbol}[optional hyperlink prefix] and use it:
|
%% \NewInfoFiled{fieldname}{symbol}[optional hyperlink prefix] and use it:
|
||||||
% \NewInfoField{gitlab}{\faGitlab}[https://gitlab.com/]
|
% \NewInfoField{gitlab}{\faGitlab}[https://gitlab.com/]
|
||||||
% \gitlab{your_id}
|
% \gitlab{your_id}
|
||||||
}
|
}
|
||||||
|
|
||||||
\makecvheader
|
\makecvheader
|
||||||
%% Depending on your tastes, you may want to make fonts of itemize environments slightly smaller
|
%% Depending on your tastes, you may want to make fonts of itemize environments slightly smaller
|
||||||
% \AtBeginEnvironment{itemize}{\small}
|
% \AtBeginEnvironment{itemize}{\small}
|
||||||
|
|
||||||
%% Set the left/right column width ratio to 6:4.
|
%% Set the left/right column width ratio to 6:4.
|
||||||
\columnratio{0.55}
|
\columnratio{0.55}
|
||||||
|
|
||||||
% Start a 2-column paracol. Both the left and right columns will automatically
|
% Start a 2-column paracol. Both the left and right columns will automatically
|
||||||
% break across pages if things get too long.
|
% break across pages if things get too long.
|
||||||
\begin{paracol}{2}
|
\begin{paracol}{2}
|
||||||
\cvsection{Expériences professionnelles}
|
\cvsection{Expériences professionnelles}
|
||||||
|
|
||||||
\cvevent{Chargé d'études ornithologiques}{Synergis Environnement - Agence Est}{Janvier 2021 -- En cours}{Vaulx-en-Velin (69)}
|
\cvevent{Chargé d'études ornithologiques}{Synergis Environnement - Agence Est}{Janvier 2021 -- En cours}{Vaulx-en-Velin (69)}
|
||||||
Inventaire avifaune (IPA, migration, rapaces,...) + faune généraliste / suivi mortalité / VNEI / Impacts et Mesures
|
Inventaire avifaune (IPA, migration, rapaces,...) + faune généraliste / suivi mortalité / VNEI / Impacts et Mesures
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Impact de la pollution lumineuse sur la biodiversité}{P.N.R des Baronnies provençales - IMBE}{Février 2020 -- Août 2020}{Drôme (26) - Hautes-Alpes (05)}
|
\cvevent{Impact de la pollution lumineuse sur la biodiversité}{P.N.R des Baronnies provençales - IMBE}{Février 2020 -- Août 2020}{Drôme (26) - Hautes-Alpes (05)}
|
||||||
Bio-écoacoustique / Pollution lumineuse / Activité et indices acoustiques
|
Bio-écoacoustique / Pollution lumineuse / Activité et indices acoustiques
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Compétition entre deux espèces de Geckos}{Agence Française pour la Biodiversité - P.N. de Port-Cros}{Septembre 2019}{Île de Porquerolles (83)}
|
\cvevent{Compétition entre deux espèces de Geckos}{Agence Française pour la Biodiversité - P.N. de Port-Cros}{Septembre 2019}{Île de Porquerolles (83)}
|
||||||
Étude scientifique / Milieu insulaire / Compétition écologique
|
Étude scientifique / Milieu insulaire / Compétition écologique
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Caractérisation du territoire de reproduction de la \\Pie-grièche méridionale}{Ligue pour la Protection des Oiseaux - PACA}{Mars 2019 -- Juin 2019}{Bouches-du-Rhône (13)}
|
\cvevent{Caractérisation du territoire de reproduction de la \\Pie-grièche méridionale}{Ligue pour la Protection des Oiseaux - PACA}{Mars 2019 -- Juin 2019}{Bouches-du-Rhône (13)}
|
||||||
Capture / Radiopistage / Territoires de reproduction / Publication
|
Capture / Radiopistage / Territoires de reproduction / Publication
|
||||||
|
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Lien entre communauté d’Orthoptères et hauteur de végétation}{Institut Méditerranéen de Biodiversité et d'Écologie - IMBE}{Septembre 2018}{Vallée de l'Ubaye (04)}
|
\cvevent{Lien entre communauté d’Orthoptères et hauteur de végétation}{Institut Méditerranéen de Biodiversité et d'Écologie - IMBE}{Septembre 2018}{Vallée de l'Ubaye (04)}
|
||||||
Étude scientifique : protocole - terrain - analyse / Travail en équipe
|
Étude scientifique : protocole - terrain - analyse / Travail en équipe
|
||||||
|
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Chargé d'études faunistiques}{Alp'Pagès / Ecoscim}{Mai 2018 -- Août 2018}{France métropolitaine}
|
\cvevent{Chargé d'études faunistiques}{Alp'Pagès / Ecoscim}{Mai 2018 -- Août 2018}{France métropolitaine}
|
||||||
Alpes / Vosges / Pyrénées / Inventaire / SIG / VNEI
|
Alpes / Vosges / Pyrénées / Inventaire / SIG / VNEI
|
||||||
|
|
||||||
\switchcolumn
|
\switchcolumn
|
||||||
|
|
||||||
\cvsection{Études}
|
\cvsection{Études}
|
||||||
|
|
||||||
\cvevent{Master en Biodiversité, Écologie, Évolution}{Université Aix-Marseille}{Sept 2018 -- Sept 2020}{Marseille (13)}
|
\cvevent{Master en Biodiversité, Écologie, Évolution}{Université Aix-Marseille}{Sept 2018 -- Sept 2020}{Marseille (13)}
|
||||||
%%Ajout de détails
|
%%Ajout de détails
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Licence en Biologie générale}{Université Grenoble-Alpes}{Sept 2015 -- Mai 2018}{Grenoble (38)}
|
\cvevent{Licence en Biologie générale}{Université Grenoble-Alpes}{Sept 2015 -- Mai 2018}{Grenoble (38)}
|
||||||
%%Ajout de détails
|
%%Ajout de détails
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Baccalauréat Général Scientifique}{Institution Notre-Dame}{2015}{Valence (26)}
|
\cvevent{Baccalauréat Général Scientifique}{Institution Notre-Dame}{2015}{Valence (26)}
|
||||||
%%Ajout de détails
|
%%Ajout de détails
|
||||||
|
|
||||||
\cvsection{Langues et informatique}
|
\cvsection{Langues et informatique}
|
||||||
|
|
||||||
\cvevent{Langues vivantes}{}{}{}
|
\cvevent{Langues vivantes}{}{}{}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Anglais : Courant (B1)
|
\item Anglais : Courant (B1)
|
||||||
\item Espagnol : Notions (A2)
|
\item Espagnol : Notions (A2)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvevent{Informatique et technologies}{}{}{}
|
\cvevent{Informatique et technologies}{}{}{}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Analyse de données : R, QGIS, MARK, MAXENT
|
\item Analyse de données : R, QGIS, MARK, MAXENT
|
||||||
\item Bureautique : Pack Office, LaTex
|
\item Bureautique : Pack Office, LaTex
|
||||||
\item C2i : obtention en 2017
|
\item C2i : obtention en 2017
|
||||||
\item Site internet : \url{https://www.adriencharbonneau.fr}
|
\item Site internet : \url{https://www.adriencharbonneau.fr}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
% use ONLY \newpage if you want to force a page break for
|
% use ONLY \newpage if you want to force a page break for
|
||||||
% ONLY the current column
|
% ONLY the current column
|
||||||
% \newpage
|
% \newpage
|
||||||
|
|
||||||
|
|
||||||
%% Switch to the right column. This will now automatically move to the second
|
%% Switch to the right column. This will now automatically move to the second
|
||||||
%% page if the content is too long.
|
%% page if the content is too long.
|
||||||
|
|
||||||
|
|
||||||
\cvsection{Compétences}
|
\cvsection{Compétences}
|
||||||
|
|
||||||
\cvtag{Ornithologie}
|
\cvtag{Ornithologie}
|
||||||
\cvtag{Naturalisme}
|
\cvtag{Naturalisme}
|
||||||
\cvtag{Écologie}\\
|
\cvtag{Écologie}\\
|
||||||
% \divider\smallskip
|
% \divider\smallskip
|
||||||
\cvtag{Conservation et gestion}
|
\cvtag{Conservation et gestion}
|
||||||
\cvtag{Analyse de données}\\
|
\cvtag{Analyse de données}\\
|
||||||
\cvtag{Cartographie}
|
\cvtag{Cartographie}
|
||||||
\cvtag{Bio-Éco-Acoustique}\\
|
\cvtag{Bio-Éco-Acoustique}\\
|
||||||
\cvtag{Science}
|
\cvtag{Science}
|
||||||
\cvtag{Rédaction}
|
\cvtag{Rédaction}
|
||||||
\cvtag{Aisance orale}
|
\cvtag{Aisance orale}
|
||||||
|
|
||||||
\end{paracol}
|
\end{paracol}
|
||||||
\begin{paracol}{1}
|
\begin{paracol}{1}
|
||||||
\bigskip
|
\bigskip
|
||||||
\cvsection{Centres d'intérêt et autres activités}
|
\cvsection{Centres d'intérêt et autres activités}
|
||||||
|
|
||||||
\cvachievement{\faBinoculars}{Naturalisme}{Suivis migration / Wetlands / STOC / EPOC / Suivi amphibiens / Vigie-chiro / Participation Atlas de Biodiversité - Régionaux}
|
\cvachievement{\faBinoculars}{Naturalisme}{Suivis migration / Wetlands / STOC / EPOC / Suivi amphibiens / Vigie-chiro / Participation Atlas de Biodiversité - Régionaux}
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvachievement{\faLeaf}{Bénévolat/Adhésion}{Ligue pour la Protection des Oiseaux (2012) / Société Nationale de la Protection de la Nature (2019) / Alauda (2021)}
|
\cvachievement{\faLeaf}{Bénévolat/Adhésion}{Ligue pour la Protection des Oiseaux (2012) / Société Nationale de la Protection de la Nature (2019) / Sympetrum (2020) / Alauda (2021)}
|
||||||
|
|
||||||
\divider
|
\divider
|
||||||
|
|
||||||
\cvachievement{\faSearch}{Sciences participatives}{Saisies d’observations sur les bases de données Biolovision (Faune-France / Naturalist) / Telabotanica / Spipoll}
|
\cvachievement{\faSearch}{Sciences participatives}{Saisies d’observations sur les bases de données Biolovision (Faune-France / Naturalist) / Telabotanica / Spipoll}
|
||||||
|
|
||||||
\end{paracol}
|
\end{paracol}
|
||||||
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
780
altacv.cls
780
altacv.cls
@ -1,379 +1,403 @@
|
|||||||
%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%
|
||||||
% This is altacv.cls (v1.5, 8 May 2021) written by
|
% This is altacv.cls (v1.6.5, 3 Nov 2022) written by
|
||||||
% LianTze Lim (liantze@gmail.com).
|
% LianTze Lim (liantze@gmail.com).
|
||||||
%
|
%
|
||||||
%% It may be distributed and/or modified under the
|
%% It may be distributed and/or modified under the
|
||||||
%% conditions of the LaTeX Project Public License, either version 1.3
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
||||||
%% of this license or (at your option) any later version.
|
%% of this license or (at your option) any later version.
|
||||||
%% The latest version of this license is in
|
%% The latest version of this license is in
|
||||||
%% http://www.latex-project.org/lppl.txt
|
%% http://www.latex-project.org/lppl.txt
|
||||||
%% and version 1.3 or later is part of all distributions of LaTeX
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
||||||
%% version 2003/12/01 or later.
|
%% version 2003/12/01 or later.
|
||||||
%%
|
%%
|
||||||
%%
|
%%
|
||||||
% Contributions:
|
% Contributions:
|
||||||
% - https://github.com/akreuzer Added ragged2e option (5 Nov 2018)
|
% - https://github.com/akreuzer Added ragged2e option (5 Nov 2018)
|
||||||
% - https://github.com/stefanogermano Fixed bad boxes and undefined font shape (July 2018)
|
% - https://github.com/stefanogermano Fixed bad boxes and undefined font shape (July 2018)
|
||||||
% - https://github.com/foohyfooh Fixed blank spaces in \cvevent and bad link in README.md (June 2018)
|
% - https://github.com/foohyfooh Fixed blank spaces in \cvevent and bad link in README.md (June 2018)
|
||||||
|
% - https://github.com/logological Remove redundant hyperref and typos (Apr 2021)
|
||||||
%%%%%%%%%%%%%%%%
|
|
||||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
%%%%%%%%%%%%%%%%
|
||||||
\ProvidesClass{altacv}[2021/05/08 AltaCV v1.5, yet another alternative class for a resume/curriculum vitae.]
|
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
||||||
|
\ProvidesClass{altacv}[2022/11/03 AltaCV v1.6.5, yet another alternative class for a resume/curriculum vitae.]
|
||||||
%% v1.1: Optionally load academicons
|
|
||||||
%% v1.4: Nope, academicons is unnecessary; fontawesome5 has \faOrcid.
|
%% v1.1: Optionally load academicons
|
||||||
\DeclareOption{academicons}{\ClassWarning{altacv}{academicons option is now obsolete and unnecessary.}}
|
%% v1.4: Nope, academicons is unnecessary; fontawesome5 has \faOrcid.
|
||||||
%% v1.1.3: Choice of round/square photo
|
\DeclareOption{academicons}{\ClassWarning{altacv}{academicons option is now obsolete and unnecessary.}}
|
||||||
\newif\if@normalphoto
|
%% v1.1.3: Choice of round/square photo
|
||||||
\DeclareOption{normalphoto}{\@normalphototrue}
|
\newif\if@normalphoto
|
||||||
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}}
|
\DeclareOption{normalphoto}{\@normalphototrue}
|
||||||
\newif\if@raggedtwoe
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}}
|
||||||
\DeclareOption{ragged2e}{\@raggedtwoetrue}
|
\newif\if@raggedtwoe
|
||||||
%% v1.3: load hyperref for clickable hyperlinks
|
\DeclareOption{ragged2e}{\@raggedtwoetrue}
|
||||||
\newif\if@withhyper
|
%% v1.3: load hyperref for clickable hyperlinks
|
||||||
\DeclareOption{withhyper}{\@withhypertrue}
|
\newif\if@withhyper
|
||||||
\ProcessOptions\relax
|
\DeclareOption{withhyper}{\@withhypertrue}
|
||||||
|
\ProcessOptions\relax
|
||||||
\LoadClass{article}
|
|
||||||
%% v1.3.2 Hopefully this helps make the PDF
|
\LoadClass{extarticle}
|
||||||
%% file more 'friendly' with copy-paste etc
|
%% v1.3.2 Hopefully this helps make the PDF
|
||||||
\RequirePackage[a-1b]{pdfx}
|
%% file more 'friendly' with copy-paste etc
|
||||||
%% v1.3.3 Temporary fix for pdfx and biblatex incompatibility
|
\RequirePackage{etoolbox}
|
||||||
%% (Thanks to @badetitou for highlighting this issue)
|
\RequirePackage[a-1b]{pdfx}
|
||||||
%% https://github.com/plk/biblatex/issues/1044
|
\RequirePackage{accsupp}
|
||||||
%% Will be removed when fix is released in biblatex 3.16
|
\RequirePackage[margin=2cm]{geometry}
|
||||||
% \catcode30=12
|
\RequirePackage[fixed]{fontawesome5}
|
||||||
\RequirePackage[margin=2cm]{geometry}
|
\RequirePackage{ifxetex,ifluatex}
|
||||||
\RequirePackage[fixed]{fontawesome5}
|
\RequirePackage{scrlfile}
|
||||||
\RequirePackage{ifxetex,ifluatex}
|
\RequirePackage{xparse}
|
||||||
\RequirePackage{scrlfile}
|
|
||||||
\RequirePackage{xparse}
|
%% v1.1.5: added for convenience
|
||||||
|
\newif\ifxetexorluatex
|
||||||
%% v1.1.5: added for convenience
|
\ifxetex
|
||||||
\newif\ifxetexorluatex
|
\xetexorluatextrue
|
||||||
\ifxetex
|
\else
|
||||||
\xetexorluatextrue
|
\ifluatex
|
||||||
\else
|
\xetexorluatextrue
|
||||||
\ifluatex
|
\else
|
||||||
\xetexorluatextrue
|
\xetexorluatexfalse
|
||||||
\else
|
\fi
|
||||||
\xetexorluatexfalse
|
\fi
|
||||||
\fi
|
|
||||||
\fi
|
\ifxetexorluatex
|
||||||
|
\RequirePackage{fontspec}
|
||||||
\ifxetexorluatex
|
\else
|
||||||
\RequirePackage{fontspec}
|
%% v1.3.2 attempts to make ligatures
|
||||||
\else
|
%% copy-paste as normal characters
|
||||||
%% v1.3.2 attempts to make ligatures
|
\RequirePackage{cmap}
|
||||||
%% copy-paste as normal characters
|
\RequirePackage[utf8]{inputenc}
|
||||||
\RequirePackage{cmap}
|
\RequirePackage[T1]{fontenc}
|
||||||
\RequirePackage[utf8]{inputenc}
|
\input{glyphtounicode}
|
||||||
\RequirePackage[T1]{fontenc}
|
\pdfglyphtounicode{f_f}{FB00}
|
||||||
\input{glyphtounicode}
|
\pdfglyphtounicode{f_f_i}{FB03}
|
||||||
\pdfglyphtounicode{f_f}{FB00}
|
\pdfglyphtounicode{f_f_l}{FB04}
|
||||||
\pdfglyphtounicode{f_f_i}{FB03}
|
\pdfglyphtounicode{f_i}{FB01}
|
||||||
\pdfglyphtounicode{f_f_l}{FB04}
|
\pdfgentounicode=1
|
||||||
\pdfglyphtounicode{f_i}{FB01}
|
\fi
|
||||||
\pdfgentounicode=1
|
|
||||||
\fi
|
\if@raggedtwoe
|
||||||
|
\RequirePackage[newcommands]{ragged2e}
|
||||||
\if@raggedtwoe
|
\fi
|
||||||
\RequirePackage[newcommands]{ragged2e}
|
|
||||||
\fi
|
\if@withhyper
|
||||||
|
\AtBeginDocument{%
|
||||||
\if@withhyper
|
\hypersetup{hidelinks}
|
||||||
\AtBeginDocument{%
|
\urlstyle{same}
|
||||||
\hypersetup{hidelinks}
|
}
|
||||||
\urlstyle{same}
|
\fi
|
||||||
}
|
|
||||||
\fi
|
\RequirePackage{xcolor}
|
||||||
|
|
||||||
\RequirePackage{xcolor}
|
\colorlet{accent}{blue!70!black}
|
||||||
|
\colorlet{emphasis}{black}
|
||||||
\colorlet{accent}{blue!70!black}
|
\colorlet{heading}{black}
|
||||||
\colorlet{emphasis}{black}
|
\colorlet{headingrule}{black}
|
||||||
\colorlet{heading}{black}
|
\colorlet{subheading}{emphasis}
|
||||||
\colorlet{headingrule}{black}
|
\colorlet{body}{black!80!white}
|
||||||
\colorlet{subheading}{emphasis}
|
\colorlet{name}{heading}
|
||||||
\colorlet{body}{black!80!white}
|
\colorlet{tagline}{accent}
|
||||||
\colorlet{name}{heading}
|
\newcommand{\itemmarker}{{\small\textbullet}}
|
||||||
\colorlet{tagline}{accent}
|
\newcommand{\ratingmarker}{\faCircle}
|
||||||
\newcommand{\itemmarker}{{\small\textbullet}}
|
|
||||||
\newcommand{\ratingmarker}{\faCircle}
|
\RequirePackage{tikz}
|
||||||
|
\usetikzlibrary{arrows}
|
||||||
\RequirePackage{tikz}
|
\RequirePackage[skins]{tcolorbox}
|
||||||
\usetikzlibrary{arrows}
|
\RequirePackage[inline]{enumitem}
|
||||||
\RequirePackage[skins]{tcolorbox}
|
\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vspace{0.25\baselineskip}}
|
||||||
\RequirePackage[inline]{enumitem}
|
\setlist[itemize]{label=\itemmarker}
|
||||||
\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vspace{0.25\baselineskip}}
|
\RequirePackage{graphicx}
|
||||||
\setlist[itemize]{label=\itemmarker}
|
\RequirePackage{trimclip}
|
||||||
\RequirePackage{graphicx}
|
\RequirePackage{dashrule}
|
||||||
\RequirePackage{etoolbox}
|
\RequirePackage{multirow,tabularx}
|
||||||
\RequirePackage{dashrule}
|
\RequirePackage{changepage}
|
||||||
\RequirePackage{multirow,tabularx}
|
% \RequirePackage{marginfix}
|
||||||
\RequirePackage{changepage}
|
|
||||||
% \RequirePackage{marginfix}
|
\setlength{\parindent}{0pt}
|
||||||
|
\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip}
|
||||||
\setlength{\parindent}{0pt}
|
|
||||||
\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip}
|
\newenvironment{fullwidth}{%
|
||||||
|
\begin{adjustwidth}{}{\dimexpr-\marginparwidth-\marginparsep\relax}}
|
||||||
\newenvironment{fullwidth}{%
|
{\end{adjustwidth}}
|
||||||
\begin{adjustwidth}{}{\dimexpr-\marginparwidth-\marginparsep\relax}}
|
|
||||||
{\end{adjustwidth}}
|
%% v1.3.1 \detokenize will break UTF-8 in pdflatex
|
||||||
|
%% Using alternative from https://tex.stackexchange.com/a/530911/226
|
||||||
%% v1.3.1 \detokenize will break UTF-8 in pdflatex
|
\newcommand{\utffriendlydetokenize}[1]{%
|
||||||
%% Using alternative from https://tex.stackexchange.com/a/530911/226
|
\scantokens{%
|
||||||
\newcommand{\utffriendlydetokenize}[1]{%
|
\catcode`\_=12%
|
||||||
\scantokens{%
|
% \catcode`\^=12%
|
||||||
\catcode`\_=12%
|
% \catcode`\{=12%
|
||||||
% \catcode`\^=12%
|
% \catcode`\}=12%
|
||||||
% \catcode`\{=12%
|
\catcode`\&=12%
|
||||||
% \catcode`\}=12%
|
\catcode`\$=12%
|
||||||
\catcode`\&=12%
|
\catcode`\#=12%
|
||||||
\catcode`\$=12%
|
\catcode`\~=12%
|
||||||
\catcode`\#=12%
|
% \catcode`\\=12%
|
||||||
\catcode`\~=12%
|
{#1}%
|
||||||
% \catcode`\\=12%
|
}%
|
||||||
{#1}%
|
}
|
||||||
}%
|
%% v1.3: Incorporating hyperlinks
|
||||||
}
|
%% v1.3.1: using \unfriendlydetokenize to avoid breaking unicode
|
||||||
%% v1.3: Incorporating hyperlinks
|
%% v1.6: Use accsupp so that when copying/pasting the icon from PDF to a text
|
||||||
%% v1.3.1: using \unfriendlydetokenize to avoid
|
%% file, the icon name is pasted
|
||||||
%% breaking unicode
|
\ExplSyntaxOn
|
||||||
\ExplSyntaxOn
|
\NewDocumentCommand{\printinfo}{m m o}{%
|
||||||
\NewDocumentCommand{\printinfo}{m m o}{%
|
\BeginAccSupp{method=escape,ActualText={#1:~#2}}
|
||||||
\IfNoValueTF{#3}{%
|
\IfNoValueTF{#3}{%
|
||||||
\mbox{\textcolor{accent}{\normalfont #1}~\utffriendlydetokenize{#2}\hspace{2em}}%
|
\mbox{\textcolor{accent}{\normalfont #1}~\utffriendlydetokenize{#2}\hspace{2em}}%
|
||||||
}{%
|
}{%
|
||||||
\if@withhyper%
|
\if@withhyper%
|
||||||
\mbox{\textcolor{accent}{\normalfont #1}~
|
\mbox{\textcolor{accent}{\normalfont #1}~
|
||||||
\href{#3}{\utffriendlydetokenize{#2}}\hspace{2em}}
|
\href{#3}{\utffriendlydetokenize{#2}}\hspace{2em}}
|
||||||
\else%
|
\else%
|
||||||
\ClassWarning{Please specify [withhyper] option to enable hyperlinks. Printing out full hyperlink prefix #1 for now.}%
|
\ClassWarning{Please specify [withhyper] option to enable hyperlinks. Printing out full hyperlink prefix #1 for now.}%
|
||||||
\mbox{\textcolor{accent}{\normalfont #1}~{\utffriendlydetokenize{#3#2}}\hspace{2em}}%
|
\mbox{\textcolor{accent}{\normalfont #1}~{\utffriendlydetokenize{#3#2}}\hspace{2em}}%
|
||||||
\fi%
|
\fi%
|
||||||
}%
|
}%
|
||||||
}%
|
\EndAccSupp{}
|
||||||
|
}%
|
||||||
%% v1.3: Exploring convenient creation of fields
|
|
||||||
\NewDocumentCommand{\NewInfoField}{m m o}{%
|
%% v1.3: Exploring convenient creation of fields
|
||||||
\IfNoValueF{#3}{\csdef{#1 hyperprefix}{#3}}%
|
%% v1.6: Add starred mode to create \printinfo with full URL
|
||||||
\csdef{#1 symbol}{#2}%
|
\NewDocumentCommand{\NewInfoField}{s m m o}{%
|
||||||
\csdef{#1}##1{%
|
\IfBooleanF{#1}{
|
||||||
\if@withhyper
|
\IfNoValueF{#4}{\csdef{#2 hyperprefix}{#4}}%
|
||||||
\IfNoValueTF {#3}
|
}
|
||||||
{\printinfo{\csuse{#1 symbol}}{##1}}%
|
\csdef{#2 symbol}{#3}%
|
||||||
{\printinfo{\csuse{#1 symbol}}{##1}[\csuse{#1 hyperprefix}##1]}%
|
\IfBooleanTF{#1}
|
||||||
\else
|
{ \csdef{#2}##1##2{%
|
||||||
\printinfo{\csuse{#1 symbol}}{##1}%
|
\if@withhyper
|
||||||
\fi%
|
\IfNoValueTF {##2}
|
||||||
}
|
{\printinfo{\csuse{#2 symbol}}{##1}}%
|
||||||
}
|
{\printinfo{\csuse{#2 symbol}}{##1}[##2]}%
|
||||||
\ExplSyntaxOff
|
\else
|
||||||
|
\printinfo{\csuse{#2 symbol}}{##1}%
|
||||||
\newcommand{\name}[1]{\def\@name{#1}}
|
\fi%
|
||||||
\newcommand{\tagline}[1]{\def\@tagline{#1}}
|
}%
|
||||||
\newcommand{\personalinfo}[1]{\def\@personalinfo{#1}}
|
}
|
||||||
\NewInfoField{email}{\faAt}[mailto:]
|
{ \csdef{#2}##1{%
|
||||||
\NewInfoField{mailaddress}{\faEnvelope}
|
\if@withhyper
|
||||||
\NewInfoField{phone}{\faPhone}[tel:]
|
\IfNoValueTF {#4}
|
||||||
\NewInfoField{car}{\faCar}
|
{\printinfo{\csuse{#2 symbol}}{##1}}%
|
||||||
\NewInfoField{homepage}{\faGlobe}[https://]
|
{\printinfo{\csuse{#2 symbol}}{##1}[\csuse{#2 hyperprefix}##1]}%
|
||||||
\NewInfoField{twitter}{\faTwitter}[https://twitter.com/]
|
\else
|
||||||
\NewInfoField{linkedin}{\faLinkedin}[https://linkedin.com/in/]
|
\printinfo{\csuse{#2 symbol}}{##1}%
|
||||||
\NewInfoField{git}{\faGitSquare}[https://git.adriencharbonneau.fr/]
|
\fi%
|
||||||
\NewInfoField{researchgate}{\faResearchgate}[https://www.researchgate.net/profile/]
|
}%
|
||||||
% v1.?? Use fontawesome5 for Orcid symbol
|
}
|
||||||
\NewInfoField{orcid}{\faOrcid}[https://orcid.org/]
|
}
|
||||||
\NewInfoField{location}{\faMapMarker}
|
\ExplSyntaxOff
|
||||||
|
|
||||||
% v1.2: Support for multiple photos
|
\newcommand{\name}[1]{\def\@name{#1}}
|
||||||
\newlength{\altacv@photos@width}
|
\newcommand{\tagline}[1]{\def\@tagline{#1}}
|
||||||
\newlength{\altacv@photo@diam@left}
|
\newcommand{\personalinfo}[1]{\def\@personalinfo{#1}}
|
||||||
\newlength{\altacv@photo@diam@right}
|
\NewInfoField{email}{\faAt}[mailto:]
|
||||||
\def\altacv@left@photos{}
|
\NewInfoField{mailaddress}{\faEnvelope}
|
||||||
\def\altacv@right@photos{}
|
\NewInfoField{phone}{\faPhone}[tel:]
|
||||||
|
\NewInfoField{car}{\faCar}
|
||||||
\newcommand{\@makeaphoto}[2]{%
|
\NewInfoField{homepage}{\faGlobe}[https://]
|
||||||
\begin{minipage}{#1}%
|
\NewInfoField{twitter}{\faTwitter}[https://twitter.com/]
|
||||||
\if@normalphoto
|
\NewInfoField{linkedin}{\faLinkedin}[https://linkedin.com/in/]
|
||||||
\includegraphics[width=\linewidth]{#2}
|
\NewInfoField{git}{\faGitSquare}[https://git.adriencharbonneau.fr/]
|
||||||
\else
|
\NewInfoField{researchgate}{\faResearchgate}[https://www.researchgate.net/profile/]
|
||||||
\tikz\path[fill overzoom image={#2}][scale=3][rounded corners=10mm] (0,0)--(0,1)--(1,1)--(1,0)--cycle;
|
% v1.?? Use fontawesome5 for Orcid symbol
|
||||||
\fi%
|
\NewInfoField{orcid}{\faOrcid}[https://orcid.org/]
|
||||||
\end{minipage}%
|
\NewInfoField{location}{\faMapMarker}
|
||||||
}
|
|
||||||
|
% v1.2: Support for multiple photos
|
||||||
\newcommand{\altacv@add@photo@left}[1]{%
|
\newlength{\altacv@photos@width}
|
||||||
\appto{\altacv@left@photos}{%
|
\newlength{\altacv@photo@diam@left}
|
||||||
\@makeaphoto{\altacv@photo@diam@left}{#1}\hspace{1ex}%
|
\newlength{\altacv@photo@diam@right}
|
||||||
}%
|
\def\altacv@left@photos{}
|
||||||
\addtolength{\altacv@photos@width}{\altacv@photo@diam@left}%
|
\def\altacv@right@photos{}
|
||||||
\addtolength{\altacv@photos@width}{1ex}%
|
|
||||||
}
|
\newcommand{\@makeaphoto}[2]{%
|
||||||
\newcommand{\altacv@add@photo@right}[1]{%
|
\begin{minipage}{#1}%
|
||||||
\appto{\altacv@right@photos}{%
|
\if@normalphoto
|
||||||
\@makeaphoto{\altacv@photo@diam@right}{#1}\hspace{1ex}%
|
\includegraphics[width=\linewidth]{#2}
|
||||||
}%
|
\else
|
||||||
\addtolength{\altacv@photos@width}{\altacv@photo@diam@right}%
|
\tikz\path[fill overzoom image={#2}][scale=3][rounded corners=2mm] (0,0)--(0,1)--(1,1)--(1,0)--cycle;
|
||||||
\addtolength{\altacv@photos@width}{1ex}%
|
\fi%
|
||||||
}
|
\end{minipage}%
|
||||||
\newcommand{\photoL}[2]{%
|
}
|
||||||
\setlength{\altacv@photo@diam@left}{#1}%
|
|
||||||
\forcsvlist{\altacv@add@photo@left}{#2}%
|
\newcommand{\altacv@add@photo@left}[1]{%
|
||||||
}
|
\appto{\altacv@left@photos}{%
|
||||||
\newcommand{\photoR}[2]{%
|
\@makeaphoto{\altacv@photo@diam@left}{#1}\hspace{1ex}%
|
||||||
\setlength{\altacv@photo@diam@right}{#1}%
|
}%
|
||||||
\forcsvlist{\altacv@add@photo@right}{#2}%
|
\addtolength{\altacv@photos@width}{\altacv@photo@diam@left}%
|
||||||
}
|
\addtolength{\altacv@photos@width}{1ex}%
|
||||||
\let\photo\photoR
|
}
|
||||||
|
\newcommand{\altacv@add@photo@right}[1]{%
|
||||||
\newcommand{\namefont}{\Huge\bfseries}
|
\appto{\altacv@right@photos}{%
|
||||||
\newcommand{\taglinefont}{\large\bfseries}
|
\@makeaphoto{\altacv@photo@diam@right}{#1}\hspace{1ex}%
|
||||||
\newcommand{\personalinfofont}{\footnotesize\bfseries}
|
}%
|
||||||
\newcommand{\cvsectionfont}{\LARGE\bfseries}
|
\addtolength{\altacv@photos@width}{\altacv@photo@diam@right}%
|
||||||
\newcommand{\cvsubsectionfont}{\large\bfseries}
|
\addtolength{\altacv@photos@width}{1ex}%
|
||||||
|
}
|
||||||
\newcommand{\makecvheader}{%
|
\newcommand{\photoL}[2]{%
|
||||||
\begingroup
|
\setlength{\altacv@photo@diam@left}{#1}%
|
||||||
\altacv@left@photos\hfill%
|
\forcsvlist{\altacv@add@photo@left}{#2}%
|
||||||
\begin{minipage}{\dimexpr\linewidth-\altacv@photos@width}%
|
}
|
||||||
\raggedright%
|
\newcommand{\photoR}[2]{%
|
||||||
{\namefont\color{name}{\@name}\par} %\MakeUppercase
|
\setlength{\altacv@photo@diam@right}{#1}%
|
||||||
\medskip
|
\forcsvlist{\altacv@add@photo@right}{#2}%
|
||||||
{\taglinefont\color{tagline}\@tagline\par}
|
}
|
||||||
\medskip
|
\let\photo\photoR
|
||||||
{\personalinfofont\@personalinfo\par}
|
|
||||||
\end{minipage}\hfill%
|
\newcommand{\namefont}{\Huge\bfseries}
|
||||||
\altacv@right@photos\par%
|
\newcommand{\taglinefont}{\large\bfseries}
|
||||||
\endgroup\medskip
|
\newcommand{\personalinfofont}{\footnotesize\bfseries}
|
||||||
}
|
\newcommand{\cvsectionfont}{\LARGE\bfseries}
|
||||||
|
\newcommand{\cvsubsectionfont}{\large\bfseries}
|
||||||
\renewenvironment{quote}{\color{accent}\itshape\large}{\par}
|
|
||||||
|
\newcommand{\makecvheader}{%
|
||||||
\newcommand{\cvsection}[2][]{%
|
\begingroup
|
||||||
\bigskip%
|
\altacv@left@photos\hfill%
|
||||||
\ifstrequal{#1}{}{}{\marginpar{\vspace*{\dimexpr1pt-\baselineskip}\raggedright\input{#1}}}%
|
\begin{minipage}{\dimexpr\linewidth-\altacv@photos@width}%
|
||||||
{\color{heading}\cvsectionfont{#2}}\\[-1ex]% %\MakeUppercase
|
\raggedright%
|
||||||
{\color{headingrule}\rule{\linewidth}{2pt}\par}\medskip
|
{\namefont\color{name}{\@name}\par} %\MakeUppercase
|
||||||
}
|
\medskip
|
||||||
|
{\taglinefont\color{tagline}\@tagline\par}
|
||||||
\newcommand{\cvsubsection}[1]{%
|
\medskip
|
||||||
\smallskip%
|
{\personalinfofont\@personalinfo\par}
|
||||||
{\color{subheading}\cvsubsectionfont{#1}\par}\medskip
|
\end{minipage}\hfill%
|
||||||
}
|
\altacv@right@photos\par%
|
||||||
|
\endgroup\medskip
|
||||||
% v1.1.4: fixes inconsistent font size
|
}
|
||||||
\newcommand{\cvevent}[4]{%
|
|
||||||
{\large\color{emphasis}#1\par}
|
\renewenvironment{quote}{\color{accent}\itshape\large}{\par}
|
||||||
\smallskip\normalsize
|
|
||||||
\ifstrequal{#2}{}{}{
|
\newcommand{\cvsection}[2][]{%
|
||||||
\textbf{\color{accent}#2}\par
|
\nointerlineskip\bigskip% %% bugfix in v1.6.2
|
||||||
\smallskip}
|
\ifstrequal{#1}{}{}{\marginpar{\vspace*{\dimexpr1pt-\baselineskip}\raggedright\input{#1}}}%
|
||||||
\ifstrequal{#3}{}{}{{\small\makebox[0.5\linewidth][l]{\faCalendar~#3}}}%
|
{\color{heading}\cvsectionfont{#2}}\\[-1ex]% %\MakeUppercase
|
||||||
\ifstrequal{#4}{}{}{{\small\makebox[0.5\linewidth][l]{\faMapMarker~#4}}}\par
|
{\color{headingrule}\rule{\linewidth}{2pt}\par}\medskip
|
||||||
\medskip\normalsize
|
}
|
||||||
}
|
|
||||||
|
\newcommand{\cvsubsection}[1]{%
|
||||||
\newcommand{\cvachievement}[3]{%
|
\smallskip%
|
||||||
\begin{tabularx}{\linewidth}{@{}p{2em} @{\hspace{1ex}} >{\raggedright\arraybackslash}X@{}}
|
{\color{subheading}\cvsubsectionfont{#1}\par}\medskip
|
||||||
\multirow{2}{*}{\Large\color{accent}#1} & \bfseries\textcolor{emphasis}{#2}\\
|
}
|
||||||
& #3
|
|
||||||
\end{tabularx}%
|
% v1.1.4: fixes inconsistent font size
|
||||||
\smallskip
|
\newcommand{\cvevent}[4]{%
|
||||||
}
|
{\large\color{emphasis}#1\par}
|
||||||
|
\smallskip\normalsize
|
||||||
\newcommand{\cvtag}[1]{%
|
\ifstrequal{#2}{}{}{
|
||||||
\tikz[baseline]\node[anchor=base,draw=body!30,rounded corners,inner xsep=1ex,inner ysep =0.75ex,text height=1.5ex,text depth=.25ex]{#1};
|
\textbf{\color{accent}#2}\par
|
||||||
}
|
\smallskip}
|
||||||
|
\ifstrequal{#3}{}{}{{\small\makebox[0.5\linewidth][l]{\faCalendar~#3}}}%
|
||||||
\newcommand{\cvskill}[2]{%
|
\ifstrequal{#4}{}{}{{\small\makebox[0.5\linewidth][l]{\faMapMarker~#4}}}\par
|
||||||
\textcolor{emphasis}{\textbf{#1}}\hfill
|
\medskip\normalsize
|
||||||
\foreach \x in {1,...,5}{%
|
}
|
||||||
\space{\ifnumgreater{\x}{#2}{\color{body!30}}{\color{accent}}\ratingmarker}}\par%
|
|
||||||
}
|
\newcommand{\cvachievement}[3]{%
|
||||||
|
\begin{tabularx}{\linewidth}{@{}p{2em} @{\hspace{1ex}} >{\raggedright\arraybackslash}X@{}}
|
||||||
% Adapted from @Jake's answer at http://tex.stackexchange.com/a/82729/226
|
\multirow{2}{*}{\Large\color{accent}#1} & \bfseries\textcolor{emphasis}{#2}\\
|
||||||
\newcommand{\wheelchart}[4][0]{%
|
& #3
|
||||||
\begingroup\centering
|
\end{tabularx}%
|
||||||
\def\innerradius{#3}%
|
\smallskip
|
||||||
\def\outerradius{#2}%
|
}
|
||||||
% Calculate total
|
|
||||||
\pgfmathsetmacro{\totalnum}{0}%
|
\newcommand{\cvtag}[1]{%
|
||||||
\foreach \value/\colour/\name in {#4} {%
|
\tikz[baseline]\node[anchor=base,draw=body!30,rounded corners,inner xsep=1ex,inner ysep =0.75ex,text height=1.5ex,text depth=.25ex]{#1};
|
||||||
\pgfmathparse{\value+\totalnum}%
|
}
|
||||||
\global\let\totalnum=\pgfmathresult%
|
|
||||||
}%
|
% v1.6: Use accsupp so that the actual numeric value is copied/pasted
|
||||||
\begin{tikzpicture}
|
% and also support 0.5, 1.5, 2.5, 3.5, 4.5
|
||||||
|
\newcommand{\cvskill}[2]{%
|
||||||
% Calculate the thickness and the middle line of the wheel
|
\textcolor{emphasis}{\textbf{#1}}\hfill
|
||||||
\pgfmathsetmacro{\wheelwidth}{\outerradius-\innerradius}
|
\BeginAccSupp{method=plain,ActualText={#2}}
|
||||||
\pgfmathsetmacro{\midradius}{(\outerradius+\innerradius)/2}
|
\foreach \x in {1,...,5}{%
|
||||||
\pgfmathsetmacro{\totalrot}{-90 + #1}
|
\ifdimequal{\x pt - #2 pt}{0.5pt}%
|
||||||
|
{\clipbox*{0pt -0.25ex {.5\width} {\totalheight}}{\color{accent}\ratingmarker}%
|
||||||
% Rotate so we start from the top
|
\clipbox*{{.5\width} -0.25ex {\width} {\totalheight}}{\color{body!30}\ratingmarker}}
|
||||||
\begin{scope}[rotate=\totalrot]
|
{\ifdimgreater{\x bp}{#2 bp}{\color{body!30}}{\color{accent}}\ratingmarker}%
|
||||||
|
}\EndAccSupp{}\par%
|
||||||
% Loop through each value set. \cumnum keeps track of where we are in the wheel
|
}
|
||||||
\pgfmathsetmacro{\cumnum}{0}
|
|
||||||
\foreach \value/\width/\colour/\name in {#4} {
|
% Adapted from @Jake's answer at http://tex.stackexchange.com/a/82729/226
|
||||||
\pgfmathsetmacro{\newcumnum}{\cumnum + \value/\totalnum*360}
|
\newcommand{\wheelchart}[4][0]{%
|
||||||
|
\begingroup\centering
|
||||||
% Calculate the percent value
|
\def\innerradius{#3}%
|
||||||
\pgfmathsetmacro{\percentage}{\value/\totalnum*100}
|
\def\outerradius{#2}%
|
||||||
% Calculate the mid angle of the colour segments to place the labels
|
% Calculate total
|
||||||
\pgfmathsetmacro{\midangle}{-(\cumnum+\newcumnum)/2}
|
\pgfmathsetmacro{\totalnum}{0}%
|
||||||
|
\foreach \value/\colour/\name in {#4} {%
|
||||||
% This is necessary for the labels to align nicely
|
\pgfmathparse{\value+\totalnum}%
|
||||||
\pgfmathparse{
|
\global\let\totalnum=\pgfmathresult%
|
||||||
(-\midangle>180?"west":"east")
|
}%
|
||||||
} \edef\textanchor{\pgfmathresult}
|
\begin{tikzpicture}
|
||||||
\pgfmathparse{
|
|
||||||
(-\midangle>180?"flush left":"flush right")
|
% Calculate the thickness and the middle line of the wheel
|
||||||
} \edef\textalign{\pgfmathresult}
|
\pgfmathsetmacro{\wheelwidth}{\outerradius-\innerradius}
|
||||||
\pgfmathsetmacro\labelshiftdir{1-2*(-\midangle<180)}
|
\pgfmathsetmacro{\midradius}{(\outerradius+\innerradius)/2}
|
||||||
|
\pgfmathsetmacro{\totalrot}{-90 + #1}
|
||||||
% Draw the color segments. Somehow, the \midrow units got lost, so we add 'pt' at the end. Not nice...
|
|
||||||
\filldraw[draw=white,fill=\colour] (-\cumnum:\outerradius) arc (-\cumnum:-(\newcumnum):\outerradius) --
|
% Rotate so we start from the top
|
||||||
(-\newcumnum:\innerradius) arc (-\newcumnum:-(\cumnum):\innerradius) -- cycle;
|
\begin{scope}[rotate=\totalrot]
|
||||||
|
|
||||||
% Draw the data labels
|
% Loop through each value set. \cumnum keeps track of where we are in the wheel
|
||||||
\draw [*-,thin,emphasis] node [append after command={(\midangle:\midradius pt) -- (\midangle:\outerradius + 1ex) -- (\tikzlastnode)}] at (\midangle:\outerradius + 1ex) [xshift=\labelshiftdir*0.5cm,inner sep=1ex, outer sep=0pt, text width=\width,anchor=\textanchor,align=\textalign,font=\small,text=body]{\name};
|
\pgfmathsetmacro{\cumnum}{0}
|
||||||
% Set the old cumulated angle to the new value
|
\foreach \value/\width/\colour/\name in {#4} {
|
||||||
\global\let\cumnum=\newcumnum
|
\pgfmathsetmacro{\newcumnum}{\cumnum + \value/\totalnum*360}
|
||||||
}
|
|
||||||
\end{scope}
|
% Calculate the percent value
|
||||||
% \draw[gray] (0,0) circle (\outerradius) circle (\innerradius);
|
\pgfmathsetmacro{\percentage}{\value/\totalnum*100}
|
||||||
\end{tikzpicture}\par
|
% Calculate the mid angle of the colour segments to place the labels
|
||||||
\endgroup
|
\pgfmathsetmacro{\midangle}{-(\cumnum+\newcumnum)/2}
|
||||||
}
|
|
||||||
|
% This is necessary for the labels to align nicely
|
||||||
\newcommand{\cvref}[3]{%
|
\pgfmathparse{
|
||||||
\smallskip
|
(-\midangle>180?"west":"east")
|
||||||
\textcolor{emphasis}{\textbf{#1}}\par
|
} \edef\textanchor{\pgfmathresult}
|
||||||
\begin{description}[font=\color{accent},style=multiline,leftmargin=1.35em,align=left]
|
\pgfmathparse{
|
||||||
\item[\small\normalfont\emailsymbol] #2
|
(-\midangle>180?"flush left":"flush right")
|
||||||
\item[\small\normalfont\mailaddresssymbol] #3
|
} \edef\textalign{\pgfmathresult}
|
||||||
\end{description}
|
\pgfmathsetmacro\labelshiftdir{1-2*(-\midangle<180)}
|
||||||
% \medskip
|
|
||||||
}
|
% Draw the color segments. Somehow, the \midrow units got lost, so we add 'pt' at the end. Not nice...
|
||||||
|
\filldraw[draw=white,fill=\colour] (-\cumnum:\outerradius) arc (-\cumnum:-(\newcumnum):\outerradius) --
|
||||||
\newenvironment{cvcolumn}[1]{\begin{minipage}[t]{#1}\raggedright}{\end{minipage}}
|
(-\newcumnum:\innerradius) arc (-\newcumnum:-(\cumnum):\innerradius) -- cycle;
|
||||||
|
|
||||||
% v1.5 Move biblatex-related code to separate .cfg file
|
% Draw the data labels
|
||||||
% so that it's easier to change and customise the style for
|
% v1.6: Use accsupp so that the numeric number is copied/pasted too
|
||||||
% publication lists
|
\draw [*-,thin,emphasis] node [append after command={(\midangle:\midradius pt) -- (\midangle:\outerradius + 1ex) -- (\tikzlastnode)}] at (\midangle:\outerradius + 1ex) [xshift=\labelshiftdir*0.5cm,inner sep=1ex, outer sep=0pt, text width=\width,anchor=\textanchor,align=\textalign,font=\small,text=body]{\BeginAccSupp{method=pdfstringdef,ActualText={\name: \value}}\name\EndAccSupp{}};
|
||||||
|
% Set the old cumulated angle to the new value
|
||||||
% v1.1.2: make it easier to add a sidebar aligned with top of next page
|
\global\let\cumnum=\newcumnum
|
||||||
\RequirePackage{afterpage}
|
}
|
||||||
\newcommand{\addsidebar}[2][]{\marginpar{%
|
\end{scope}
|
||||||
\ifstrequal{#1}{}{}{\vspace*{#1}}%
|
% \draw[gray] (0,0) circle (\outerradius) circle (\innerradius);
|
||||||
\input{#2}}%
|
\end{tikzpicture}\par
|
||||||
}
|
\endgroup
|
||||||
\newcommand{\addnextpagesidebar}[2][]{\afterpage{\addsidebar[#1]{#2}}}
|
}
|
||||||
|
|
||||||
\AtBeginDocument{%
|
\newcommand{\cvref}[3]{%
|
||||||
\pagestyle{empty}
|
\smallskip
|
||||||
\color{body}
|
\textcolor{emphasis}{\textbf{#1}}\par
|
||||||
\raggedright
|
\begin{description}[font=\color{accent},style=multiline,leftmargin=1.35em,align=left]
|
||||||
|
\item[\small\normalfont\emailsymbol] #2
|
||||||
|
\item[\small\normalfont\mailaddresssymbol] #3
|
||||||
|
\end{description}
|
||||||
|
% \medskip
|
||||||
|
}
|
||||||
|
|
||||||
|
\newenvironment{cvcolumn}[1]{\begin{minipage}[t]{#1}\raggedright}{\end{minipage}}
|
||||||
|
|
||||||
|
% v1.5 Move biblatex-related code to separate .cfg file
|
||||||
|
% so that it's easier to change and customise the style for
|
||||||
|
% publication lists
|
||||||
|
|
||||||
|
% v1.1.2: make it easier to add a sidebar aligned with top of next page
|
||||||
|
\RequirePackage{afterpage}
|
||||||
|
\newcommand{\addsidebar}[2][]{\marginpar{%
|
||||||
|
\ifstrequal{#1}{}{}{\vspace*{#1}}%
|
||||||
|
\input{#2}}%
|
||||||
|
}
|
||||||
|
\newcommand{\addnextpagesidebar}[2][]{\afterpage{\addsidebar[#1]{#2}}}
|
||||||
|
|
||||||
|
\AtBeginDocument{%
|
||||||
|
\pagestyle{empty}
|
||||||
|
\color{body}
|
||||||
|
\raggedright
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user