Résumé or curriculum vitæ (CV) in LaTeX

Alec Jacobson

September 01, 2010

weblog/

I've been using LaTeX to typeset my resumes as PDFs for a few years now. I especially like this over a WYSIWYG editor like Microsoft word because I was needing resumes for all sorts of different jobs: art submissions, teaching jobs, summer research internships. In a Microsoft Word I would have to save a separate resume for each type of job and if some common part changed I would need to remember to update each copy. In my LaTeX set up I separate the relevant sections of my resume into files. Then I can assemble an appropriate resume just in time using latex's \input command. Here's a simple example of my main document set up:
% Define new list and tabular enivronments that can be changed depending
% on layout goals

% For normal bulleted list
\newenvironment{cvlist}
{
  \begin{list}{$\bullet$}
    {} 
}{
  \end{list}
}
% For list within list
\newenvironment{cvsublist}
{
  \begin{list}{$\bullet$}
    {}
}{
  \end{list}
}
\newenvironment{cvtabular}[2][cbt]
{

\hspace{0pt}

\begin{tabular}[#1]{#2}}
{\end{tabular}\\}

\newcommand{\sectionheader}[1]
{
  
  {\large{\bf #1}}}

\documentclass[a4paper,10pt]{article}

\usepackage{graphicx}

% Sets the page to 8.5in to 11in with 1in margins
\usepackage[vcentering,dvips]{geometry}
\geometry{verbose,tmargin=1.0in,bmargin=1.0in,lmargin=1.0in,rmargin=1.0in,headsep=1.0in} % 1.0
\geometry{papersize={8.5in,11in},total={8.5in,11in}}

\begin{document}

\begin{center}
{\bf {\Large First and last name}}
\end{center}

% no page numbers
\pagestyle{empty}

%% Add, remove or comment, uncomment sections below:
\input{Address}
\input{Objective}
\input{Table}
\input{List}

\end{document}
Which produces: Latex cv example You can see that the main document has \input commands for each section: Address, Objective, Table, List which are separate files Address.tex, Objective.tex, Table.tex, and List.tex respectively. This way I can keep each section up to date but still produce different resumes. For example I could temporarily get rid of the table section here by commenting out that line above:
...
%% Add, remove or comment, uncomment sections below:
\input{Address}
\input{Objective}
%\input{Table}
\input{List}
...
which then produces Latex cv example without table In the document above I'm using some custom commands: \cvlist, \cvtable, \sectionheader. In my set up I keep to running documents: Resume.tex and CV.tex, since lately these two have been different enough that it's easy to have them totally separate. In Resume.tex I alter these custom commands to be as tight as possible to try to fit the document to a single page. In CV.tex things are more spread out and spill onto extra pages. Here's my resume output on a single page: Latex resume on single page

Download these resume templates

Here are some files you can download to get you started: my current resume/cv setup (zip of tex files) simple sample resume/cv setup (zip of tex files) Update: Here is my buddy's resume also typeset in LaTeX, but in a totally different style: Colin's resume His TeX source doesn't separate sections into files, but there's no reason it couldn't.