Modular LaTeX CV: scaffolding, 13 chapters, altacv styling

Replace the monolithic ODT with a modular LaTeX source tree that becomes
the canonical full CV:

- preamble.tex: altacv color/font overrides + compact-row macros
  (\cvrow, \cvgrant, \cvtalk, \cvalum, \cvpub) so dense lists keep
  baseline-aligned dates without the tabularx misalignment the
  custom v1 had.
- cv-full.tex: driver including the 13 chapters in order.
- chapters/*.tex: header, positions, education, grants, teaching,
  examinations, service, talks, collaborators, alumni, publications,
  products (solo-founded flyRoom + Berengar), software.
- tex-vendor/altacv.cls (v1.7.4): vendored, not in TeX Live.
- Makefile: dockerised xelatex build via texlive/texlive:latest,
  with TEXINPUTS=.:./tex-vendor: so the vendored class resolves.

Output: 6-page build/cv-full.pdf (down from 10 in the first pass).
This commit is contained in:
Giorgio Gilestro 2026-05-13 15:56:51 +01:00
parent a391a85313
commit 7e30ed5b48
18 changed files with 1068 additions and 0 deletions

14
.gitignore vendored
View file

@ -4,3 +4,17 @@
# Backup / autosave # Backup / autosave
*.bak *.bak
.~* .~*
# LaTeX build artefacts
build/
*.aux
*.log
*.out
*.toc
*.fls
*.fdb_latexmk
*.synctex.gz
*.xdv
# Claude Code session state
.claude/

39
Makefile Normal file
View file

@ -0,0 +1,39 @@
# Build CV variants to ./build/<name>.pdf using a dockerised XeLaTeX.
# Run `make` (or `make full`) to build the full CV. Add new targets per variant.
DOCKER_IMAGE := texlive/texlive:latest
BUILD_DIR := build
ENGINE := xelatex
# Run the container with the current dir mounted. UID:GID match avoids root-owned outputs.
# TEXINPUTS prepends ./tex-vendor so altacv.cls (vendored) is found.
DOCKER_RUN = docker run --rm \
-u $(shell id -u):$(shell id -g) \
-v $(CURDIR):/work \
-w /work \
-e TEXINPUTS=.:./tex-vendor: \
$(DOCKER_IMAGE)
.PHONY: all full clean shell
all: full
# Pattern rule: build/<name>.pdf is built from <name>.tex by running xelatex twice
# (twice to settle cross-references / hyperref).
$(BUILD_DIR)/%.pdf: %.tex preamble.tex $(wildcard chapters/*.tex) | $(BUILD_DIR)
$(DOCKER_RUN) $(ENGINE) -interaction=nonstopmode -halt-on-error \
-output-directory=$(BUILD_DIR) $<
$(DOCKER_RUN) $(ENGINE) -interaction=nonstopmode -halt-on-error \
-output-directory=$(BUILD_DIR) $<
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
full: $(BUILD_DIR)/cv-full.pdf
# Drop into an interactive TeX-Live shell (handy for debugging).
shell:
docker run --rm -it -u $(shell id -u):$(shell id -g) \
-v $(CURDIR):/work -w /work $(DOCKER_IMAGE) bash
clean:
rm -rf $(BUILD_DIR)

12
chapters/alumni.tex Normal file
View file

@ -0,0 +1,12 @@
% Chapter: Alumni
\cvsection{Alumni}
\cvalum{Laurence Blackhurst (PhD 2024)}{Research fellow at L2D, UK}
\cvalum{Federica Falconio (PhD 2024)}{Field Application Scientist at SPT, UK}
\cvalum{Michaela Joyce (PhD 2023)}{Postdoc at the Crick Institute, UK}
\cvalum{Hannah Jones (PhD 2022)}{Postdoc at the University of Cologne, DE}
\cvalum{Alice French (postdoc 2021)}{Lecturer at the University of Bristol, UK (ERC Starting Grant)}
\cvalum{Esteban Beckwith (postdoc 2020)}{Assistant Professor at University of Buenos Aires, Argentina (Wellcome DA)}
\cvalum{Diana Bicazan (PhD 2019)}{Research scientist, Reevo, UK}
\cvalum{Quentin Geissmann (PhD 2018)}{Assistant Professor at Aarhus University, Denmark}
\cvalum{Anne Petzold (PhD 2017)}{Assistant Professor at the European Neuroscience Institute, Germany}

View file

@ -0,0 +1,13 @@
% Chapter: Active and past collaborators
\cvsection{Collaborators}
\cvsubsection{Academic}
\cvalum{Marc Dionne}{Imperial College London, London, UK}
\cvalum{Lucia Prieto-Godino}{The Crick Research Institute, London (funded by CZI)}
\cvalum{Julia Cordero}{The Beatson research institute, Glasgow (funded by BBSRC)}
\cvsubsection{Industrial}
\cvalum{Lucy Firth}{Syngenta, Bracknell, UK (funded by BBSRC)}
\cvalum{Thomas Farrugia}{BetaBugs, Roslin, UK (funded by KTN/SPARK and BBSRC)}

5
chapters/education.tex Normal file
View file

@ -0,0 +1,5 @@
% Chapter: Qualifications / Education
\cvsection{Qualifications}
\cvrow{2006}{PhD in Molecular Biology, \textbf{University of Vienna}, Austria}
\cvrow{2001}{Laurea (BSc + MRes) in Medical Biotechnology, \textbf{University of Torino}, Italy}

18
chapters/examinations.tex Normal file
View file

@ -0,0 +1,18 @@
% Chapter: PhD examinations
\cvsection{PhD examinations}
\cvrow{2024}{University of Padova, IT \textit{(Giulio M. Menti)}}
\cvrow{2024}{Imperial College London, Internal \textit{(Matteo Vitale)}}
\cvrow{2023}{University of Southampton, UK \textit{(Jonathan Anns)}}
\cvrow{2023}{University of Sussex, UK \textit{(Jonathan Menzies)}}
\cvrow{2022}{Manchester University, UK \textit{(Anna Munro)}}
\cvrow{2021}{Imperial College London, Internal \textit{(Adam McDermott)}}
\cvrow{2020}{Imperial College London, Internal \textit{(Antonios Kriezis)}}
\cvrow{2019}{Open University c/o ICGEB Trieste, Italy \textit{(Nina Strah)}}
\cvrow{2019}{University of Padova, Italy \textit{(Giovanni Frighetto)}}
\cvrow{2019}{University of Geneva, Switzerland \textit{(Pedro Machado Almeida)}}
\cvrow{2019}{University of East London, UK \textit{(Benjamin Aleyakpo)}}
\cvrow{2018}{Leuven, Belgium \textit{(Jorge De Sousa Valadas)}}
\cvrow{2018}{University of Melbourne, Australia \textit{(Hang Ngoc Bao Luong)}}
\cvrow{2016}{University of Lisbon, Portugal \textit{(Verónica María Corrales)}}
\cvrow{2016}{University of Cambridge, UK \textit{(Eleonora Khabirova)}}

37
chapters/grants.tex Normal file
View file

@ -0,0 +1,37 @@
% Chapter: Fellowships & grants
\cvsection{Fellowships \& grants}
\cvsubsection{Large grants as PI (£2.5M+)}
\cvgrant{2024}{\$60k}{Neuroscience seed grant from the Chan Zuckerberg Initiative (12 months)}
\cvgrant{2024}{\$200k}{Collaborative Pairs Pilot Project Award from the Chan Zuckerberg Initiative (18 months)}
\cvgrant{2022}{£509k}{BBSRC RM Research Grant (36 months -- BB/W016176/1)}
\cvgrant{2019}{£120k}{Imperial President's PhD Scholarship to A. Falconio (42 months)}
\cvgrant{2018}{£120k}{BBSRC PhD fellowship (jointly with N. Windblicher and Betabugs -- 36 months)}
\cvgrant{2018}{£120k}{EPSRC PhD fellowship (36 months)}
\cvgrant{2018}{£414k}{BBSRC RM Research Grant (36 months -- BB/R018839/1)}
\cvgrant{2017}{£160k}{BBSRC iCASE DTP with Syngenta (42 months)}
\cvgrant{2015}{£240k}{ERC Marie Curie IF to E. Beckwith (24 months)}
\cvgrant{2015}{£120k}{BBSRC PhD fellowship (jointly with N. Windblicher)}
\cvgrant{2014}{£120k}{EMBO LTF to E. Beckwith (24 months)}
\cvgrant{2014}{£375k}{BBSRC RM Research Grant (36 months -- BB/M003930/1)}
\cvgrant{2013}{£120k}{Edmond J. Safra foundation (36 months)}
\cvgrant{2012}{£120k}{BBSRC PhD fellowship (jointly with S. Zafeiriou) (36 months)}
\cvgrant{2012}{£120k}{BBSRC PhD fellowship (jointly with A. Faisal) (36 months)}
\cvgrant{2009}{£270k}{Junior Research Fellowship at Imperial College London (36 months)}
\cvsubsection{Large grants as co-PI}
\cvgrant{2023}{£200k}{BBSRC Pioneer Award (co-PI, with Eamonn Mallon, 18 months)}
\cvgrant{2019}{£196k}{CRUK Pioneer Award (co-PI, with Julia Cordero, 24 months)}
\cvgrant{2016}{£190k}{The Gas Trust Grant (co-PI, with R. Dickinson, 12 months)}
\cvsubsection{Small grants as PI (£110k)}
\cvgrant{2019}{£10k}{SPARK KTN Award (PI, 6 months)}
\cvgrant{2018}{£20k}{Faculty Strategic Research Funding -- SME Engagement (PI, 12 months)}
\cvgrant{2017}{£15k}{Ad hoc philanthropic donation}
\cvgrant{2017}{£15k}{EMBO STF to D. Ricolo (co-PI, 3 months)}
\cvgrant{2016}{£15k}{BBSRC Impact Acceleration Award (PI, 6 months)}
\cvgrant{2012}{£20k}{EPSRC Kick-start Scheme (co-PI, with Aldo Faisal, 12 months)}
\cvgrant{2011}{£15k}{Royal Society Research Grant (PI, 12 months)}

16
chapters/header.tex Normal file
View file

@ -0,0 +1,16 @@
% Chapter: Header — uses altacv's \name, \tagline, \personalinfo, \makecvheader
\name{Giorgio F. Gilestro, PhD}
\tagline{Associate Professor in Systems Neurobiology \textbar{} Imperial College London}
\personalinfo{%
\email{g.gilestro@imperial.ac.uk}
\email{giorgio@gilest.ro}
\phone{+44 (0)\,770 8280834}
\homepage{lab.gilest.ro}
\blog{giorgio.gilest.ro}
\github{gilestrolab}
\github{ggilestro}
\location{Department of Life Sciences, Imperial College London, UK}
}
\makecvheader

11
chapters/positions.tex Normal file
View file

@ -0,0 +1,11 @@
% Chapter: Previous and current research positions
\cvsection{Research positions}
\cvrow{since 2024}{Reader / Associate Professor at \textbf{Imperial College London}, Department of Life Sciences}
\cvrow{2019 -- 2024}{Senior Lecturer at \textbf{Imperial College London}, Department of Life Sciences}
\cvrow{2012 -- 2018}{Lecturer at \textbf{Imperial College London}, Department of Life Sciences}
\cvrow{2010 -- 2012}{Junior Research Fellow at \textbf{Imperial College London}, Department of Life Sciences}
\cvrow{2009 -- 2010}{Paternity leave / career sabbatical}
\cvrow{2006 -- 2009}{Postdoc at \textbf{University of Wisconsin Madison}, Madison, WI, USA}
\cvrow{2002 -- 2006}{PhD Student at \textbf{Research Institute of Molecular Pathology (IMP)}, Vienna, Austria}
\cvrow{1998 -- 2002}{Undergraduate intern at the \textbf{Institute for Cancer Research (IRCC)}, Candiolo, Italy}

16
chapters/products.tex Normal file
View file

@ -0,0 +1,16 @@
% Chapter: Commercial products (solo-founded by GFG)
% Locally override altacv's location marker with a globe icon for URLs.
\begingroup
\renewcommand{\cvLocationMarker}{\faGlobe}
\cvsection{Commercial products}
\cvevent{Solo founder}{flyRoom}{since 2026}{\href{https://www.flyroom.net}{flyroom.net}}
\textit{``Manage your fly stocks, not spreadsheets.''} A SaaS platform for \textit{Drosophila} research labs to track stocks, plan crosses, and collaborate across institutions.
\divider
\cvevent{Solo founder}{Berengar}{since 2026}{\href{https://www.berengar.io}{berengar.io}}
\textit{``Just put Berengario in CC.''} A retrieval-augmented email assistant that learns from a team's documents and emails to answer questions with sourced replies.\par
\endgroup

151
chapters/publications.tex Normal file
View file

@ -0,0 +1,151 @@
% Chapter: Publications
\cvsection{Publications}
\noindent{\small\textit{\senior\ indicates publications in which I am corresponding / senior author.}}\par\vspace{4pt}
\cvpub
{\textbf{Gilestro GF}*}
{The Mimicry Trap -- How We Define Intelligence to Exclude Inconvenient Minds}
{philSci, 2026 Feb 03}
{\senior}
\cvpub
{\textbf{Gilestro GF}*}
{AI reviewers are here -- we are not ready}
{Nature, 2025 Dec 3; 648(9)}
{\senior}
\cvpub
{Guo L, Ferretti V, \textbf{Gilestro GF}*}
{Sleep Deprivation Primes Synaptic Vulnerability Without Inducing Oxidative Damage}
{preprint -- bioRxiv 2025 Sep 05 / 674430}
{\senior}
\cvpub
{\textbf{Gilestro GF}*}
{Refining the sleep circuits one neuron at a time}
{PLOS Biology, 2025 Apr 5; 23(4)}
{\senior}
\cvpub
{Petzold A*, \textbf{Gilestro GF}*}
{\textit{ninna nanna} links circadian and homeostatic sleep drive in Drosophila}
{preprint -- bioRxiv, 2024 May 13 / 593616}
{\senior}
\cvpub
{Joyce M, Falconio AF\#, Blackhurst L\#, Prieto-Godino L, French AS*, and \textbf{Gilestro GF}*}
{Divergent evolution of sleep in Drosophila species}
{Nature Communications, 2024 Jun 14; (15) 5091}
{\senior}
\cvpub
{Blackhurst L, and \textbf{Gilestro GF}*}
{Ethoscopy \& Ethoscope-lab: a framework for behavioural analysis to lower entrance barrier and aid reproducibility}
{Bioinformatics Advances, 2023 Sep 20; 3(1)}
{\senior}
\cvpub
{Jones H, Willis JA, Firth LC, Giachello CNG, and \textbf{Gilestro GF}*}
{A reductionist paradigm for high-throughput behavioural fingerprinting in Drosophila melanogaster}
{eLife, 2023 May 11; 866951}
{\senior}
\cvpub
{Vincent CM\$, Beckwith EJ\$, Simoes da Silva CJ, Pearson WH, Kierdorf K, \textbf{Gilestro GF} and Dionne M}
{Infection increases activity via Toll dependent and independent mechanisms in Drosophila melanogaster}
{PLoS Pathogens, 2022 Sep 21; 18(9): e1010826}
{}
\cvpub
{French A, Geissmann Q, Beckwith EJ and \textbf{Gilestro GF}*}
{Sensory processing during sleep in Drosophila melanogaster}
{Nature, 2021 Oct 21; 598(3)}
{\senior}
\cvpub
{\textbf{Gilestro GF}}
{Sleep: Imaging the Fly Brain Reveals New Paradoxes}
{Curr Biol, 2021 Feb 8; 31(3)}
{\senior}
\cvpub
{Geissmann Q\$, Beckwith EJ\$, and \textbf{Gilestro GF}}
{Most sleep does not serve a vital function: Evidence from Drosophila melanogaster}
{Science Advances, 2019 Feb 20; 5(2); eaau9253}
{\senior}
\cvpub
{Geissmann Q, Garcia Rodriguez L, Beckwith EJ, and \textbf{Gilestro GF}}
{Rethomics: an R framework to analyse high-throughput behavioural data}
{PLoS ONE, 2019 Jan 16; 14(1); e0209331}
{\senior}
\cvpub
{Geissmann Q, Garcia Rodriguez L, Beckwith EJ, French AS, Jamasb AR, and \textbf{Gilestro GF}}
{Ethoscopes: an open platform for high-throughput ethomics}
{PLoS Biology, 2017 Oct 19; 15(10); e2003026}
{\senior}
\cvpub
{Beckwith EJ, Geissmann Q, French AS, and \textbf{Gilestro GF}}
{Regulation of sleep homeostasis by sex pheromones}
{eLife, 2017 Sep 12; 6; e27445}
{\senior}
\cvpub
{\textbf{Gilestro GF}}
{Video tracking and analysis of sleep in Drosophila melanogaster}
{Nature Protocols, 2012 Apr 26; 7(5): 995-1007}
{\senior}
\cvpub
{\textbf{Gilestro GF}* and Cirelli C}
{pySolo: a complete suite for sleep analysis in Drosophila}
{Bioinformatics, 2009 Jun 1; 25(11): 1466-7}
{\senior}
\cvpub
{\textbf{Gilestro GF}, Tononi G \& Cirelli C}
{Widespread changes in synaptic markers as a function of sleep and wakefulness in Drosophila}
{Science, 2009 Apr 3; 324(5923): 109-12}
{\senior}
\cvpub
{\textbf{Gilestro GF}*}
{Redundant Mechanisms for Regulation of Midline Crossing in Drosophila}
{PLoS ONE, 2008 Nov 24; 3(11): e3978}
{\senior}
\cvpub
{Dickson BJ* \& \textbf{Gilestro GF}*}
{Regulation of Commissural Axon Pathfinding by Slit and its Robo receptors}
{Annu Rev Cell Dev Biol, 2006; 22: 651-75}
{\senior}
\cvpub
{Christensen C, Ambartsumian N, \textbf{Gilestro GF}, Thomsen B, Comoglio PM, Tamagnone L, Guldberg P, Lukanidin E}
{Proteolytic processing converts the repelling signal Sema3E into an inducer of invasive growth and lung metastasis}
{Cancer Research, 2005 Jul 15; 65(14): 6167-6177}
{}
\cvpub
{Artigiani S, Conrotto P, Fazzari P, \textbf{Gilestro GF}, Barberis D, Giordano S, Comoglio PM and Tamagnone L}
{Plexin-B3 is a functional receptor for semaphorin 5A}
{EMBO Reports, 2004 Jul; 5(7): 710-4}
{}
\cvpub
{Giordano S, Corso S, Conrotto P, Artigiani S, \textbf{Gilestro GF}, Barberis D, Tamagnone L, Comoglio PM}
{Semaphorin 4D Receptor controls invasive growth by coupling with Met tyrosine kinase}
{Nature Cell Biology, 2002 Sep; 4(9): 720-4}
{}
\cvpub
{Petrelli A, \textbf{Gilestro GF}, Lanzardo S, Comoglio PM, Migone N and Giordano S}
{The Endophilin-CIN85-Cbl complex mediates ligand-dependent downregulation of c-Met}
{Nature, 2002 Mar 14; 416(6877): 187-90}
{}
\vspace{4pt}
\noindent{\small (*) corresponding author;\quad (\$) equal contribution;\quad (\#) equal contribution among co-authors}\par

25
chapters/service.tex Normal file
View file

@ -0,0 +1,25 @@
% Chapter: Service
\cvsection{Departmental administration}
\cvrow{2014 -- 2019}{Member of the Departmental Equal Opportunities Committee}
\cvrow{2013 -- 2016}{Member of the 3Rs advisory group for animal welfare and reduction, reporting to the Provost}
\cvrow{2012}{Chair of the committee in charge of renovation of the departmental website}
\cvsection{Outreach activities}
\noindent
Every year we reach the public by visiting schools, creating digital content, and participating in scientific festivals. The full list of outreach activities is maintained at \href{http://lab.gilest.ro/outreach}{\nolinkurl{lab.gilest.ro/outreach}}.
\cvsection{Learned societies}
\cvrow{2023 -- 2028}{Elected UK representative and member of the \textbf{European Drosophila Board}}
\cvrow{since 2012}{Member of the British Genetics Society and British Biology Society}
\cvrow{since 2010}{Co-Founder of the \textbf{JEDI network} (Junior European Drosophila Investigators)}
\cvsection{Editorial boards, grant panels and reviewing}
\cvrow{since 2023}{Vice Chair for EU's MCSE and HADEA}
\cvrow{since 2015}{Reviewer for EU's Marie Curie Staff Exchange (MCSE) and Individual Fellowships (MCIF)}
\cvrow{since 2013}{Reviewer for BBSRC, EPSRC, MRC Project Grants; the Italian Ministry of Research Project Grants; Alzheimer UK; The Research Foundation Flanders (FWO); National Science Foundation (NSF)}
\cvrow{2011 -- 2022}{PLoS ONE, Academic Editor}
\cvrow{ongoing}{Reviewer for 35+ academic journals (\href{https://lab.gilest.ro/wos}{lab.gilest.ro/wos})}

6
chapters/software.tex Normal file
View file

@ -0,0 +1,6 @@
% Chapter: Software
\cvsection{Software}
\noindent A list of software created by the laboratory is available at
\href{https://lab.gilest.ro/software/}{lab.gilest.ro/software}.
All software is released as Open Source.

61
chapters/talks.tex Normal file
View file

@ -0,0 +1,61 @@
% Chapter: Invited speaker - conferences and seminars (past 7 years only)
\cvsection{Invited talks \& seminars (past 7 years)}
\cvtalk{Nov 2025}{Seminar}{University of Amsterdam, Netherlands}
\cvtalk{Nov 2025}{Talk}{ChemAI, Amsterdam, Netherlands}
\cvtalk{Nov 2025}{Seminar}{Crick Research Institute, UK}
\cvtalk{Sep 2025}{Talk}{Italian Society for Neuroscience, Pisa, Italy}
\cvtalk{Jun 2025}{Talk}{Neural Circuits \& Behavior of Drosophila, Crete, Greece}
\cvtalk{Mar 2025}{Talk}{EMBO Neuroscience of Sleep, New Delhi, India}
\cvtalk{Jan 2025}{Seminar}{University of Leicester, UK}
\cvtalk{Nov 2024}{Seminar}{University of Lyon, Centre de Recherche en Neurosciences de Lyon, France}
\cvtalk{Oct 2024}{Seminar}{University of Oslo, Department of Molecular Medicine, Oslo, NO}
\cvtalk{Aug 2024}{Keynote}{Neurobiology Doctoral Students Workshop, Leipzig, DE}
\cvtalk{Aug 2024}{Talk}{Lausanne Drosophila Meeting, Lausanne, CH}
\cvtalk{Jul 2024}{Talk}{Cajal School of Quantitative Neuroscience, Lisbon, PT}
\cvtalk{Jul 2024}{Talk}{CZI Neuroscience meeting, Monterey, California, USA}
\cvtalk{Jun 2024}{Talk}{Crete Meeting -- EMBO Molecular and developmental biology of Drosophila, Crete, Greece}
\cvtalk{May 2024}{Seminar}{University of Pisa, Italy}
\cvtalk{Nov 2023}{Seminar}{CUNY -- New York, USA}
\cvtalk{Nov 2023}{Seminar}{Center for Brain Science, Harvard -- Boston, MA, USA}
\cvtalk{Oct 2023}{Seminar}{University of Buenos Aires -- CONICET, Buenos Aires, Argentina}
\cvtalk{Oct 2023}{Talk}{XXXVIII Argentinian Society for Neuroscience Meeting -- San Luis, Argentina}
\cvtalk{Oct 2023}{Seminar}{University of Sheffield, UK}
\cvtalk{Sep 2023}{Seminar}{Queen Mary University London, London, UK}
\cvtalk{Sep 2023}{Keynote}{BBSRC LIDO conference, Staffordshire, UK}
\cvtalk{Sep 2023}{Talk}{MRC/DTP conference at UCL, London, UK}
\cvtalk{Aug 2023}{Talk}{Systems Biology of the Brain -- Fribourg, CH}
\cvtalk{Aug 2023}{Seminar}{CIG -- University of Lausanne, CH}
\cvtalk{Jun 2023}{Talk}{FENS Webinar on ``Brains on Sleep'' -- online}
\cvtalk{Jun 2023}{Seminar}{Muenster University -- Muenster, Germany}
\cvtalk{May 2023}{Talk}{Mushroom Body Meeting 2023, Göttingen, Germany}
\cvtalk{Feb 2023}{Seminar}{Max Planck Florida Institute for Neuroscience -- Miami, FL, USA}
\cvtalk{Feb 2023}{Talk}{SRS meeting -- Advances in Sleep and Circadian Science (ASCS 2023), FL, USA}
\cvtalk{Nov 2022}{Talk}{Brno Drosophila meeting -- Brno, Czech Republic}
\cvtalk{Nov 2022}{Keynote}{The Ivano-Frankivsk National Medical University, Ivano-Frankivsk, Ukraine}
\cvtalk{Jun 2022}{Talk}{Crete Meeting -- EMBO Molecular and developmental biology of Drosophila, Crete, Greece}
\cvtalk{May 2022}{Talk}{11 minutes of Sleep -- University of Pisa, Italy}
\cvtalk{Sep 2021}{Seminar}{Italian Society of Pharmacology -- Myths and errors during the COVID pandemic}
\cvtalk{Sep 2021}{Seminar}{Italian Association of Epidemiology -- Sars-CoV-2 Evolution}
\cvtalk{May 2021}{Seminar}{Coffee with EMBL -- Coronavirus: global and local perspectives}
\cvtalk{Feb 2021}{Seminar}{University of New Mexico, USA}
\cvtalk{Jul 2020}{Talk}{Crete Meeting -- EMBO Molecular and developmental biology of Drosophila, Crete, Greece}
\cvtalk{Nov 2019}{Talk}{Sleep in Drosophila, HHMI Janelia, USA}
\cvtalk{Jun 2019}{Talk}{Gordon Chronobiology 2019, Castelldefels, Spain}
\cvtalk{Jun 2019}{Seminar}{Institut des Neurosciences Paris-Saclay, Gif-sur-Yvette, France}
\cvtalk{Mar 2019}{Talk}{American Drosophila Research Conference, Dallas, TX, USA}
\cvtalk{Mar 2019}{Talk}{Sölden 2019 Winter Conference, Sölden, Austria}
\cvtalk{Feb 2019}{Seminar}{Max Planck Institute, Seewiesen, Germany}
\cvtalk{Feb 2019}{Seminar}{Technical University Munich, Munich, Germany}
\cvtalk{Feb 2019}{Seminar}{University of Birmingham, UK}
\cvtalk{Dec 2018}{Talk}{Sleep and circadian rhythms from mechanisms to function, London, UK}
\cvtalk{Aug 2018}{Seminar}{VIB, Leuven, Belgium}
\cvtalk{Jul 2018}{Seminar}{Tokyo Institute of Technology and University of Tokyo}
\cvtalk{Jul 2018}{Talk}{41st Meeting of the Japanese Neuroscience Society, Kobe, Japan}
\cvtalk{Jun 2018}{Keynote}{XIX Italian Drosophila conference, Padua, Italy}
\cvtalk{Jun 2018}{Talk}{Crete Meeting -- EMBO Molecular and developmental biology of Drosophila, Crete, Greece}
\cvtalk{May 2018}{Seminar}{NEUreka! Seminar series, King's College London -- London, UK}
\cvtalk{Apr 2018}{Seminar}{University College London -- London, UK}
\cvtalk{Mar 2018}{Seminar}{Cajal Institute -- Madrid, Spain}
\cvtalk{Feb 2018}{Seminar}{Gordon Institute, Cambridge, UK}
\cvtalk{Feb 2018}{Talk}{Understanding Sleep -- Wellcome Trust Center, London UK}

15
chapters/teaching.tex Normal file
View file

@ -0,0 +1,15 @@
% Chapter: Teaching experience and recognitions
\cvsection{Teaching experience and recognitions}
\cvrow{2018}{Awarded an ``Excellence in Teaching'' award from the Faculty of Natural Sciences}
\cvrow{2017 -- 2024}{\textbf{Director of the MSc in Applied Biosciences and Biotechnology.} Responsible for the entire course, from admissions and interviews to organisation of the curriculum, the two full-time taught terms, exams, practicals, and the lab and literature based terms (12 months). The course had an intake of 65 international students a year and generated £1.5M a year.}
\cvrow{2014 -- 2017}{co-Director of the MSc in Applied Biosciences and Biotechnology}
\cvrow{since 2013}{Systems Neuroscience (3rd year UG), Principles of Neuroscience (3rd year UG), Genes and Genomics (2nd year UG), Behavioural Ecology (2nd year UG), Pharmacology (BSc Med.)}
\cvsubsection{External teaching}
\cvrow{since 2024}{Course director for the Cajal course on ``Quantitative Approaches to Behaviour and Virtual Reality''}
\cvrow{2018}{Lecturer at the ICGEB ``Drosophila course for neurodegeneration research'' -- Trieste, Italy}
\cvrow{2018, 2022}{Lecturer at the Cajal school ``Behaviour of Neuronal Systems'', Lisbon, Portugal}
\cvrow{2012}{Lecturer at the ``Biology \& Informatics Summer School for graduate students'', Tokyotech, Japan}
\cvrow{2009, '12, '13, '14}{Lecturer at the Neuroscience Training programme, Champalimaud, Lisbon, Portugal}

25
cv-full.tex Normal file
View file

@ -0,0 +1,25 @@
% ============================================================
% cv-full.tex -- the complete CV (every chapter included)
% Compile with: make full (uses Docker + XeLaTeX + altacv)
% ============================================================
\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
\input{preamble.tex}
\begin{document}
\input{chapters/header.tex}
\input{chapters/positions.tex}
\input{chapters/education.tex}
\input{chapters/grants.tex}
\input{chapters/teaching.tex}
\input{chapters/examinations.tex}
\input{chapters/service.tex}
\input{chapters/talks.tex}
\input{chapters/collaborators.tex}
\input{chapters/alumni.tex}
\input{chapters/publications.tex}
\input{chapters/products.tex}
\input{chapters/software.tex}
\end{document}

113
preamble.tex Normal file
View file

@ -0,0 +1,113 @@
% ============================================================
% Preamble for the modular CV (altacv class)
% - geometry / colors / fonts overrides
% - compact macros for dense list-style entries (talks, grants, pubs)
% ============================================================
\geometry{left=1.4cm,right=1.4cm,top=1.5cm,bottom=1.5cm,columnsep=1.2cm}
% --- Colors --------------------------------------------------
\definecolor{SlateGrey}{HTML}{2E2E2E}
\definecolor{LightGrey}{HTML}{666666}
\definecolor{Accent}{HTML}{1F4E79} % deep blue
\definecolor{Subtle}{HTML}{A0A0A0}
\colorlet{name}{SlateGrey}
\colorlet{tagline}{Accent}
\colorlet{heading}{Accent}
\colorlet{headingrule}{Accent}
\colorlet{subheading}{Accent}
\colorlet{accent}{Accent}
\colorlet{emphasis}{SlateGrey}
\colorlet{body}{SlateGrey}
% --- Fonts ---------------------------------------------------
% Use Lato if installed (texlive ships it), otherwise default serif.
\IfFontExistsTF{Lato}{%
\setmainfont{Lato}[
Path = ,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic,
]
}{}
% --- Tighter section / paragraph spacing ---------------------
% altacv's defaults are already tight; nudge a tiny bit further.
\setlength{\parskip}{2pt}
% --- Extra info fields for the header ------------------------
% \blog{host} → faBlog icon + linked https://host
\NewInfoField{blog}{\faBlog}[https://]
% --- Hyperref tweaks (the class loads it via withhyper) ------
\hypersetup{
colorlinks=true,
urlcolor=Accent,
linkcolor=Accent,
pdfauthor={Giorgio F. Gilestro},
pdftitle={Curriculum Vitae - Giorgio F. Gilestro},
}
% ============================================================
% Custom semantic macros for dense list-style chapters.
% These complement altacv's \cvevent / \cvachievement / \divider.
% Layout: a left "tag" column (date or amount) baseline-aligned
% with the description on the right.
% ============================================================
% Two-column compact row: left tag (date/amount), right description.
% Baseline-aligned via \parbox[t]+\strut so the date never sits below
% the start of the description.
\newcommand{\cvrow}[2]{%
\par\noindent
\parbox[t]{0.16\linewidth}{\raggedright\strut\small\color{LightGrey}#1}%
\hspace{0.5em}%
\parbox[t]{0.81\linewidth}{\raggedright\strut #2}%
\par\vspace{2pt}%
}
% Grant entry: year | amount | description (three columns).
\newcommand{\cvgrant}[3]{%
\par\noindent
\parbox[t]{0.07\linewidth}{\raggedright\strut\small\color{LightGrey}#1}%
\hspace{0.3em}%
\parbox[t]{0.10\linewidth}{\raggedright\strut\bfseries#2}%
\hspace{0.3em}%
\parbox[t]{0.80\linewidth}{\raggedright\strut #3}%
\par\vspace{2pt}%
}
% Talk entry: date | kind | venue.
\newcommand{\cvtalk}[3]{%
\par\noindent
\parbox[t]{0.10\linewidth}{\raggedright\strut\small\color{LightGrey}#1}%
\hspace{0.3em}%
\parbox[t]{0.08\linewidth}{\raggedright\strut\small\itshape#2}%
\hspace{0.3em}%
\parbox[t]{0.79\linewidth}{\raggedright\strut #3}%
\par\vspace{2pt}%
}
% Alumnus: name+degree (bold) | current position.
\newcommand{\cvalum}[2]{%
\par\noindent
\parbox[t]{0.38\linewidth}{\raggedright\strut\bfseries #1}%
\hspace{0.5em}%
\parbox[t]{0.59\linewidth}{\raggedright\strut\small #2}%
\par\vspace{2pt}%
}
% Senior-author marker for publications (✉)
\newcommand{\senior}{{\color{Accent}\faEnvelope}\,}
% Publication: authors / title / venue / marker (or empty)
\newcommand{\cvpub}[4]{%
\par\noindent
\parbox[t]{0.04\linewidth}{\strut #4}%
\parbox[t]{0.95\linewidth}{\raggedright\strut #1\\
\textit{#2}\\
{\small\color{LightGrey}#3}}%
\par\vspace{4pt}%
}

491
tex-vendor/altacv.cls Normal file
View file

@ -0,0 +1,491 @@
%%%%%%%%%%%%%%%%%
% This is altacv.cls (v1.7.4, 30 Jul 2025) written by
% LianTze Lim (liantze@gmail.com).
%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%%
% Contributions:
% - 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/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}[2025/07/30 AltaCV v1.7.4, yet another alternative class for a resume/curriculum vitae.]
%% v1.1: Optionally load academicons
%% v1.4: Nope, academicons is unnecessary; fontawesome5 has \faOrcid.
%% v1.7.3: Re backward compatibility we'll now load academicons automatically for \aiOrcid if TL2019 i.e. if \faOrcid undefined
\DeclareOption{academicons}{\ClassWarning{altacv}{academicons option is now obsolete and unnecessary.}}
%% v1.1.3: Choice of round/square photo
\newif\if@normalphoto
\DeclareOption{normalphoto}{\@normalphototrue}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}}
\newif\if@raggedtwoe
\DeclareOption{ragged2e}{\@raggedtwoetrue}
%% v1.3: load hyperref for clickable hyperlinks
\newif\if@withhyper\@withhyperfalse
\DeclareOption{withhyper}{\@withhypertrue}
\ProcessOptions\relax
\LoadClass{extarticle}
\RequirePackage{etoolbox}
%% v1.7.4: use etoolbox toggles to fix accsupp ActualText bugs when withhyper enabled
\newtoggle{withhyper}\togglefalse{withhyper}
\if@withhyper\toggletrue{withhyper}\fi
% v1.7.3 Load xcolor early to avoid receiving `hyperref` option from pdfx package
\RequirePackage{xcolor}
%% v1.3.2 Hopefully this helps make the PDF
%% file more 'friendly' with copy-paste etc
\RequirePackage[a-1b]{pdfx}
\RequirePackage{accsupp}
%% v1.7.3 Avoid 'Token not allowed' when \\ used with accsupp
\pdfstringdefDisableCommands{
\let\\\space
}
\RequirePackage{xparse}
\RequirePackage[margin=2cm]{geometry}
\RequirePackage[fixed]{fontawesome5}%[2020-01-15]
% 1.7.3 For backward compatibility
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2021-11-15}{}{\RequirePackage{scrlfile}}
% v1.7.2 Add simpleicons to provide X icon
% v1.7.3 But first check if the package files exist
\IfFileExists{simpleiconsglyphs-pdftex.tex}{\RequirePackage{simpleicons}}{}
% v1.7.3 Use iftex for easier access to \iftutex
\RequirePackage{iftex}
% ...but still check for backward compatibility
\ifundef{\iftutex}{%
\newif\iftutex
\ifxetex\tutextrue
\else
\ifluatex\tutextrue\else\tutexfalse\fi
\fi
}{}
\iftutex
\RequirePackage{fontspec}
\else
%% v1.3.2 attempts to make ligatures
%% copy-paste as normal characters
\RequirePackage{cmap}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\input{glyphtounicode}
\pdfglyphtounicode{f_f}{FB00}
\pdfglyphtounicode{f_f_i}{FB03}
\pdfglyphtounicode{f_f_l}{FB04}
\pdfglyphtounicode{f_i}{FB01}
\pdfgentounicode=1
\fi
\if@raggedtwoe
\RequirePackage[newcommands]{ragged2e}
\fi
% 1.7.3 For backward compatibility re hooks management
\iftoggle{withhyper}{%
\IfFormatAtLeastTF{2020-10-01}{%
\AddToHook{begindocument/before}{\hypersetup{hidelinks}\urlstyle{same}}
}{%
\AtBeginDocument{\hypersetup{hidelinks}\urlstyle{same}}
}}{}
\colorlet{accent}{blue!70!black}
\colorlet{emphasis}{black}
\colorlet{heading}{black}
\colorlet{headingrule}{black}
\colorlet{subheading}{emphasis}
\colorlet{body}{black!80!white}
\colorlet{name}{heading}
\colorlet{tagline}{accent}
% Renamed or added v1.7
\newcommand{\cvItemMarker}{{\small\textbullet}}
\newcommand{\cvRatingMarker}{\faCircle}
\let\itemmarker\cvItemMarker % for backward compatibility
\let\ratingmarker\cvRatingMarker % for backward compatibility
\newcommand{\cvDateMarker}{\faCalendar[regular]}
\newcommand{\cvLocationMarker}{\faMapMarker}
\newcommand{\locationname}{Location}
\newcommand{\datename}{Date}
\RequirePackage{tikz}
\usetikzlibrary{arrows}
\RequirePackage[skins]{tcolorbox}
\RequirePackage[inline]{enumitem}
\setlist{leftmargin=*,labelsep=0.5em,nosep,itemsep=0.25\baselineskip,after=\vspace{0.25\baselineskip}}
\setlist[itemize]{label=\cvItemMarker}
\RequirePackage{graphicx}
\RequirePackage{trimclip}
\RequirePackage{dashrule}
\RequirePackage{multirow,tabularx}
\RequirePackage{changepage}
\setlength{\parindent}{0pt}
\newcommand{\divider}{\textcolor{body!30}{\hdashrule{\linewidth}{0.6pt}{0.5ex}}\medskip}
\newenvironment{fullwidth}{%
\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
\newcommand{\utffriendlydetokenize}[1]{%
\scantokens{%
\catcode`\_=12%
% \catcode`\^=12%
% \catcode`\{=12%
% \catcode`\}=12%
\catcode`\&=12%
\catcode`\$=12%
\catcode`\#=12%
\catcode`\~=12%
% \catcode`\\=12%
{#1}%
}%
}
%% v1.3: Incorporating hyperlinks
%% v1.3.1: using \utffriendlydetokenize to avoid breaking unicode
%% v1.6: Use accsupp so that when copying/pasting the icon from PDF to a text
%% file, the icon name is pasted
%% v1.7: Some tweaks/corrections so that accsupp is for icons only
%% v1.7.1: Bugfix to support some symbol commands e.g. academicons commands
\ExplSyntaxOn
\NewDocumentCommand{\printinfo}{o m m o}{%
\IfNoValueTF{#4}{%
\mbox{\textcolor{accent}%
{\BeginAccSupp{method=escape,ActualText={\IfNoValueTF{#1}{\detokenize{#2}}{#1}:\space}}\normalfont #2\EndAccSupp{}}%
~\utffriendlydetokenize{#3}\hspace{2em}}%
}{% v1.7.4: fix accsupp ActualText bugs when withhyper enabled
\iftoggle{withhyper}{%
\mbox{\textcolor{accent}%
{\BeginAccSupp{method=escape,ActualText={\IfNoValueTF{#1}{\detokenize{#2}}{#1}:\space}}\normalfont #2\EndAccSupp{}}%
~%
\BeginAccSupp{method=escape,ActualText={#4}}%
\href{#4}{\utffriendlydetokenize{#3}}%
\EndAccSupp{}%
\hspace{2em}}%
}{%
\ClassWarning{Please specify [withhyper] option to enable hyperlinks. Printing out full hyperlink prefix #1 for now.}%
\mbox{\textcolor{accent}
{\BeginAccSupp{method=escape,ActualText={\IfNoValueTF{#1}{\detokenize{#2}}{#1}:\space}}\normalfont #2\EndAccSupp{}}%
~{\utffriendlydetokenize{#4}}\hspace{2em}}%
}%
}%
}%
%% v1.3: Exploring convenient creation of fields
%% v1.6: Add starred mode to create \printinfo with full URL
\NewDocumentCommand{\NewInfoField}{s m m o}{%
\IfBooleanF{#1}{
\IfNoValueF{#4}{\csdef{#2 hyperprefix}{#4}}%
}
\csdef{#2 symbol}{#3}
\IfBooleanTF{#1}
{ \csdef{#2}##1##2{%
\IfNoValueTF {##2}
{\printinfo[#2]{\csuse{#2 symbol}}{##1}}%
{\printinfo[#2]{\csuse{#2 symbol}}{##1}[##2]}%
}%
}
{ \csdef{#2}##1{%
\IfNoValueTF {#4}
{\printinfo[#2]{\csuse{#2 symbol}}{##1}}%
{\printinfo[#2]{\csuse{#2 symbol}}{##1}[\csuse{#2 hyperprefix}##1]}%
}%
}
}
\ExplSyntaxOff
\newcommand{\name}[1]{\def\@name{#1}}
\newcommand{\tagline}[1]{\def\@tagline{#1}}
\newcommand{\personalinfo}[1]{\def\@personalinfo{#1}}
\NewInfoField{email}{\faAt}[mailto:]
\NewInfoField{mailaddress}{\faEnvelope}
\NewInfoField{phone}{\faPhone}[tel:]
\NewInfoField{homepage}{\faGlobe}[https://]
\NewInfoField{twitter}{\faTwitter}[https://twitter.com/]
% v1.7.2 twitter.com is now X.com; v1.7.3 but only use the new icon if it's been defined
\ifcsdef{simpleicon@xicon}
{\NewInfoField{xtwitter}{\raisebox{-0.2ex}{\scalebox{0.95}{\simpleicon{x}}}\,}[https://x.com/]}
{\let\xtwitter\twitter%
\pretocmd{\xtwitter}{\ClassWarning{altacv}{You tried to use \string\xtwitter, but the new X icon isn't available. Please ensure you have updated the `simpleicons' package. Falling back to \string\twitter\space icon for now}}{}{}%
}
\NewInfoField{linkedin}{\faLinkedin}[https://linkedin.com/in/]
\NewInfoField{github}{\faGithub}[https://github.com/]
% v1.7.3 Backward compatibility for ORCiD icon
\ifdef{\faOrcid}{
\NewInfoField{orcid}{\faOrcid}[https://orcid.org/]
}{\iftutex
\RequirePackage{academicons}
\NewInfoField{orcid}{\aiOrcid\space}[https://orcid.org/]
\else
\ClassWarning{altacv}{ORCID icon for \string\orcid\space unavailable in pdflatex. Please compile with XeLaTeX or LuaLaTeX; or upgrade your LaTeX distribution and packages}
\NewInfoField{orcid}{\fbox{O?}\space}[https://orcid.org/]
\fi
}
\NewInfoField{location}{\cvLocationMarker}
% v1.2: Support for multiple photos
\newlength{\altacv@photos@width}
\newlength{\altacv@photo@diam@left}
\newlength{\altacv@photo@diam@right}
\def\altacv@left@photos{}
\def\altacv@right@photos{}
\newcommand{\@makeaphoto}[2]{%
\begin{minipage}{#1}%
\if@normalphoto
\includegraphics[width=\linewidth]{#2}
\else
\tikz\path[fill overzoom image={#2}]circle[radius=0.5\linewidth];
\fi%
\end{minipage}%
}
\newcommand{\altacv@add@photo@left}[1]{%
\appto{\altacv@left@photos}{%
\@makeaphoto{\altacv@photo@diam@left}{#1}\hspace{1ex}%
}%
\addtolength{\altacv@photos@width}{\altacv@photo@diam@left}%
\addtolength{\altacv@photos@width}{1ex}%
}
\newcommand{\altacv@add@photo@right}[1]{%
\appto{\altacv@right@photos}{%
\@makeaphoto{\altacv@photo@diam@right}{#1}\hspace{1ex}%
}%
\addtolength{\altacv@photos@width}{\altacv@photo@diam@right}%
\addtolength{\altacv@photos@width}{1ex}%
}
\newcommand{\photoL}[2]{%
\setlength{\altacv@photo@diam@left}{#1}%
\forcsvlist{\altacv@add@photo@left}{#2}%
}
\newcommand{\photoR}[2]{%
\setlength{\altacv@photo@diam@right}{#1}%
\forcsvlist{\altacv@add@photo@right}{#2}%
}
\let\photo\photoR
\newcommand{\namefont}{\Huge\bfseries}
\newcommand{\taglinefont}{\large\bfseries}
\newcommand{\personalinfofont}{\footnotesize\bfseries}
\newcommand{\cvsectionfont}{\LARGE\bfseries}
\newcommand{\cvsubsectionfont}{\large\bfseries}
\newcommand{\makecvheader}{%
\begingroup
\altacv@left@photos\hfill%
\begin{minipage}{\dimexpr\linewidth-\altacv@photos@width}%
\raggedright%
{\namefont\color{name}\MakeUppercase{\@name}\par}
\medskip
{\taglinefont\color{tagline}\@tagline\par}
\medskip
{\personalinfofont\@personalinfo\par}
\end{minipage}\hfill%
\altacv@right@photos\par%
\endgroup\medskip
}
\renewenvironment{quote}{\color{accent}\itshape\large}{\par}
\newcommand{\cvsection}[2][]{%
\nointerlineskip\bigskip% %% bugfix in v1.6.2
\ifstrequal{#1}{}{}{\marginpar{\vspace*{\dimexpr1pt-\baselineskip}\raggedright\input{#1}}}%
{\color{heading}\cvsectionfont\MakeUppercase{#2}}\\[-1ex]%
{\color{headingrule}\rule{\linewidth}{2pt}\par}\medskip
}
\newcommand{\cvsubsection}[1]{%
\smallskip%
{\color{subheading}\cvsubsectionfont{#1}\par}\medskip
}
% v1.1.4: fixes inconsistent font size
% v1.7: adds accsupp ActualText for location and date markers
\newcommand{\cvevent}[4]{%
{\large\color{emphasis}#1\par}
\smallskip\normalsize
\ifstrequal{#2}{}{}{
\textbf{\color{accent}#2}\par
\smallskip}
\ifstrequal{#3}{}{}{%
{\small\makebox[0.5\linewidth][l]%
{\BeginAccSupp{method=pdfstringdef,ActualText={\datename:}}\cvDateMarker\EndAccSupp{}%
~#3}%
}}%
\ifstrequal{#4}{}{}{%
{\small\makebox[0.5\linewidth][l]%
{\BeginAccSupp{method=pdfstringdef,ActualText={\locationname:}}\cvLocationMarker\EndAccSupp{}%
~#4}%
}}\par
\medskip\normalsize
}
% v1.7: adds accsupp for the icon as well
\newcommand{\cvachievement}[3]{%
\begin{tabularx}{\linewidth}{@{}p{2em} @{\hspace{1ex}} >{\raggedright\arraybackslash}X@{}}
\multirow{2}{*}{\Large\color{accent}\BeginAccSupp{method=escape,ActualText={#1: }}#1\EndAccSupp{}} & \bfseries\textcolor{emphasis}{#2}\\
& #3
\end{tabularx}%
\smallskip
}
\newcommand{\cvtag}[1]{%
\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};
}
% v1.6: Use accsupp so that the actual numeric value is copied/pasted
% and also support 0.5, 1.5, 2.5, 3.5, 4.5
\newcommand{\cvskill}[2]{%
\textcolor{emphasis}{\textbf{#1}}\hfill
\BeginAccSupp{method=plain,ActualText={#2}}
\foreach \x in {1,...,5}{%
\ifdimequal{\x pt - #2 pt}{0.5pt}%
{\clipbox*{0pt -0.25ex {.5\width} {\totalheight}}{\color{accent}\cvRatingMarker}%
\clipbox*{{.5\width} -0.25ex {\width} {\totalheight}}{\color{body!30}\cvRatingMarker}}
{\ifdimgreater{\x bp}{#2 bp}{\color{body!30}}{\color{accent}}\cvRatingMarker}%
}\EndAccSupp{}\par%
}
% Adapted from @Jake's answer at http://tex.stackexchange.com/a/82729/226
\newcommand{\wheelchart}[4][0]{%
\begingroup\centering
\def\innerradius{#3}%
\def\outerradius{#2}%
% Calculate total
\pgfmathsetmacro{\totalnum}{0}%
\foreach \value/\colour/\name in {#4} {%
\pgfmathparse{\value+\totalnum}%
\global\let\totalnum=\pgfmathresult%
}%
\begin{tikzpicture}
% Calculate the thickness and the middle line of the wheel
\pgfmathsetmacro{\wheelwidth}{\outerradius-\innerradius}
\pgfmathsetmacro{\midradius}{(\outerradius+\innerradius)/2}
\pgfmathsetmacro{\totalrot}{-90 + #1}
% Rotate so we start from the top
\begin{scope}[rotate=\totalrot]
% 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} {
\pgfmathsetmacro{\newcumnum}{\cumnum + \value/\totalnum*360}
% Calculate the percent value
\pgfmathsetmacro{\percentage}{\value/\totalnum*100}
% Calculate the mid angle of the colour segments to place the labels
\pgfmathsetmacro{\midangle}{-(\cumnum+\newcumnum)/2}
% This is necessary for the labels to align nicely
\pgfmathparse{
(-\midangle>180?"west":"east")
} \edef\textanchor{\pgfmathresult}
\pgfmathparse{
(-\midangle>180?"flush left":"flush right")
} \edef\textalign{\pgfmathresult}
\pgfmathsetmacro\labelshiftdir{1-2*(-\midangle<180)}
% 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) --
(-\newcumnum:\innerradius) arc (-\newcumnum:-(\cumnum):\innerradius) -- cycle;
% Draw the data labels
% v1.6: Use accsupp so that the numeric number is copied/pasted too
\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
\global\let\cumnum=\newcumnum
}
\end{scope}
% \draw[gray] (0,0) circle (\outerradius) circle (\innerradius);
\end{tikzpicture}\par
\endgroup
}
\newcommand{\cvref}[3]{%
\smallskip
\textcolor{emphasis}{\textbf{#1}}\par
\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}}}
% v1.6.5 But provide for ability to highlight names in publication list
\RequirePackage{pgffor}
\def\my@namelist{}
\newcommand{\mynames}[1]{\def\my@namelist{#1}}
\newtoggle{boldname}
% v1.7.3 For backward compatibility re hooks management
\IfFormatAtLeastTF{2021-11-15}{%
\AddToHook{package/biblatex/after}{%
\typeout{OK AddToHook biblatex after works}
\altacv@makeboldnames
}%
}{%
\AfterPackage{biblatex}{%
\typeout{OK AfterPackage biblatex after works}
\altacv@makeboldnames
}%
}
\newcommand{\altacv@makeboldnames}{%
\renewcommand*{\mkbibnamefamily}[1]{%
\global\togglefalse{boldname}%
\foreach \my@fname / \my@gname in \my@namelist {%
\ifboolexpr{ test {\ifdefstrequal{\namepartfamily}{\my@fname}}
and
test {\ifdefstrequal{\namepartgiven}{\my@gname}}}
{\global\toggletrue{boldname}}{}%
}%
\iftoggle{boldname}{\textbf{##1}}{##1}%
}%
% v1.7.4 will handle "von" "van" etc prefixes and "Jr" etc suffixes too
\let\mkbibnamegiven\mkbibnamefamily%
\let\mkbibnameprefix\mkbibnamefamily%
\let\mkbibnamesuffix\mkbibnamefamily%
}
% 1.7.3 Backward compatibility for hooks management
\IfFormatAtLeastTF{2020-10-01}{%
\AddToHook{begindocument/before}{%
\pagestyle{empty}%
\color{body}%
\raggedright%
}
}{%
\AtBeginDocument{%
\pagestyle{empty}%
\color{body}%
\raggedright%
}
}