commit 419ceb060c97eb0ebeb1b276dff79333278f7dd7 Author: Pim Nelissen Date: Sun May 11 10:21:46 2025 +0200 initial diff --git a/Globe_High.png b/Globe_High.png new file mode 100644 index 0000000..75864fa Binary files /dev/null and b/Globe_High.png differ diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..bafc3d3 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,12 @@ +This work 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 2005/12/01 or later. + +This work has the LPPL maintenance status `maintained'. + +The Current Maintainer of this work is LianTze Lim diff --git a/README.md b/README.md new file mode 100644 index 0000000..efb5aaf --- /dev/null +++ b/README.md @@ -0,0 +1,195 @@ +# AltaCV, yet another LaTeX CV/Résumé class + +v1.7.3 (31 Oct 2024), by LianTze Lim (liantze@gmail.com) + +(Thanks to [Nur](https://github.com/nurh) for the name.) + +It all started with this: + +[](https://twitter.com/Leonduck/status/764281546408923136) + +Leonardo was talking about a [résumé of Marissa Mayer that Business Insider put together](http://www.businessinsider.my/a-sample-resume-for-marissa-mayer-2016-7/) using [enhancv.com](https://enhancv.com). +I _knew_ I had to do something about it. And so AltaCV was born. + +## Samples + +This is how the re-created résumé looks like ([view/open on Overleaf](https://www.overleaf.com/latex/examples/recreating-business-insiders-cv-of-marissa-mayer-using-altacv/gtqfpbwncfvp)): + +Marissa Mayer's résumé, re-created with AltaCV + +Though if you're creating your own CV/résumé, you'd probably prefer using the basic template ([view/open on Overleaf](https://www.overleaf.com/latex/templates/altacv-template/trgqjpwnmtgv)): + +sample barebones AltaCV template + + +## Requirements and Compilation + +* AltaCV uses [`fontawesome5`](http://www.ctan.org/pkg/fontawesome5) (≥ v5.12.0), and [simpleicons](http://www.ctan.org/pkg/simpleicons) (≥ v9.9.0) for the new X icon when you use `\xtwitter`. If you're on an older version, the class will try to fall back to the old Twitter icon. But it's recommended to use an up-to-date MikTeX or TeX Live installation, with updated packages as recent as possible. +* To produce the list of publications, run `pdflatex` + `biber` + `pdflatex`. (Replace `pdflatex` with `xelatex` or `lualatex` as necessary.) + * Note that to compile with XeLaTeX, you should use a command line as follows, per [the `pdfx` documentation](http://mirrors.ctan.org/macros/latex/contrib/pdfx/pdfx.pdf): `xelatex -shell-escape -output-driver="xdvipdfmx -z 0" sample.tex` +* Use the `normalphoto` option to get normal (i.e. non-circular) photos. +* As of v1.2 you can add multiple photos on the left or right: `\photoL{2cm}{logo1}` and `\photoR{2.5cm}{logo2,photo}`. (`\photo` will work like `\photoR`.) Separate your image filenames with commas _without_ spaces. +* Use the `ragged2e` option to activate hyphenations while keeping text left-justified; line endings will thus be less jagged and more aesthetically pleasing. +* As of v1.3 the `withhyper` document class option will make the "personal info" fields into clickable hyperlinks (where it makes sense). See below for more details. +* The samples here use the [Lato](http://www.latofonts.com/lato-free-fonts/) and [Roboto Slab fonts](https://github.com/googlefonts/robotoslab). Feel free to use a different typeface package instead—often a different typeface will change the entire CV's feel. + +## `sample.tex` ## + +This file was first created as `sample-alt.tex` on 2 Feb 2020. **It is the default sample LaTeX file since 10 May 2020.** + +Many users have overlooked the optional argument of `\cvsection` to insert the right sidebar contents, and often confused that the right sidebar doesn't automatically break across pages. This new layout uses the `paracol` package for typesetting the left and right columns that _can_ break across pages. It also makes changing the column widths easier: + +```latex +%% Set the left/right column width ratio to 6:4. +\columnratio{0.6} + +% Start a 2-column paracol. Both the left and right columns will automatically +% break across pages if things get too long. +\begin{paracol}{2} +\cvsection{Experience} +... +... END OF LEFT COLUMN CONTENTS ... + +% Now switch to the right column. +\switchcolumn +\cvsection{Education} +... +...END OF RIGHT COLUMN CONTENTS ... +\end{paracol} +``` +You can also use `\swithcolumn*` for "synchronising" the columns, as well as other commands from the `paracol` package. See the [`paracol` package documentation](http://texdoc.net/pkg/paracol) for further details. + +**You do not need use the `fullwidth` environment nor use optional arguments with `\cvsection` with this new template.** + +## Clickable Info fields + +As of v1.3, the `withhyper` document class option will load the `hyperref` package, and make fields in the personal detail fields into clickable hyperlinks (where it makes sense anyway). + +*BIG CAVEAT:* Remember that not all readers may want to click on hyperlinks in PDFs. You may therefore sometimes want to _remove_ `withhyper`, and spell out the field URL details a bit more completely, e.g. `\github{github.com/your-id}`. + +Anyway assuming that you _do_ keep `withhyper` enabled: For each field e.g. `\homepage{foobar.com}`, a `\homepagesymbol` has been defined, and the clickable hyperlink is generated by prepending the `\homepagehyperprefix` to `foobar.com`. The `\homepgehyperprefix` is defined to be `\https://`, so this generates the hyperlink `https://foobar.com`. + +If your homepage doesn't use HTTPS yet, or if you want to use a different symbol, you can re-define them with +```latex +\renewcommand{\homepagehyperprefix}{http://} +\renewcommand{\homepagesymbol}{\faLink} +``` + + +## New Information Fields #### + +I've decided against adding definitions for too many fields and symbols in the `.cls` itself; otherwise we'll have all possible platforms in the world (and more services are born everyday!) within `altacv.cls` before we know it. + +You can actually just typeset your own arbitrary information fields using the `\printinfo{symbol}{detail}[optional hyperlink prefix]` command within `\personalinfo`: + +````latex +\printinfo{\faPaw}{Hey ho!} +\printinfo{\faGitLab}{your-handle}[https://gitlab.com/] +```` + +Or if you really prefer, you can define a new field yourself with `\NewInfoFiled{fieldname}{symbol}[optional hyperlink prefix]` before using it: + +````latex +\NewInfoField{gitlab}{\faGitlab}[https://gitlab.com/] +\gitlab{your_id} +```` + +For services and platforms like Mastodon where there isn't a straightforward relation between the more popular user ID or nickname and the hyperlink, you can use `\printinfo` directly e.g. + +```latex +\printinfo{\faMastodon}{@username@instace}[https://instance.url/@username] +``` + +But if you absolutely want to create new dedicated info fields for such platforms, then use `\NewInfoField*` with a star: + +```latex +\NewInfoField*{mastodon}{\faMastodon} +``` + +then you can use `\mastodon` with TWO arguments where the 2nd argument is the full hyperlink. + +```latex +\mastodon{@username@instance}{https://instance.url/@username} +``` + + +## Configurable colours + +Use `\colorlet` or `\definecolor` to change these; see examples +in preamble of `sample.tex`. +* `accent` +* `emphasis` +* `heading` +* `headingrule` +* `subheading` +* `body` +* `name` +* `tagline` + +## Configurable fonts + +Use `\renewcommand` to change these; see examples in preamble of +`sample.tex`. +* `\namefont` +* `\taglinefont` +* `\personalinfofont` +* `\cvsectionfont` +* `\cvsubsectionfont` + +## Configurable icons + +Use `\renewcommand` to change these; see examples in preamble of +`sample.tex`. +* `\cvItemMarker` (bullets for `itemize`) +* `\cvRatingMarker` (for `\cvskill`) +* `\cvDateMarker` (for date in `\cvevent`) +* `\cvLocationMarker` (for location in `\cvevent` and `\location`) + + +## Is this template ATS-friendly? +There is some discussion about this in issue #76. No actual claims are made, because we don't really know how each ATS system works. But this template uses `accsupp` to add replacement text for the icons, which may help — e.g. the `\faGithub` icon rendered in the PDF would copy-and-paste from Acrobat Reader, as exactly the text `\faGithub`. + +You could try running `pdftotext -raw sample.pdf` to view the text-only version of the CV, with the columnar layout removed. + +Alternatively running `pdftotext -layout sample.pdf` to view the text-only version in a pseudo-two-column layout. + +In particular `\locationname` and `\datename` hold the replacement text for the location and date/duration icon in `\cvevent`. These can be re-defined especially if your CV is in a non-English language, e.g. Spanish (see commented examples in preamble of `sample.tex`): + +```latex +\renewcommand{\locationname}{Ubicación} +\renewcommand{\datename}{Fecha} +``` + +--- + +## `legacy/sample-old.tex` (for historical record only) + +This was the original sample template file until 5 May 2020. The right sidebar is actually a _`marginpar`_, so it doesn't support footnote and cannot automatically break across pages if it's too long. You would need to split your right sidebar contents into separate files e.g. `p1sidebar.tex` and `p2sidebar.tex`, and insert them as the optional argument of the `\cvsection{...}` that you want to align them with: + +```latex +\cvsection[p1sidebar]{Experience} +... +... END OF FIRST PAGE OF YOUR CV ... +\cvsection[page2sidebar]{Publications} +... +``` + +This assumes that the next page's main column would start immediately with a `\cvsection`, so that the top of your right sidebar contents also appear at the top of the page. Now if the _next_ page doesn't start with a `\cvsection` but you'd still like to add a sidebar, then use this command on the _current_ page to add it. The optional argument lets you pull up the sidebar a bit so that it looks aligned with the top of the main column: + +```latex +\addnextpagesidebar[-1ex]{page3sidebar} +``` + +If you want to change the left and right columns' widths, you'll need to tinker with the `right` (distance from paper's right edge until the main column's right edge) and `marginparwidth` (width of the right sidebar) options in the `\geometry` line. For example, to make the right sidebar wider by 2cm, you could use + +```latex +%% original was right=9cm, marginparwidth=6.8cm +\geometry{left=1cm,right=11cm,marginparwidth=8.8cm,marginparsep=1.2cm,top=1cm,bottom=1cm} +``` +as well as doing a bit of arithmetic when you're making the header to get it full-width, i.e. reducing the sidebar by 2cm and extending the main column by 2cm. + +```latex +\begin{adjustwidth}{}{-10cm} %% original was -8cm +\makecvheader +\end{adjustwidth} +``` diff --git a/Suitcase_High.png b/Suitcase_High.png new file mode 100644 index 0000000..f9a09e4 Binary files /dev/null and b/Suitcase_High.png differ diff --git a/Yacht_High.png b/Yacht_High.png new file mode 100644 index 0000000..b557b76 Binary files /dev/null and b/Yacht_High.png differ diff --git a/altacv.cls b/altacv.cls new file mode 100644 index 0000000..2df793a --- /dev/null +++ b/altacv.cls @@ -0,0 +1,500 @@ +%%%%%%%%%%%%%%%%% +% This is altacv.cls (v1.7.3, 31 Oct 2024) 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}[2024/10/31 AltaCV v1.7.3, 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 +\DeclareOption{withhyper}{\@withhypertrue} +\ProcessOptions\relax + +\LoadClass{extarticle} +\RequirePackage{etoolbox} +% 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 +\if@withhyper +\IfFormatAtLeastTF{2020-10-01}{% + \AddToHook{begindocument/before}{\hypersetup{hidelinks}\urlstyle{same}} +}{% + \AtBeginDocument{\hypersetup{hidelinks}\urlstyle{same}} +} +\fi + +\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}{m m o}{% + \IfNoValueTF{#3}{% + \mbox{\textcolor{accent}% + {\BeginAccSupp{method=escape,ActualText={\detokenize{#1}:}}\normalfont #1\EndAccSupp{}}% + ~\utffriendlydetokenize{#2}\hspace{2em}}% + }{% + \if@withhyper% + \mbox{\textcolor{accent}% + {\BeginAccSupp{method=escape,ActualText={\detokenize{#1}:}}\normalfont #1\EndAccSupp{}}% + ~\href{#3}{\utffriendlydetokenize{#2}}\hspace{2em}} + \else% + \ClassWarning{Please specify [withhyper] option to enable hyperlinks. Printing out full hyperlink prefix #1 for now.}% + \mbox{\textcolor{accent} + {\BeginAccSupp{method=escape,ActualText={\detokenize{#1}:}}\normalfont #1\EndAccSupp{}}% + ~{\utffriendlydetokenize{#3#2}}\hspace{2em}}% + \fi% + }% +}% + + +%% 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{% + \if@withhyper + \IfNoValueTF {##2} + {\printinfo{\csuse{#2 symbol}}{##1}}% + {\printinfo{\csuse{#2 symbol}}{##1}[##2]}% + \else + \printinfo{\csuse{#2 symbol}}{##1}% + \fi% + }% + } + { \csdef{#2}##1{% + \if@withhyper + \IfNoValueTF {#4} + {\printinfo{\csuse{#2 symbol}}{##1}}% + {\printinfo{\csuse{#2 symbol}}{##1}[\csuse{#2 hyperprefix}##1]}% + \else + \printinfo{\csuse{#2 symbol}}{##1}% + \fi% + }% + } +} +\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}\typeout{YES BOLD NAMES}}{}% + }% + \iftoggle{boldname}{\textbf{##1}}{##1}% + }% +% + \renewcommand*{\mkbibnamegiven}[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}\breakforeach}{}% + }% + \iftoggle{boldname}{\textbf{##1}}{##1}% + } +} + +% 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% + } +} diff --git a/cv.bcf b/cv.bcf new file mode 100644 index 0000000..c2bbf40 --- /dev/null +++ b/cv.bcf @@ -0,0 +1,2394 @@ + + + + + + output_encoding + utf8 + + + input_encoding + utf8 + + + debug + 0 + + + mincrossrefs + 2 + + + minxrefs + 2 + + + sortcase + 1 + + + sortupper + 1 + + + + + + + alphaothers + + + + + labelalpha + 0 + + + labelnamespec + shortauthor + author + shorteditor + editor + translator + + + labeltitle + 0 + + + labeltitlespec + shorttitle + title + maintitle + + + labeltitleyear + 0 + + + labeldateparts + 0 + + + labeldatespec + date + year + eventdate + origdate + urldate + nodate + + + julian + 0 + + + gregorianstart + 1582-10-15 + + + maxalphanames + 3 + + + maxbibnames + 6 + + + maxcitenames + 3 + + + maxsortnames + 6 + + + maxitems + 3 + + + minalphanames + 1 + + + minbibnames + 3 + + + mincitenames + 3 + + + minsortnames + 3 + + + minitems + 1 + + + nohashothers + 0 + + + noroman + 0 + + + nosortothers + 0 + + + pluralothers + 0 + + + singletitle + 0 + + + skipbib + 0 + + + skipbiblist + 0 + + + skiplab + 0 + + + sortalphaothers + + + + + sortlocale + english + + + sortingtemplatename + ydnt + + + sortsets + 0 + + + uniquelist + false + + + uniquename + false + + + uniqueprimaryauthor + 0 + + + uniquetitle + 0 + + + uniquebaretitle + 0 + + + uniquework + 0 + + + useprefix + 0 + + + useafterword + 1 + + + useannotator + 1 + + + useauthor + 1 + + + usebookauthor + 1 + + + usecommentator + 1 + + + useeditor + 1 + + + useeditora + 1 + + + useeditorb + 1 + + + useeditorc + 1 + + + useforeword + 1 + + + useholder + 1 + + + useintroduction + 1 + + + usenamea + 1 + + + usenameb + 1 + + + usenamec + 1 + + + usetranslator + 0 + + + useshortauthor + 1 + + + useshorteditor + 1 + + + + + + labelalpha + 0 + + + labelnamespec + shortauthor + author + shorteditor + editor + translator + + + labeltitle + 0 + + + labeltitlespec + shorttitle + title + maintitle + + + labeltitleyear + 0 + + + labeldateparts + 0 + + + labeldatespec + date + year + eventdate + origdate + urldate + nodate + + + maxalphanames + 3 + + + maxbibnames + 6 + + + maxcitenames + 3 + + + maxsortnames + 6 + + + maxitems + 3 + + + minalphanames + 1 + + + minbibnames + 3 + + + mincitenames + 3 + + + minsortnames + 3 + + + minitems + 1 + + + nohashothers + 0 + + + noroman + 0 + + + nosortothers + 0 + + + singletitle + 0 + + + skipbib + 0 + + + skipbiblist + 0 + + + skiplab + 0 + + + uniquelist + false + + + uniquename + false + + + uniqueprimaryauthor + 0 + + + uniquetitle + 0 + + + uniquebaretitle + 0 + + + uniquework + 0 + + + useprefix + 0 + + + useafterword + 1 + + + useannotator + 1 + + + useauthor + 1 + + + usebookauthor + 1 + + + usecommentator + 1 + + + useeditor + 1 + + + useeditora + 1 + + + useeditorb + 1 + + + useeditorc + 1 + + + useforeword + 1 + + + useholder + 1 + + + useintroduction + 1 + + + usenamea + 1 + + + usenameb + 1 + + + usenamec + 1 + + + usetranslator + 0 + + + useshortauthor + 1 + + + useshorteditor + 1 + + + + + datamodel + labelalphanametemplate + labelalphatemplate + inheritance + translit + uniquenametemplate + sortingnamekeytemplate + sortingtemplate + extradatespec + labelnamespec + labeltitlespec + labeldatespec + controlversion + alphaothers + sortalphaothers + presort + texencoding + bibencoding + sortingtemplatename + sortlocale + language + autolang + langhook + indexing + hyperref + backrefsetstyle + block + pagetracker + citecounter + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + labeldate + labeltime + dateera + date + time + eventdate + eventtime + origdate + origtime + urldate + urltime + alldatesusetime + alldates + alltimes + gregorianstart + autocite + notetype + uniquelist + uniquename + refsection + refsegment + citereset + sortlos + babel + datelabel + backrefstyle + arxiv + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + debug + loadfiles + safeinputenc + sortcase + sortupper + terseinits + abbreviate + dateabbrev + clearlang + sortcites + sortsets + backref + backreffloats + trackfloats + parentracker + labeldateusetime + datecirca + dateuncertain + dateusetime + eventdateusetime + origdateusetime + urldateusetime + julian + datezeros + timezeros + timezones + seconds + autopunct + punctfont + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + pluralothers + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + defernumbers + locallabelwidth + bibwarn + useprefix + skipbib + skipbiblist + skiplab + dataonly + defernums + firstinits + sortfirstinits + sortgiveninits + labelyear + isbn + url + doi + eprint + related + subentry + dashed + subentrycomp + bibtexcaseprotection + mincrossrefs + minxrefs + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + maxparens + dateeraauto + + + alphaothers + sortalphaothers + presort + indexing + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + terseinits + abbreviate + dateabbrev + clearlang + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + useprefix + skipbib + skipbiblist + skiplab + dataonly + skiplos + labelyear + isbn + url + doi + eprint + related + subentry + subentrycomp + bibtexcaseprotection + labelalphatemplate + translit + sortexclusion + sortinclusion + labelnamespec + labeltitlespec + labeldatespec + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + + + noinherit + nametemplates + labelalphanametemplatename + uniquenametemplatename + sortingnamekeytemplatename + presort + indexing + citetracker + ibidtracker + idemtracker + opcittracker + loccittracker + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + useafterword + useannotator + useauthor + usebookauthor + usecommentator + useeditor + useeditora + useeditorb + useeditorc + useforeword + useholder + useintroduction + usenamea + usenameb + usenamec + usetranslator + useshortauthor + useshorteditor + terseinits + abbreviate + dateabbrev + clearlang + labelnumber + labelalpha + labeltitle + labeltitleyear + labeldateparts + nohashothers + nosortothers + noroman + singletitle + uniquetitle + uniquebaretitle + uniquework + uniqueprimaryauthor + useprefix + skipbib + skipbiblist + skiplab + dataonly + skiplos + isbn + url + doi + eprint + related + subentry + subentrycomp + bibtexcaseprotection + maxnames + minnames + maxbibnames + minbibnames + maxcitenames + mincitenames + maxsortnames + minsortnames + maxitems + minitems + maxalphanames + minalphanames + + + nametemplates + labelalphanametemplatename + uniquenametemplatename + sortingnamekeytemplatename + uniquelist + uniquename + familyinits + giveninits + prefixinits + suffixinits + terseinits + nohashothers + nosortothers + useprefix + + + nametemplates + labelalphanametemplatename + uniquenametemplatename + sortingnamekeytemplatename + uniquename + familyinits + giveninits + prefixinits + suffixinits + terseinits + useprefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prefix + family + + + + + shorthand + label + labelname + labelname + + + year + + + + + + labelyear + year + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prefix + family + given + + + + + prefix + family + + + given + + + suffix + + + prefix + + + mm + + + + sf,sm,sn,pf,pm,pn,pp + family,given,prefix,suffix + boolean,integer,string,xml + default,transliteration,transcription,translation + + + article + artwork + audio + bibnote + book + bookinbook + booklet + collection + commentary + customa + customb + customc + customd + custome + customf + dataset + inbook + incollection + inproceedings + inreference + image + jurisdiction + legal + legislation + letter + manual + misc + movie + music + mvcollection + mvreference + mvproceedings + mvbook + online + patent + performance + periodical + proceedings + reference + report + review + set + software + standard + suppbook + suppcollection + suppperiodical + thesis + unpublished + video + xdata + + + sortyear + volume + volumes + abstract + addendum + annotation + booksubtitle + booktitle + booktitleaddon + chapter + edition + eid + entrysubtype + eprintclass + eprinttype + eventtitle + eventtitleaddon + gender + howpublished + indexsorttitle + indextitle + isan + isbn + ismn + isrn + issn + issue + issuesubtitle + issuetitle + issuetitleaddon + iswc + journalsubtitle + journaltitle + journaltitleaddon + label + langid + langidopts + library + mainsubtitle + maintitle + maintitleaddon + nameaddon + note + number + origtitle + pagetotal + part + relatedstring + relatedtype + reprinttitle + series + shorthandintro + subtitle + title + titleaddon + usera + userb + userc + userd + usere + userf + venue + version + shorthand + shortjournal + shortseries + shorttitle + sorttitle + sortshorthand + sortkey + presort + institution + lista + listb + listc + listd + liste + listf + location + organization + origlocation + origpublisher + publisher + afterword + annotator + author + bookauthor + commentator + editor + editora + editorb + editorc + foreword + holder + introduction + namea + nameb + namec + translator + shortauthor + shorteditor + sortname + authortype + editoratype + editorbtype + editorctype + editortype + bookpagination + nameatype + namebtype + namectype + pagination + pubstate + type + language + origlanguage + crossref + xref + date + endyear + year + month + day + hour + minute + second + timezone + yeardivision + endmonth + endday + endhour + endminute + endsecond + endtimezone + endyeardivision + eventdate + eventendyear + eventyear + eventmonth + eventday + eventhour + eventminute + eventsecond + eventtimezone + eventyeardivision + eventendmonth + eventendday + eventendhour + eventendminute + eventendsecond + eventendtimezone + eventendyeardivision + origdate + origendyear + origyear + origmonth + origday + orighour + origminute + origsecond + origtimezone + origyeardivision + origendmonth + origendday + origendhour + origendminute + origendsecond + origendtimezone + origendyeardivision + urldate + urlendyear + urlyear + urlmonth + urlday + urlhour + urlminute + urlsecond + urltimezone + urlyeardivision + urlendmonth + urlendday + urlendhour + urlendminute + urlendsecond + urlendtimezone + urlendyeardivision + doi + eprint + file + verba + verbb + verbc + url + xdata + ids + entryset + related + keywords + options + relatedoptions + pages + execute + + + abstract + annotation + authortype + bookpagination + crossref + day + doi + eprint + eprintclass + eprinttype + endday + endhour + endminute + endmonth + endsecond + endtimezone + endyear + endyeardivision + entryset + entrysubtype + execute + file + gender + hour + ids + indextitle + indexsorttitle + isan + ismn + iswc + keywords + label + langid + langidopts + library + lista + listb + listc + listd + liste + listf + minute + month + namea + nameb + namec + nameatype + namebtype + namectype + nameaddon + options + origday + origendday + origendhour + origendminute + origendmonth + origendsecond + origendtimezone + origendyear + origendyeardivision + orighour + origminute + origmonth + origsecond + origtimezone + origyear + origyeardivision + origlocation + origpublisher + origtitle + pagination + presort + related + relatedoptions + relatedstring + relatedtype + second + shortauthor + shorteditor + shorthand + shorthandintro + shortjournal + shortseries + shorttitle + sortkey + sortname + sortshorthand + sorttitle + sortyear + timezone + url + urlday + urlendday + urlendhour + urlendminute + urlendmonth + urlendsecond + urlendtimezone + urlendyear + urlhour + urlminute + urlmonth + urlsecond + urltimezone + urlyear + usera + userb + userc + userd + usere + userf + verba + verbb + verbc + xdata + xref + year + yeardivision + + + set + entryset + + + article + addendum + annotator + author + commentator + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + issn + issue + issuetitle + issuesubtitle + issuetitleaddon + journalsubtitle + journaltitle + journaltitleaddon + language + note + number + origlanguage + pages + pubstate + series + subtitle + title + titleaddon + translator + version + volume + + + bibnote + note + + + book + author + addendum + afterword + annotator + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + maintitle + maintitleaddon + mainsubtitle + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + mvbook + addendum + afterword + annotator + author + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + foreword + introduction + isbn + language + location + note + number + origlanguage + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + inbook + bookinbook + suppbook + addendum + afterword + annotator + author + booktitle + bookauthor + booksubtitle + booktitleaddon + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + part + publisher + pages + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + booklet + addendum + author + chapter + editor + editortype + eid + howpublished + language + location + note + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + + + collection + reference + addendum + afterword + annotator + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + mvcollection + mvreference + addendum + afterword + annotator + author + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + foreword + introduction + isbn + language + location + note + number + origlanguage + publisher + pubstate + subtitle + title + titleaddon + translator + volume + volumes + + + incollection + suppcollection + inreference + addendum + afterword + annotator + author + booksubtitle + booktitle + booktitleaddon + chapter + commentator + edition + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + eid + foreword + introduction + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + origlanguage + pages + part + publisher + pubstate + series + subtitle + title + titleaddon + translator + volume + volumes + + + dataset + addendum + author + edition + editor + editortype + language + location + note + number + organization + publisher + pubstate + series + subtitle + title + titleaddon + type + version + + + manual + addendum + author + chapter + edition + editor + editortype + eid + isbn + language + location + note + number + organization + pages + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + type + version + + + misc + software + addendum + author + editor + editortype + howpublished + language + location + note + organization + pubstate + subtitle + title + titleaddon + type + version + + + online + addendum + author + editor + editortype + language + note + organization + pubstate + subtitle + title + titleaddon + version + + + patent + addendum + author + holder + location + note + number + pubstate + subtitle + title + titleaddon + type + version + + + periodical + addendum + editor + editora + editorb + editorc + editortype + editoratype + editorbtype + editorctype + issn + issue + issuesubtitle + issuetitle + issuetitleaddon + language + note + number + pubstate + series + subtitle + title + titleaddon + volume + yeardivision + + + mvproceedings + addendum + editor + editortype + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + note + number + organization + pagetotal + publisher + pubstate + series + subtitle + title + titleaddon + venue + volumes + + + proceedings + addendum + chapter + editor + editortype + eid + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + pagetotal + part + publisher + pubstate + series + subtitle + title + titleaddon + venue + volume + volumes + + + inproceedings + addendum + author + booksubtitle + booktitle + booktitleaddon + chapter + editor + editortype + eid + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + isbn + language + location + mainsubtitle + maintitle + maintitleaddon + note + number + organization + pages + part + publisher + pubstate + series + subtitle + title + titleaddon + venue + volume + volumes + + + report + addendum + author + chapter + eid + institution + isrn + language + location + note + number + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + version + + + thesis + addendum + author + chapter + eid + institution + language + location + note + pages + pagetotal + pubstate + subtitle + title + titleaddon + type + + + unpublished + addendum + author + eventday + eventendday + eventendhour + eventendminute + eventendmonth + eventendsecond + eventendtimezone + eventendyear + eventendyeardivision + eventhour + eventminute + eventmonth + eventsecond + eventtimezone + eventyear + eventyeardivision + eventtitle + eventtitleaddon + howpublished + language + location + note + pubstate + subtitle + title + titleaddon + type + venue + + + abstract + addendum + afterword + annotator + author + bookauthor + booksubtitle + booktitle + booktitleaddon + chapter + commentator + editor + editora + editorb + editorc + foreword + holder + institution + introduction + issuesubtitle + issuetitle + issuetitleaddon + journalsubtitle + journaltitle + journaltitleaddon + location + mainsubtitle + maintitle + maintitleaddon + nameaddon + note + organization + origlanguage + origlocation + origpublisher + origtitle + part + publisher + relatedstring + series + shortauthor + shorteditor + shorthand + shortjournal + shortseries + shorttitle + sortname + sortshorthand + sorttitle + subtitle + title + titleaddon + translator + venue + + + article + book + inbook + bookinbook + suppbook + booklet + collection + incollection + suppcollection + manual + misc + mvbook + mvcollection + online + patent + periodical + suppperiodical + proceedings + inproceedings + reference + inreference + report + set + thesis + unpublished + + + date + year + + + + + set + + entryset + + + + article + + author + journaltitle + title + + + + book + mvbook + + author + title + + + + inbook + bookinbook + suppbook + + author + title + booktitle + + + + booklet + + + author + editor + + title + + + + collection + reference + mvcollection + mvreference + + editor + title + + + + incollection + suppcollection + inreference + + author + editor + title + booktitle + + + + dataset + + title + + + + manual + + title + + + + misc + software + + title + + + + online + + title + + url + doi + eprint + + + + + patent + + author + title + number + + + + periodical + + editor + title + + + + proceedings + mvproceedings + + title + + + + inproceedings + + author + title + booktitle + + + + report + + author + title + type + institution + + + + thesis + + author + title + type + institution + + + + unpublished + + author + title + + + + + isbn + + + issn + + + ismn + + + gender + + + + + + + sample.bib + + + * + + + + + presort + + + sortkey + + + sortyear + year + 9999 + + + sortname + author + editor + translator + sorttitle + title + + + sorttitle + title + + + + + + diff --git a/cv.pdf b/cv.pdf new file mode 100644 index 0000000..8e88595 Binary files /dev/null and b/cv.pdf differ diff --git a/cv.tex b/cv.tex new file mode 100644 index 0000000..70f5199 --- /dev/null +++ b/cv.tex @@ -0,0 +1,325 @@ +%%%%%%%%%%%%%%%%% +% This is an sample CV template created using altacv.cls +% (v1.7.2, 28 August 2024) written by LianTze Lim (liantze@gmail.com). Compiles with pdfLaTeX, XeLaTeX and LuaLaTeX. +% +%% 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. +%%%%%%%%%%%%%%%% + +%% Use the "normalphoto" option if you want a normal photo instead of cropped to a circle +% \documentclass[10pt,a4paper,normalphoto]{altacv} + +\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv} +%% AltaCV uses the fontawesome5 and simpleicons packages. +%% See http://texdoc.net/pkg/fontawesome5 and http://texdoc.net/pkg/simpleicons for full list of symbols. + +% Change the page layout if you need to +\geometry{left=1.25cm,right=1.25cm,top=1.5cm,bottom=1.5cm,columnsep=1.2cm} + +% The paracol package lets you typeset columns of text in parallel +\usepackage{paracol} + +% Change the font if you want to, depending on whether +% you're using pdflatex or xelatex/lualatex +% WHEN COMPILING WITH XELATEX PLEASE USE +% xelatex -shell-escape -output-driver="xdvipdfmx -z 0" sample.tex +\iftutex + % If using xelatex or lualatex: + \setmainfont{Roboto Slab} + \setsansfont{Lato} + \renewcommand{\familydefault}{\sfdefault} +\else + % If using pdflatex: + \usepackage[rm]{roboto} + \usepackage[defaultsans]{lato} + % \usepackage{sourcesanspro} + \renewcommand{\familydefault}{\sfdefault} +\fi + +% Change the colours if you want to +\definecolor{SlateGrey}{HTML}{2E2E2E} +\definecolor{LightGrey}{HTML}{666666} +\definecolor{DarkPastelRed}{HTML}{450808} +\definecolor{PastelRed}{HTML}{8F0D0D} +\definecolor{GoldenEarth}{HTML}{E7D192} +\colorlet{name}{black} +\colorlet{tagline}{PastelRed} +\colorlet{heading}{DarkPastelRed} +\colorlet{headingrule}{GoldenEarth} +\colorlet{subheading}{PastelRed} +\colorlet{accent}{PastelRed} +\colorlet{emphasis}{SlateGrey} +\colorlet{body}{LightGrey} + +% Change some fonts, if necessary +\renewcommand{\namefont}{\Huge\rmfamily\bfseries} +\renewcommand{\personalinfofont}{\footnotesize} +\renewcommand{\cvsectionfont}{\LARGE\rmfamily\bfseries} +\renewcommand{\cvsubsectionfont}{\large\bfseries} + + +% Change the bullets for itemize and rating marker +% for \cvskill if you want to +\renewcommand{\cvItemMarker}{{\small\textbullet}} +\renewcommand{\cvRatingMarker}{\faCircle} +% ...and the markers for the date/location for \cvevent +% \renewcommand{\cvDateMarker}{\faCalendar*[regular]} +% \renewcommand{\cvLocationMarker}{\faMapMarker*} + + +% If your CV/résumé is in a language other than English, +% then you probably want to change these so that when you +% copy-paste from the PDF or run pdftotext, the location +% and date marker icons for \cvevent will paste as correct +% translations. For example Spanish: +% \renewcommand{\locationname}{Ubicación} +% \renewcommand{\datename}{Fecha} + + +%% Use (and optionally edit if necessary) this .tex if you +%% want to use an author-year reference style like APA(6) +%% for your publication list +% \input{pubs-authoryear.tex} + +%% Use (and optionally edit if necessary) this .tex if you +%% want an originally numerical reference style like IEEE +%% for your publication list +\input{pubs-num.tex} + +%% sample.bib contains your publications +\addbibresource{sample.bib} +% \usepackage{academicons}\let\faOrcid\aiOrcid +\begin{document} +\name{Pim Nelissen} +\tagline{Computational Scientist with a specialisation in Physics} +%% You can add multiple photos on the left or right +\photoR{2.3cm}{pim} +% \photoL{2.5cm}{Yacht_High,Suitcase_High} + +\personalinfo{% + % Not all of these are required! + + %\email{pim.nelissen@icloud.com} + \email{pi0274ne-s@student.lu.se} + \phone{+46 760 226 691} + %\mailaddress{Lund,} + \location{Lund, Sweden} + %\homepage{www.homepage.com} + % \twitter{@twitterhandle} + % \xtwitter{@x-handle} + \linkedin{pim-nelissen} + \github{pim-n} + % \orcid{0000-0000-0000-0000} + %% You can add your own arbitrary detail with + %% \printinfo{symbol}{detail}[optional hyperlink prefix] + % \printinfo{\faPaw}{Hey ho!}[https://example.com/] + + %% Or you can declare your own field with + %% \NewInfoFiled{fieldname}{symbol}[optional hyperlink prefix] and use it: + % \NewInfoField{gitlab}{\faGitlab}[https://gitlab.com/] + % \gitlab{your_id} + %% + %% For services and platforms like Mastodon where there isn't a + %% straightforward relation between the user ID/nickname and the hyperlink, + %% you can use \printinfo directly e.g. + % \printinfo{\faMastodon}{@username@instace}[https://instance.url/@username] + %% But if you absolutely want to create new dedicated info fields for + %% such platforms, then use \NewInfoField* with a star: + % \NewInfoField*{mastodon}{\faMastodon} + %% then you can use \mastodon, with TWO arguments where the 2nd argument is + %% the full hyperlink. + % \mastodon{@username@instance}{https://instance.url/@username} +} + +\makecvheader +%% Depending on your tastes, you may want to make fonts of itemize environments slightly smaller +% \AtBeginEnvironment{itemize}{\small} + +%% Set the left/right column width ratio to 6:4. +\columnratio{0.57} +\begin{paracol}{2} + +\cvsection{Education} + +\cvevent{M.Sc.\ Computational Science, Physics}{Lund University}{Sep 2024 -- \textbf{\textit{ongoing}}}{} +{\LaTeXraggedright + \cvtag{Numerical ODE/PDE solvers} + \cvtag{MATLAB} + \par} +\divider + +\cvevent{B.Sc.\ Physics}{Lund University}{Sep 2020 -- Jun 2024}{} +\begin{itemize} + \item My thesis involved machine learning applied to simulated MC data of radioactive decays from superheavy nuclei. +\end{itemize} +{\LaTeXraggedright + \cvtag{Python} + \cvtag{Monte Carlo} + \cvtag{Deep Learning} + \cvtag{C\#} + \cvtag{SQL} + \par} + +% Start a 2-column paracol. Both the left and right columns will automatically +% break across pages if things get too long. + +\medskip + +\cvsection{Experience} + +% \cvevent{Research assistant}{Lund University}{2025 -- \textbf{\textit{ongoing}}}{Lund, Sweden} +%\divider + +\cvevent{Sales specialist}{Jumbo Supermarkten}{2018 -- 2020}{Oss, Netherlands} +\begin{itemize} + \item Responsible for the entire product experience, with occasional leadership of a team of 3-5 people. +\end{itemize} + +\cvevent{Sales Assistant}{Jumbo Supermarkten}{2015 -- 2018}{Oss, Netherlands} + + +\medskip + +\cvsection{Volunteering} + +\cvevent{System Administrator}{DFRI}{Jun -- Aug 2023}{Sweden} +\begin{itemize} +\item I did some Linux system maintenance and projects at a non-profit dedicated to digital rights and privacy, particularly working with Docker and Nextcloud. +\end{itemize} + +\divider + +\cvevent{Digital Literacy Instructor}{City Library Oss}{Sep 2013 --Jun 2014}{Oss, Netherlands} +\begin{itemize} + \item I hosted an education program for promoting digital skills within the local community, particularly aimed at the elderly. +\end{itemize} + +% use ONLY \newpage if you want to force a page break for +% ONLY the current column +\newpage + +% \divider +% \printbibliography[heading=pubtype,title={\printinfo{\faFile*[regular]}{Journal Articles}},type=article] +% \divider +%\printbibliography[heading=pubtype,title={\printinfo{\faUsers}{Conference Proceedings}},type=inproceedings] + +%% Switch to the right column. This will now automatically move to the second +%% page if the content is too long. +\switchcolumn + +\cvsection{About me} + +\begin{quote} +Enjoys learning in depth and in breadth. Avid reader, and likes to spend time outdoors. Strong numerical background in physics. +\end{quote} + +\medskip + +% \cvsection{Most Proud of} +%\cvachievement{\faTrophy}{Fantastic Achievement}{and some details about it} +%\divider +%\cvachievement{\faHeartbeat}{Another achievement}{more details about it of course} +%\divider +%\cvachievement{\faHeartbeat}{Another achievement}{more details about it of course} + +% \cvsection{Strengths} + +% Don't overuse these \cvtag boxes — they're just eye-candies and not essential. If something doesn't fit on a single line, it probably works better as part of an itemized list (probably inlined itemized list), or just as a comma-separated list of strengths. + +% The `ragged2e` document class option might cause automatic linebreaks between \cvtag to fail. +% Either remove the ragged2e option; or +% add \LaTeXraggedright in the paragraph for these \cvtag +% {\LaTeXraggedright +% \cvtag{Curious} +% \cvtag{Eye for detail} +% \cvtag{Avid reader} +% \par} + +% \medskip + +\cvsection{Workshops} + +% \cvevent{Computational Nuclear Science and Engineering}{IAEA Online}{Feb-May 2025}{} + +% \cvevent{Introduction to Bayesian Statistical Learning}{Jülich Supercomputing Centre}{Mar 2025}{} + +% \cvevent{Bayesian Statistical Learning}{Jülich Supercomputing Centre}{24-28 Mar 2025}{} +\cvevent{Programming with Fortran}{Leibniz Supercomputing Centre}{11-13 Mar 2025}{} +\cvevent{Git, code testing and documentation}{EPFL CECAM, BioNT}{4-6 Feb 2025}{} + +%\cvsection{Courses} + +%{\LaTeXraggedright +%\cvtag{Scientific Python} +%\cvtag{Numerical methods for ODEs} +%\cvtag{Simulation Tools} +%\cvtag{Deep learning} +%\cvtag{Advanced Python} +%\cvtag{Climate Modelling} +%\cvtag{SQL} +%\cvtag{C\# Programming} +%\par} + +\cvsection{Technical Skill Pie} + +% Adapted from @Jake's answer from http://tex.stackexchange.com/a/82729/226 +% \wheelchart{outer radius}{inner radius}{ + % comma-separated list of value/text width/color/detail} + + +\wheelchart{1.3cm}{0.3cm}{% + 10/3em/accent/\textbf{\underline{Python}}, + 9/2em/accent/\textbf{\underline{Linux}}, + 6/4em/accent!50/{MATLAB}, + 5/2em/accent/\textbf{\underline{Git}}, + 4/5em/accent!50/{TensorFlow}, + 4/2em/accent/\textbf{\underline{SQL}}, + 3/2em/accent!30/{C\#} +} + +\medskip + +\cvsection{Languages} + +\cvskill{Dutch (Native)}{5} +\cvskill{English (IELTS Certified)}{4.5} +\cvskill{German}{2} %% Supports X.5 values. +\cvskill{Swedish}{1.5} + +%% Yeah I didn't spend too much time making all the +%% spacing consistent... sorry. Use \smallskip, \medskip, +%% \bigskip, \vspace etc to make adjustments. + +% \divider + +\medskip + +\cvsection{Publications} + +%% Specify your last name(s) and first name(s) as given in the .bib to automatically bold your own name in the publications list. +%% One caveat: You need to write \bibnamedelima where there's a space in your name for this to work properly; or write \bibnamedelimi if you use initials in the .bib +%% You can specify multiple names, especially if you have changed your name or if you need to highlight multiple authors. +\mynames{P. Nelissen,} +%% MAKE SURE THERE IS NO SPACE AFTER THE FINAL NAME IN YOUR \mynames LIST + +\nocite{*} + +\printbibliography[heading=pubtype,title={\printinfo{\faBook}{Bachelor's Thesis}},type=book] + +\newpage + +% \cvsection{Referees} + +% \cvref{name}{email}{mailing address} +% \cvref{Prof.\ Alpha Beta}{Institute}{a.beta@university.edu} +% {Address Line 1\\Address line 2} + +\end{paracol} + + +\end{document} diff --git a/latexmkrc b/latexmkrc new file mode 100644 index 0000000..fb18037 --- /dev/null +++ b/latexmkrc @@ -0,0 +1,2 @@ +# Speed up latexmk-xelatex compilation re pdfx +$hash_calc_ignore_pattern{'timestamp'} = '^'; diff --git a/nicethings_icons_readme.txt b/nicethings_icons_readme.txt new file mode 100644 index 0000000..30f41fb --- /dev/null +++ b/nicethings_icons_readme.txt @@ -0,0 +1,18 @@ +------------------ +Freebie: Nice Things Icon Set (128 Icons, PNG, AI) +Designed by Chris Behr (http://www.chrisbehr.com/) and released for Smashing Magazine and its readers. +------------------ + +Dear Friends, + +Thank you for downloading this icon set! + +This freebie has been brought to you by SmashingMagazine.com. You can freely use it for both your private and commercial projects, including software, online services, templates and themes. + +However, the icons may not be resold, sublicensed, rented, transferred or otherwise made available for use. The icons may not be offered for free downloading from websites other than SmashingMagazine.com. + +Please link to the article in which this freebie was released if you would like to spread the word: http://www.smashingmagazine.com/2013/11/01/freebie-nice-things-icon-set/ + +Smashing Magazine Team, +www.smashingmagazine.com + diff --git a/pim.jpg b/pim.jpg new file mode 100644 index 0000000..92fb413 Binary files /dev/null and b/pim.jpg differ diff --git a/pubs-authoryear.tex b/pubs-authoryear.tex new file mode 100644 index 0000000..fa33df1 --- /dev/null +++ b/pubs-authoryear.tex @@ -0,0 +1,11 @@ +% When using APA6 if you need more author names to be listed +% because you're e.g. the 12th author, add apamaxprtauth=12 +\usepackage[backend=biber,style=apa6,sorting=ydnt]{biblatex} +\defbibheading{pubtype}{\cvsubsection{#1}} +\renewcommand{\bibsetup}{\vspace*{-\baselineskip}} +\AtEveryBibitem{% + \makebox[\bibhang][l]{\itemmarker}% + \iffieldundef{doi}{}{\clearfield{url}}% +} +\setlength{\bibitemsep}{0.25\baselineskip} +\setlength{\bibhang}{1.25em} diff --git a/pubs-num.tex b/pubs-num.tex new file mode 100644 index 0000000..ce8d9b8 --- /dev/null +++ b/pubs-num.tex @@ -0,0 +1,10 @@ +\usepackage[backend=biber,style=ieee,sorting=ydnt,defernumbers=true]{biblatex} +%% For removing numbering entirely when using a numeric style +\setlength{\bibhang}{1.25em} +\DeclareFieldFormat{labelnumberwidth}{\makebox[\bibhang][l]{\itemmarker}} +\setlength{\biblabelsep}{0pt} +\defbibheading{pubtype}{\cvsubsection{#1}} +\renewcommand{\bibsetup}{\vspace*{-\baselineskip}} +\AtEveryBibitem{% + \iffieldundef{doi}{}{\clearfield{url}}% +} diff --git a/sample.bib b/sample.bib new file mode 100644 index 0000000..5aa0604 --- /dev/null +++ b/sample.bib @@ -0,0 +1,8 @@ +@book{nelissen:schmidt:2024, + type={Bachelor's Thesis}, + title = {Scrutinizing the Schmidt Test and Exploring the Use of Machine Learning for Statistical Assessment of Radioactive Decay Chains...}, + publisher = {Lund University Publications}, + author = {P. Nelissen}, + year = {2024}, + url = {http://lup.lub.lu.se/student-papers/record/9168893} +}