How to Create a Resume/CV in LaTeX (Templates)
To build a LaTeX résumé, start from a CV class like moderncv or a clean custom template, fill in your sections, and compile to a polished PDF. Templates inside.
To build a résumé or CV in LaTeX, start from a CV-oriented class such as moderncv or a clean custom template, fill in your sections, and compile to a polished, pixel-consistent PDF. LaTeX gives you typographic control no word processor matches, and the same source produces a recruiter-ready resume or a multi-page academic CV. Here are both approaches.
1. The fast path: moderncv
moderncv ships several professional styles and handles all the formatting:
\documentclass[11pt, a4paper]{moderncv}
\moderncvstyle{classic} % casual, classic, banking, oldstyle, fancy
\moderncvcolor{blue}
\name{Ada}{Lovelace}
\title{Research Scientist}
\email{[email protected]}
\social[github]{adalovelace}
\begin{document}
\makecvtitle
\section{Experience}
\cventry{2023--Present}{Research Scientist}{Analytical Engines Inc.}{London}{}{
Built the first published algorithm for a general-purpose computer.}
\section{Education}
\cventry{2020}{PhD, Mathematics}{University of London}{}{}{}
\end{document}
2. The clean path: a minimal custom resume
For a modern one-page resume, many people prefer a lightweight custom layout using titlesec and enumitem for tight control. Use a single column so applicant tracking systems can parse it (see the FAQ below). Keep section headings standard: Experience, Education, Skills, Projects.
3. Resume vs academic CV
| | Resume | Academic CV |
|---|---|---|
| Length | 1–2 pages | 3+ pages |
| Focus | Industry impact, skills | Publications, teaching, grants |
| Class | Custom / minimal | moderncv / europecv |
| Publications | Optional, brief | Full, auto-generated |
4. Auto-generate your publications list
Don't retype papers. Point BibLaTeX at your .bib file and print every entry:
\usepackage[style=numeric]{biblatex}
\addbibresource{mypapers.bib}
...
\section{Publications}
\nocite{*}
\printbibliography[heading=none]
Add a paper to the database and your CV updates on the next compile — see How to Add Citations and a Bibliography.
5. Tweak the look
Control spacing with enumitem lists, fonts with the fonts guide, and color accents with xcolor. Need a cover letter to match? See Write a Cover Letter in LaTeX.
→ Start from a ready LaTeX resume/CV template and edit it in LetX — no install, instant PDF.
Written by Shihab Shahriar Antor — AI Engineer & Founder of Shahriar Labs, maker of LetX.
Frequently Asked Questions
Will a LaTeX resume pass an ATS (applicant tracking system)?
Yes, if you keep the layout simple and export selectable-text PDF, which pdfLaTeX does by default. ATS parsers read the text layer, so avoid putting critical information inside images, multi-column layouts that interleave unrelated text, or text boxes. A single-column LaTeX template with standard section headings (Experience, Education, Skills) parses cleanly. Save the heavily designed two-column templates for human readers and direct applications, not for systems that auto-screen resumes.
What is the difference between a resume and an academic CV in LaTeX?
A resume is one to two pages focused on industry experience and skills; an academic CV is longer and adds publications, talks, teaching, grants, and references. In LaTeX, a resume often uses a compact custom class while an academic CV benefits from moderncv or a class that integrates a publications list pulled directly from your BibLaTeX .bib file with \nocite, so your CV and papers stay in sync automatically.
How do I list publications on a LaTeX CV automatically?
Reuse your bibliography. Load BibLaTeX, add \addbibresource{mypapers.bib}, then put \nocite{*} followed by \printbibliography in your CV. This typesets every entry in your .bib file as a formatted publication list, so adding a new paper to the database updates your CV on the next compile. You can split it into sections (journal, conference) with the bibliography category filters.