/AltaCV

Yet another alternative curriculum vitae/résumé class with LaTeX

Primary LanguageTeXOtherNOASSERTION

AltaCV, yet another LaTeX CV/Résumé class

v1.6.1 (22 Aug 2021), by LianTze Lim (liantze@gmail.com)

  • Starred \NewInfoField* command to handle Mastodon; Icons, \cvskills, \wheelchart have "copyable" text values; \cvskill supports numerical values {0.5, 1, ..., 4.5, 5} on 21 May 2021
  • Moved biblatex-related code to *.cfg files for easier edit on 8 May 2021
  • Removed dependency on academicons on 12 Apr 2021
  • Clickable hyperlinked info fields added on 10 May 2020
  • Sample file with new paracol layout added on 2 February 2020

(Thanks to Nur for the name.)

It all started with this:

Leonardo was talking about a résumé of Marissa Mayer that Business Insider put together using 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):

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):

sample barebones AltaCV template

Requirements and Compilation

  • pdflatex + biber + pdflatex
  • AltaCV uses fontawesome5.
  • 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.
  • Can now be compiled with pdflatex, XeLaTeX and LuaLaTeX!
    • Note that to compile with XeLaTeX, you should use a command line as follows, per the pdfx documentation: xelatex -shell-escape -output-driver="xdvipdfmx -z 0" sample.tex
  • The samples here use the Lato and Roboto Slab fonts. Feel free to use a different typeface package instead—often a different typeface will change the entire CV's feel.

sample.tex [WAS sample-alt.tex 2 FEBRUARY 2020, DEFAULT 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:

%% 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 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

\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:

\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:

\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.

\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}

Configurable colours

Use \colorlet or \definecolor to change these.

  • accent
  • emphasis
  • heading
  • headingrule
  • subheading
  • body
  • name
  • tagline

Configurable fonts

Use \renewcommand to change these.

  • \namefont
  • \taglinefont
  • \personalinfofont
  • \cvsectionfont
  • \cvsubsectionfont

legacy/sample-old.tex

This is 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:

\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:

\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

%% 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.

\begin{adjustwidth}{}{-10cm}  %% original was -8cm
\makecvheader
\end{adjustwidth}