diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c35706d --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# LibreOffice lock files +.~lock.*# + +# Backup / autosave +*.bak +.~* + +# LaTeX build artefacts +build/ +*.aux +*.log +*.out +*.toc +*.fls +*.fdb_latexmk +*.synctex.gz +*.xdv + +# Claude Code session state +.claude/ diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..c489b87 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,40 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## What this directory is + +This is **not** a code repository. It is a personal CV archive for Giorgio Gilestro, containing: + +- `gilestro_CV_full.odt` — the single master/editable source of the CV (OpenDocument Text, edited in LibreOffice). +- `PDFs/` — dated, immutable PDF exports of the CV over time. + +There is no build system, no tests, and no dependencies here. The global `~/.claude/CLAUDE.md` rules about Python/venv/pytest/PLANNING.md/tasks/ do not apply in this directory. + +This directory syncs with the git remote **https://git.lab.gilest.ro/giorgio/myCV.git** (Giorgio's self-hosted Gitea). The primary branch is **`main`**. Never push without an explicit instruction. (Note: Giorgio's global `master`-preference rule is AUR-specific and does not apply here — this remote already uses `main`.) + +## PDF naming convention + +Exported PDFs follow `gilestro_CV_YYYYMM.pdf` (e.g. `gilestro_CV_202510.pdf` for the October 2025 export). When producing a new export, use the current year+month — do not overwrite a prior month's file. + +## Common operations + +- **Export ODT → PDF** (headless, writes alongside the source): + ``` + libreoffice --headless --convert-to pdf gilestro_CV_full.odt --outdir PDFs/ + ``` + Then rename the output to `gilestro_CV_YYYYMM.pdf`. The headless converter always writes `gilestro_CV_full.pdf`, so a rename step is required. + +- **Read the current CV contents** without opening LibreOffice: + ``` + unzip -p gilestro_CV_full.odt content.xml | sed 's/<[^>]*>/ /g' | tr -s ' ' + ``` + Useful when the user asks questions about CV content (publications, positions, dates) — the ODT is a zip; `content.xml` holds the text. + +- **Open for editing**: `libreoffice --writer gilestro_CV_full.odt` + +## Working rules specific to this directory + +- **Never edit the `.odt` directly via binary/text tools.** It is a zipped XML bundle; hand-edits will corrupt it. Defer ODT edits to the user (in LibreOffice) unless explicitly asked to script a change via `python-docx`-style tooling against `content.xml`. +- **Never delete or overwrite existing dated PDFs in `PDFs/`** — they are the historical record. +- Treat the most recent PDF in `PDFs/` (by filename date) as the last "published" snapshot when comparing against the current ODT. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6090fa2 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +# Build CV variants to ./build/.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/.pdf is built from .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) diff --git a/PDFs/gilestro_CV_202112.pdf b/PDFs/gilestro_CV_202112.pdf new file mode 100644 index 0000000..8d0d1e0 Binary files /dev/null and b/PDFs/gilestro_CV_202112.pdf differ diff --git a/PDFs/gilestro_CV_202202.pdf b/PDFs/gilestro_CV_202202.pdf new file mode 100644 index 0000000..9e8df59 Binary files /dev/null and b/PDFs/gilestro_CV_202202.pdf differ diff --git a/PDFs/gilestro_CV_202210.pdf b/PDFs/gilestro_CV_202210.pdf new file mode 100644 index 0000000..ba80155 Binary files /dev/null and b/PDFs/gilestro_CV_202210.pdf differ diff --git a/PDFs/gilestro_CV_202303.pdf b/PDFs/gilestro_CV_202303.pdf new file mode 100644 index 0000000..4c36e7f Binary files /dev/null and b/PDFs/gilestro_CV_202303.pdf differ diff --git a/PDFs/gilestro_CV_202310.pdf b/PDFs/gilestro_CV_202310.pdf new file mode 100644 index 0000000..f6493ad Binary files /dev/null and b/PDFs/gilestro_CV_202310.pdf differ diff --git a/PDFs/gilestro_CV_202402.pdf b/PDFs/gilestro_CV_202402.pdf new file mode 100644 index 0000000..279d41b Binary files /dev/null and b/PDFs/gilestro_CV_202402.pdf differ diff --git a/PDFs/gilestro_CV_202404.pdf b/PDFs/gilestro_CV_202404.pdf new file mode 100644 index 0000000..14db1e6 Binary files /dev/null and b/PDFs/gilestro_CV_202404.pdf differ diff --git a/PDFs/gilestro_CV_202407.pdf b/PDFs/gilestro_CV_202407.pdf new file mode 100644 index 0000000..1c72245 Binary files /dev/null and b/PDFs/gilestro_CV_202407.pdf differ diff --git a/PDFs/gilestro_CV_202409.pdf b/PDFs/gilestro_CV_202409.pdf new file mode 100644 index 0000000..30cc8ab Binary files /dev/null and b/PDFs/gilestro_CV_202409.pdf differ diff --git a/PDFs/gilestro_CV_202503.pdf b/PDFs/gilestro_CV_202503.pdf new file mode 100644 index 0000000..1cf4c79 Binary files /dev/null and b/PDFs/gilestro_CV_202503.pdf differ diff --git a/PDFs/gilestro_CV_202510.pdf b/PDFs/gilestro_CV_202510.pdf new file mode 100644 index 0000000..7548567 Binary files /dev/null and b/PDFs/gilestro_CV_202510.pdf differ diff --git a/chapters/alumni.tex b/chapters/alumni.tex new file mode 100644 index 0000000..08e971b --- /dev/null +++ b/chapters/alumni.tex @@ -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} diff --git a/chapters/collaborators.tex b/chapters/collaborators.tex new file mode 100644 index 0000000..2ec0282 --- /dev/null +++ b/chapters/collaborators.tex @@ -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)} diff --git a/chapters/education.tex b/chapters/education.tex new file mode 100644 index 0000000..7b8025d --- /dev/null +++ b/chapters/education.tex @@ -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} diff --git a/chapters/examinations.tex b/chapters/examinations.tex new file mode 100644 index 0000000..62f5aea --- /dev/null +++ b/chapters/examinations.tex @@ -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)}} diff --git a/chapters/grants.tex b/chapters/grants.tex new file mode 100644 index 0000000..29b6c66 --- /dev/null +++ b/chapters/grants.tex @@ -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)} diff --git a/chapters/header.tex b/chapters/header.tex new file mode 100644 index 0000000..be14b08 --- /dev/null +++ b/chapters/header.tex @@ -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 diff --git a/chapters/positions.tex b/chapters/positions.tex new file mode 100644 index 0000000..329986d --- /dev/null +++ b/chapters/positions.tex @@ -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} diff --git a/chapters/products.tex b/chapters/products.tex new file mode 100644 index 0000000..a6d2565 --- /dev/null +++ b/chapters/products.tex @@ -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 diff --git a/chapters/publications.tex b/chapters/publications.tex new file mode 100644 index 0000000..1c99408 --- /dev/null +++ b/chapters/publications.tex @@ -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 diff --git a/chapters/service.tex b/chapters/service.tex new file mode 100644 index 0000000..5373036 --- /dev/null +++ b/chapters/service.tex @@ -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})} diff --git a/chapters/software.tex b/chapters/software.tex new file mode 100644 index 0000000..75dd9bb --- /dev/null +++ b/chapters/software.tex @@ -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. diff --git a/chapters/talks.tex b/chapters/talks.tex new file mode 100644 index 0000000..5bccbb1 --- /dev/null +++ b/chapters/talks.tex @@ -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} diff --git a/chapters/teaching.tex b/chapters/teaching.tex new file mode 100644 index 0000000..3665d72 --- /dev/null +++ b/chapters/teaching.tex @@ -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} diff --git a/cv-full.tex b/cv-full.tex new file mode 100644 index 0000000..d8c352d --- /dev/null +++ b/cv-full.tex @@ -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} diff --git a/gilestro_CV_full.odt b/gilestro_CV_full.odt new file mode 100644 index 0000000..10488d1 Binary files /dev/null and b/gilestro_CV_full.odt differ diff --git a/preamble.tex b/preamble.tex new file mode 100644 index 0000000..5d80133 --- /dev/null +++ b/preamble.tex @@ -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}% +} diff --git a/tex-vendor/altacv.cls b/tex-vendor/altacv.cls new file mode 100644 index 0000000..4a0b2b9 --- /dev/null +++ b/tex-vendor/altacv.cls @@ -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% + } +}