Convert Figma logo to code with AI

liantze logoAltaCV

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

1,274
331
1,274
10

Top Related Projects

:page_facing_up: Awesome CV is LaTeX template for your outstanding job application

A modern curriculum vitae class for LaTeX

2,821

:necktie: A collection of cv and resume templates written in LaTeX. Leave an issue if your language is not supported!

5,108

Software developer resume in Latex

Programmatic generation of high-quality CVs

Quick Overview

AltaCV is a LaTeX template for creating modern and stylish curriculum vitae (CV) or résumés. It offers a clean, minimalist design with customizable sections and color schemes, allowing users to create professional-looking CVs that stand out from traditional formats.

Pros

  • Highly customizable with easy-to-modify sections and color schemes
  • Clean and modern design that catches the eye
  • Compatible with both XeLaTeX and LuaLaTeX
  • Includes sample templates and documentation for easy start

Cons

  • Requires LaTeX knowledge to fully utilize and customize
  • May have a steeper learning curve for those unfamiliar with LaTeX
  • Limited to static PDF output, unlike some web-based CV builders
  • Might require additional packages or fonts to be installed

Getting Started

  1. Clone the repository or download the files from GitHub:

    git clone https://github.com/liantze/AltaCV.git
    
  2. Open the sample.tex file in your LaTeX editor.

  3. Modify the content in the sample.tex file to include your personal information, experience, and skills.

  4. Compile the document using XeLaTeX or LuaLaTeX:

    xelatex sample.tex
    

    or

    lualatex sample.tex
    
  5. View the generated PDF file to see your customized CV.

For more detailed instructions and customization options, refer to the README.md file in the repository.

Competitor Comparisons

:page_facing_up: Awesome CV is LaTeX template for your outstanding job application

Pros of Awesome-CV

  • More comprehensive and feature-rich template
  • Includes additional sections like honors, publications, and presentations
  • Offers a wider range of customization options

Cons of Awesome-CV

  • Steeper learning curve due to more complex structure
  • May be overwhelming for users seeking a simpler CV format
  • Requires more time to set up and customize

Code Comparison

Awesome-CV:

\documentclass[11pt, a4paper]{awesome-cv}
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
\fontdir[fonts/]
\colorlet{awesome}{awesome-emerald}

AltaCV:

\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
\geometry{left=1.25cm,right=1.25cm,top=1.5cm,bottom=1.5cm,columnsep=1.2cm}
\usepackage{paracol}

Both templates offer LaTeX-based CV creation, but Awesome-CV provides more built-in sections and customization options, while AltaCV focuses on a simpler, two-column layout. Awesome-CV may be better suited for academic or research-oriented CVs, while AltaCV offers a more streamlined approach for general professional use.

A modern curriculum vitae class for LaTeX

Pros of moderncv

  • More established and widely used, with a larger community and support base
  • Offers a broader range of pre-designed templates and color schemes
  • Better documentation and examples available

Cons of moderncv

  • Less flexible and customizable compared to AltaCV
  • Older codebase, which may lead to compatibility issues with newer LaTeX distributions
  • Limited in terms of modern design trends and aesthetics

Code Comparison

moderncv:

\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{classic}
\moderncvcolor{blue}
\name{John}{Doe}
\title{Curriculum Vitae}

AltaCV:

\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
\geometry{left=1cm,right=9cm,marginparwidth=6.8cm,marginparsep=1.2cm,top=1.25cm,bottom=1.25cm,footskip=2\baselineskip}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[default]{lato}

Both repositories provide LaTeX templates for creating professional CVs and resumes. moderncv is more established and offers a wider range of pre-designed templates, while AltaCV provides greater flexibility and a more modern aesthetic. The code comparison shows that moderncv has a simpler setup, while AltaCV offers more customization options in its document class and geometry settings.

2,821

:necktie: A collection of cv and resume templates written in LaTeX. Leave an issue if your language is not supported!

Pros of latexcv

  • Multiple template options available (classic, modern, two column, etc.)
  • Includes sample content for easier customization
  • Comprehensive documentation with setup instructions and package requirements

Cons of latexcv

  • Less compact design compared to AltaCV
  • Fewer customization options for individual sections
  • May require more manual adjustments for a polished look

Code Comparison

AltaCV:

\cvsection{Experience}
\begin{cventries}
  \cventry
    {Job Title}
    {Company Name}
    {Location}
    {Start Date -- End Date}
    {
      \begin{cvitems}
        \item {Description of responsibilities and achievements}
      \end{cvitems}
    }
\end{cventries}

latexcv:

\begin{cvtimeline}
  \cvitem{Start Date -- End Date}{
    \begin{cvsubsection}
      \cvsubitem{Job Title}{Company Name, Location}
      \begin{itemize}
        \item Description of responsibilities and achievements
      \end{itemize}
    \end{cvsubsection}
  }
\end{cvtimeline}

Both repositories offer LaTeX templates for creating professional CVs, but they differ in structure and customization options. AltaCV provides a more compact and visually appealing design out of the box, while latexcv offers multiple template styles to choose from. The code comparison shows that AltaCV uses a more structured approach with custom environments, while latexcv relies on more traditional LaTeX constructs.

5,108

Software developer resume in Latex

Pros of resume

  • Simple and minimalist design, easy to customize
  • Includes a pre-filled example resume for quick start
  • Uses JSON for data input, allowing for easy updates and maintenance

Cons of resume

  • Limited styling options compared to AltaCV
  • Less flexibility in layout and section arrangement
  • Fewer pre-designed elements and icons

Code Comparison

AltaCV (LaTeX):

\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
\geometry{left=1.25cm,right=1.25cm,top=1.5cm,bottom=1.5cm,columnsep=1.2cm}
\usepackage{paracol}

resume (HTML/CSS):

<div id="resume">
  <div id="nameBlock" class="largeFont">
    <span class="name">{{ name }}</span>
  </div>
  <div id="contactBlock">{{ email }} &bull; {{ phone }}</div>
</div>

AltaCV offers more advanced LaTeX-based formatting, while resume uses a simpler HTML/CSS structure. AltaCV provides greater control over layout and typography, but resume's HTML/CSS approach may be more familiar to web developers. Both repositories aim to create professional-looking resumes, but cater to different user preferences and skill sets.

Programmatic generation of high-quality CVs

Pros of cv-boilerplate

  • Minimalist design with clean, modern aesthetics
  • Uses YAML for data input, allowing for easy content management
  • Supports multiple languages through Pandoc

Cons of cv-boilerplate

  • Less customizable layout compared to AltaCV
  • Fewer pre-designed sections and formatting options
  • May require more manual tweaking for complex layouts

Code Comparison

AltaCV:

\documentclass[10pt,a4paper,ragged2e,withhyper]{altacv}
\geometry{left=1.25cm,right=1.25cm,top=1.5cm,bottom=1.5cm,columnsep=1.2cm}
\usepackage{paracol}

cv-boilerplate:

---
name: John Doe
position: Web Developer
phone: (912) 555-4321
email: john@doe.com
---

Both repositories offer LaTeX-based CV templates, but they differ in their approach to customization and data input. AltaCV provides a more feature-rich template with extensive customization options, while cv-boilerplate focuses on simplicity and ease of use with its YAML-based data input system. The choice between the two depends on the user's specific needs and familiarity with LaTeX and YAML.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

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

v1.7.2 (25 Aug 2024), by LianTze Lim (liantze@gmail.com)

  • 1.7.2 (25 Aug 2024) changes:
    • Added simpleicons package to provide icon for X.com
    • Added \xtwitter to replace \twitter
  • v1.7 (9 Aug 2023) changes:
    • \itemmarker and \ratingmarker renamed to \cvItemMarker and \cvRatingMarker
    • Added \cvLocationMarker and \cvDateMarker so that these icons in \cvevent can be re-defined
    • Added \locationname and \datename for replacement text of the location and date markers in \cvevent
    • Other tweaks with accsupp (with another bugfix in v1.7.1.)
  • Added \mynames{...} to specify names to be highlighted in the publication list on 3 Nov 2022
  • 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

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:

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

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

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