# 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} ```