Add 1-page short CV variant, ORCID, profile photo, pre-commit hook
- cv-short.tex: two-column paracol layout (66/34) with curated content
in the left column and an "at a glance" sidebar on the right.
Locally tightens parskip, \cvsection and \cvevent so everything fits
on a single A4 page, and redefines the sidebar list helper \sbitem
to replace altacv's non-wrapping tikz \cvtag in the narrow column.
- chapters/short/{current,education,grants-selected,products,
pubs-selected,sidebar}.tex: hand-curated highlight content
(top 6 publications, top 6 grants, condensed two-line products,
stats + recognition + leadership + research-focus sidebar blocks).
- chapters/header.tex / preamble.tex: ORCID 0000-0001-7512-8541
via a new \orcid info field (faOrcid icon); blog field for
giorgio.gilest.ro.
- images/gilestro.png: profile photo, used only by the short CV via
altacv's circular \photoR.
- hooks/pre-commit + `make install-hooks`: rebuilds every variant on
any .tex/.cls/Makefile change, aborts the commit on build failure,
and stages refreshed PDFs into pdf/.
- Makefile: short target, hook-install target, dep glob extended to
chapters/short/*.tex so the short build refreshes when its sources
change.
This commit is contained in:
parent
7e30ed5b48
commit
f8563e1336
12 changed files with 239 additions and 5 deletions
13
Makefile
13
Makefile
|
|
@ -14,12 +14,18 @@ DOCKER_RUN = docker run --rm \
|
||||||
-e TEXINPUTS=.:./tex-vendor: \
|
-e TEXINPUTS=.:./tex-vendor: \
|
||||||
$(DOCKER_IMAGE)
|
$(DOCKER_IMAGE)
|
||||||
|
|
||||||
.PHONY: all full clean shell
|
.PHONY: all full short clean shell install-hooks
|
||||||
all: full
|
all: full short
|
||||||
|
|
||||||
|
# Activate the pre-commit hook that rebuilds every variant on commit.
|
||||||
|
# Run once after cloning, or after a fresh checkout.
|
||||||
|
install-hooks:
|
||||||
|
git config core.hooksPath hooks
|
||||||
|
@echo "Hooks path set to ./hooks -- pre-commit will rebuild all variants on .tex/.cls/Makefile changes."
|
||||||
|
|
||||||
# Pattern rule: build/<name>.pdf is built from <name>.tex by running xelatex twice
|
# Pattern rule: build/<name>.pdf is built from <name>.tex by running xelatex twice
|
||||||
# (twice to settle cross-references / hyperref).
|
# (twice to settle cross-references / hyperref).
|
||||||
$(BUILD_DIR)/%.pdf: %.tex preamble.tex $(wildcard chapters/*.tex) | $(BUILD_DIR)
|
$(BUILD_DIR)/%.pdf: %.tex preamble.tex $(wildcard chapters/*.tex) $(wildcard chapters/short/*.tex) | $(BUILD_DIR)
|
||||||
$(DOCKER_RUN) $(ENGINE) -interaction=nonstopmode -halt-on-error \
|
$(DOCKER_RUN) $(ENGINE) -interaction=nonstopmode -halt-on-error \
|
||||||
-output-directory=$(BUILD_DIR) $<
|
-output-directory=$(BUILD_DIR) $<
|
||||||
$(DOCKER_RUN) $(ENGINE) -interaction=nonstopmode -halt-on-error \
|
$(DOCKER_RUN) $(ENGINE) -interaction=nonstopmode -halt-on-error \
|
||||||
|
|
@ -29,6 +35,7 @@ $(BUILD_DIR):
|
||||||
mkdir -p $(BUILD_DIR)
|
mkdir -p $(BUILD_DIR)
|
||||||
|
|
||||||
full: $(BUILD_DIR)/cv-full.pdf
|
full: $(BUILD_DIR)/cv-full.pdf
|
||||||
|
short: $(BUILD_DIR)/cv-short.pdf
|
||||||
|
|
||||||
# Drop into an interactive TeX-Live shell (handy for debugging).
|
# Drop into an interactive TeX-Live shell (handy for debugging).
|
||||||
shell:
|
shell:
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
\blog{giorgio.gilest.ro}
|
\blog{giorgio.gilest.ro}
|
||||||
\github{gilestrolab}
|
\github{gilestrolab}
|
||||||
\github{ggilestro}
|
\github{ggilestro}
|
||||||
|
\orcid{0000-0001-7512-8541}
|
||||||
\location{Department of Life Sciences, Imperial College London, UK}
|
\location{Department of Life Sciences, Imperial College London, UK}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
7
chapters/short/current.tex
Normal file
7
chapters/short/current.tex
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
% Current position + brief bio (short CV)
|
||||||
|
\cvsection{Current position}
|
||||||
|
|
||||||
|
\cvevent{Reader / Associate Professor}{Imperial College London, Department of Life Sciences}{}{}
|
||||||
|
|
||||||
|
\noindent\small
|
||||||
|
Systems neurobiologist studying the function of \textbf{sleep} and the principles of behaviour in \textit{Drosophila melanogaster}. The lab develops \textbf{open-source high-throughput instrumentation} (Ethoscopes), \textbf{computational frameworks} (Rethomics, Ethoscopy) and applies them to questions ranging from sleep homeostasis to the evolution of behaviour across species.\par
|
||||||
5
chapters/short/education.tex
Normal file
5
chapters/short/education.tex
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
% Education (short CV)
|
||||||
|
\cvsection{Education}
|
||||||
|
|
||||||
|
\cvrow{2006}{\textbf{PhD in Molecular Biology}, IMP / University of Vienna, Austria}
|
||||||
|
\cvrow{2001}{\textbf{Laurea (BSc + MRes)} in Medical Biotechnology, University of Torino, Italy}
|
||||||
9
chapters/short/grants-selected.tex
Normal file
9
chapters/short/grants-selected.tex
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
% Selected grants (short CV) -- top 4 by size/significance
|
||||||
|
\cvsection{Selected grants}
|
||||||
|
|
||||||
|
\cvgrant{2024}{\$200k}{Chan Zuckerberg Initiative -- Collaborative Pairs Pilot Project (PI)}
|
||||||
|
\cvgrant{2022}{£509k}{BBSRC Responsive Mode Research Grant (PI, BB/W016176/1)}
|
||||||
|
\cvgrant{2018}{£414k}{BBSRC Responsive Mode Research Grant (PI, BB/R018839/1)}
|
||||||
|
\cvgrant{2015}{£240k}{ERC Marie Skłodowska-Curie Individual Fellowship (host PI)}
|
||||||
|
\cvgrant{2014}{£375k}{BBSRC Responsive Mode Research Grant (PI, BB/M003930/1)}
|
||||||
|
\cvgrant{2009}{£270k}{Imperial College London Junior Research Fellowship}
|
||||||
9
chapters/short/products.tex
Normal file
9
chapters/short/products.tex
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
% Commercial products -- condensed version for the short CV.
|
||||||
|
% Single line per product: bold name, URL, year, one-line pitch.
|
||||||
|
\cvsection{Commercial products}
|
||||||
|
|
||||||
|
\noindent\textbf{flyRoom}\ \ {\small\color{LightGrey}(\href{https://www.flyroom.net}{flyroom.net},\,2026, solo founder)} \\
|
||||||
|
\textit{``Manage your fly stocks, not spreadsheets.''}\ SaaS for \textit{Drosophila} stock management and lab collaboration.\par\smallskip
|
||||||
|
|
||||||
|
\noindent\textbf{Berengar}\ \ {\small\color{LightGrey}(\href{https://www.berengar.io}{berengar.io},\,2026, solo founder)} \\
|
||||||
|
\textit{``Just put Berengario in CC.''}\ Retrieval-augmented email assistant for team knowledge.\par
|
||||||
40
chapters/short/pubs-selected.tex
Normal file
40
chapters/short/pubs-selected.tex
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
% Selected publications (short CV) -- senior-author high-impact only
|
||||||
|
\cvsection{Selected publications}
|
||||||
|
|
||||||
|
\cvpub
|
||||||
|
{\textbf{Gilestro GF}*}
|
||||||
|
{The Mimicry Trap -- How We Define Intelligence to Exclude Inconvenient Minds}
|
||||||
|
{philSci, 2026}
|
||||||
|
{\senior}
|
||||||
|
|
||||||
|
\cvpub
|
||||||
|
{Joyce M, Falconio AF, Blackhurst L, Prieto-Godino L, French AS, \textbf{Gilestro GF}*}
|
||||||
|
{Divergent evolution of sleep in Drosophila species}
|
||||||
|
{Nature Communications, 2024; 15:5091}
|
||||||
|
{\senior}
|
||||||
|
|
||||||
|
\cvpub
|
||||||
|
{French A, Geissmann Q, Beckwith EJ, \textbf{Gilestro GF}*}
|
||||||
|
{Sensory processing during sleep in \textit{Drosophila melanogaster}}
|
||||||
|
{Nature, 2021; 598:7882}
|
||||||
|
{\senior}
|
||||||
|
|
||||||
|
\cvpub
|
||||||
|
{Geissmann Q, Beckwith EJ, \textbf{Gilestro GF}*}
|
||||||
|
{Most sleep does not serve a vital function: evidence from \textit{Drosophila melanogaster}}
|
||||||
|
{Science Advances, 2019; 5(2):eaau9253}
|
||||||
|
{\senior}
|
||||||
|
|
||||||
|
\cvpub
|
||||||
|
{Geissmann Q, Garcia Rodriguez L, Beckwith EJ, French AS, Jamasb AR, \textbf{Gilestro GF}*}
|
||||||
|
{Ethoscopes: an open platform for high-throughput ethomics}
|
||||||
|
{PLoS Biology, 2017; 15(10):e2003026}
|
||||||
|
{\senior}
|
||||||
|
|
||||||
|
\cvpub
|
||||||
|
{\textbf{Gilestro GF}, Tononi G, Cirelli C}
|
||||||
|
{Widespread changes in synaptic markers as a function of sleep and wakefulness in \textit{Drosophila}}
|
||||||
|
{Science, 2009; 324(5923):109--12}
|
||||||
|
{}
|
||||||
|
|
||||||
|
\vspace{2pt}\noindent{\footnotesize Full publication list available on request or at \href{https://lab.gilest.ro/research/publications/}{lab.gilest.ro/research/publications}.\par}
|
||||||
33
chapters/short/sidebar.tex
Normal file
33
chapters/short/sidebar.tex
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
% Sidebar content for the short CV (right column in paracol layout).
|
||||||
|
|
||||||
|
\cvsection{At a glance}
|
||||||
|
|
||||||
|
\cvachievement{\faTrophy}{£2.5M+}{secured as Principal Investigator}
|
||||||
|
\cvachievement{\faHandshake}{£590k+}{secured as co-Principal Investigator}
|
||||||
|
\cvachievement{\faBook}{25+}{peer-reviewed publications}
|
||||||
|
\cvachievement{\faMicrophone}{50+}{invited talks worldwide (past 7 yrs)}
|
||||||
|
\cvachievement{\faUserGraduate}{9}{trained PhDs and postdocs, now in faculty / R\&D positions}
|
||||||
|
|
||||||
|
\cvsection{Recognition}
|
||||||
|
|
||||||
|
\sbitem{Excellence in Teaching, Imperial College}
|
||||||
|
\sbitem{ERC Marie Curie IF holder}
|
||||||
|
\sbitem{Edmond J. Safra fellow}
|
||||||
|
\sbitem{Imperial Junior Research Fellow}
|
||||||
|
\sbitem{Senior / corresponding author in \textit{Science}, \textit{Nature}, \textit{Nat.\,Comm.}, \textit{Sci.\,Advances}, \textit{PLoS Biology}}
|
||||||
|
|
||||||
|
\cvsection{Leadership \& service}
|
||||||
|
|
||||||
|
\sbitem{UK rep, European \textit{Drosophila} Board}
|
||||||
|
\sbitem{Vice-Chair, EU MCSE \& HADEA}
|
||||||
|
\sbitem{Co-founder, JEDI Network}
|
||||||
|
\sbitem{Director, MSc ABB (2017--2024)}
|
||||||
|
\sbitem{Academic Editor, PLoS~ONE (2011--2022)}
|
||||||
|
\sbitem{Reviewer for 35+ academic journals}
|
||||||
|
|
||||||
|
\cvsection{Research focus}
|
||||||
|
|
||||||
|
\sbitem{\textit{Drosophila} sleep \& behaviour}
|
||||||
|
\sbitem{High-throughput ethomics}
|
||||||
|
\sbitem{Open-source neuroscience instrumentation}
|
||||||
|
\sbitem{Systems neurobiology}
|
||||||
78
cv-short.tex
Normal file
78
cv-short.tex
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
% ============================================================
|
||||||
|
% cv-short.tex -- 1-2 page highlight CV
|
||||||
|
% Two-column layout via paracol: main content left, "at a glance"
|
||||||
|
% + recognition tags in the right sidebar.
|
||||||
|
% Build with: make short
|
||||||
|
% ============================================================
|
||||||
|
\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
|
||||||
|
|
||||||
|
\input{preamble.tex}
|
||||||
|
\usepackage{paracol}
|
||||||
|
|
||||||
|
% Narrow page margins for a denser look.
|
||||||
|
\geometry{left=1.2cm,right=1.2cm,top=1.2cm,bottom=1.2cm,columnsep=0.9cm}
|
||||||
|
|
||||||
|
% Sidebar visual: light grey background colour for the right column.
|
||||||
|
\definecolor{SidebarBG}{HTML}{F4F4F4}
|
||||||
|
|
||||||
|
% Tighter section spacing for the short variant.
|
||||||
|
\renewcommand{\cvsectionfont}{\Large\bfseries}
|
||||||
|
\renewcommand{\cvsubsectionfont}{\normalsize\bfseries}
|
||||||
|
\setlength{\parskip}{1pt}
|
||||||
|
|
||||||
|
% Compress \cvsection: less top whitespace, thinner rule.
|
||||||
|
\renewcommand{\cvsection}[2][]{%
|
||||||
|
\nointerlineskip\medskip%
|
||||||
|
{\color{heading}\cvsectionfont\MakeUppercase{#2}}\\[-0.6ex]%
|
||||||
|
{\color{headingrule}\rule{\linewidth}{1.4pt}\par}\smallskip
|
||||||
|
}
|
||||||
|
|
||||||
|
% Compress \cvevent: drop trailing \medskip.
|
||||||
|
\makeatletter
|
||||||
|
\renewcommand{\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]{\cvDateMarker~#3}}}%
|
||||||
|
\ifstrequal{#4}{}{}{%
|
||||||
|
{\small\makebox[0.5\linewidth][l]{\cvLocationMarker~#4}}}\par
|
||||||
|
\smallskip\normalsize
|
||||||
|
}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
% Compact one-item-per-line list for the sidebar (replaces \cvtag pills,
|
||||||
|
% which can't wrap inside the narrow column).
|
||||||
|
\newcommand{\sbitem}[1]{%
|
||||||
|
\par\noindent\textcolor{accent}{\small\faAngleRight}~\small #1\par%
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
% Photo (short CV only). altacv default: circular crop, no \normalphoto opt.
|
||||||
|
\photoR{2.2cm}{images/gilestro}
|
||||||
|
|
||||||
|
% Full-width header at the top
|
||||||
|
\input{chapters/header.tex}
|
||||||
|
|
||||||
|
% Two columns: main (left, 66%) / sidebar (right, 34%)
|
||||||
|
\columnratio{0.66}
|
||||||
|
\setlength{\columnsep}{2em}
|
||||||
|
\setlength{\columnseprule}{0pt}
|
||||||
|
\begin{paracol}{2}
|
||||||
|
|
||||||
|
% =============== MAIN COLUMN (left) ===========================
|
||||||
|
\input{chapters/short/current.tex}
|
||||||
|
\input{chapters/short/education.tex}
|
||||||
|
\input{chapters/short/grants-selected.tex}
|
||||||
|
\input{chapters/short/products.tex}
|
||||||
|
\input{chapters/short/pubs-selected.tex}
|
||||||
|
|
||||||
|
\switchcolumn
|
||||||
|
|
||||||
|
% =============== SIDEBAR (right) ==============================
|
||||||
|
\input{chapters/short/sidebar.tex}
|
||||||
|
|
||||||
|
\end{paracol}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
43
hooks/pre-commit
Executable file
43
hooks/pre-commit
Executable file
|
|
@ -0,0 +1,43 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Pre-commit hook: rebuild every CV variant whenever LaTeX sources change.
|
||||||
|
#
|
||||||
|
# Activated via: git config core.hooksPath hooks
|
||||||
|
# (or run once: make install-hooks)
|
||||||
|
#
|
||||||
|
# Behaviour:
|
||||||
|
# - Only fires when staged changes touch .tex sources, the Makefile,
|
||||||
|
# or the vendored .cls. Other commits skip the rebuild.
|
||||||
|
# - Runs `make all` (i.e. cv-full + cv-short).
|
||||||
|
# - Aborts the commit if the build fails.
|
||||||
|
# - Copies the rebuilt PDFs to ./pdf/ (tracked) and stages them so each
|
||||||
|
# commit ships with up-to-date PDFs alongside the source.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Skip if no staged file matches a "build input" pattern.
|
||||||
|
STAGED=$(git diff --cached --name-only --diff-filter=ACMR || true)
|
||||||
|
if ! echo "$STAGED" | grep -qE '\.(tex|cls)$|^Makefile$'; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[pre-commit] LaTeX source changed -- rebuilding all CV variants..."
|
||||||
|
|
||||||
|
# Build everything. `make all` covers full + short.
|
||||||
|
if ! make all >/tmp/cv-build.log 2>&1; then
|
||||||
|
echo "[pre-commit] BUILD FAILED -- commit aborted." >&2
|
||||||
|
echo "[pre-commit] See /tmp/cv-build.log for details." >&2
|
||||||
|
tail -30 /tmp/cv-build.log >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Publish the rebuilt PDFs to the tracked ./pdf/ directory and stage them.
|
||||||
|
mkdir -p pdf
|
||||||
|
for variant in cv-full cv-short; do
|
||||||
|
if [[ -f "build/${variant}.pdf" ]]; then
|
||||||
|
cp "build/${variant}.pdf" "pdf/${variant}.pdf"
|
||||||
|
git add "pdf/${variant}.pdf"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "[pre-commit] Rebuild OK, pdf/ updated and staged."
|
||||||
|
exit 0
|
||||||
BIN
images/gilestro.png
Normal file
BIN
images/gilestro.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
|
|
@ -39,7 +39,9 @@
|
||||||
|
|
||||||
% --- Extra info fields for the header ------------------------
|
% --- Extra info fields for the header ------------------------
|
||||||
% \blog{host} → faBlog icon + linked https://host
|
% \blog{host} → faBlog icon + linked https://host
|
||||||
|
% \orcid{id} → faOrcid icon + linked https://orcid.org/<id>
|
||||||
\NewInfoField{blog}{\faBlog}[https://]
|
\NewInfoField{blog}{\faBlog}[https://]
|
||||||
|
\NewInfoField{orcid}{\faOrcid}[https://orcid.org/]
|
||||||
|
|
||||||
% --- Hyperref tweaks (the class loads it via withhyper) ------
|
% --- Hyperref tweaks (the class loads it via withhyper) ------
|
||||||
\hypersetup{
|
\hypersetup{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue