Creating a Resume Using LaTeX (Posted on January 5th, 2013)

When applying for a job or trying to get noticed by a recruiter it helps to have a resume that clearly lays out who you are, what you've done and where you want to go. While updating my resume I decided to do a redesign based on some feedback I had received. While looking around at other resumes I learned that some people were using LaTeX and were easily able to use version control due to the codelike nature of LaTeX. This interested me and led me to learning the basics of LaTeX.

The Setup

First you'll need to install LaTeX and then optionally a LaTeX editor. MiKTeX came highly recommended for the base install of LaTeX and after some research I decided to use Texmaker as my IDE.

MiKTeX comes with a bunch of handy packages pre-installed. One of which is called res.cls which is intended for resume creation. Here's the starting point for our LaTeX resume:

\documentclass[line, margin]{res}

\begin{document}
\name{Max Burstein}
\address{1234 Herp Derp Lane \\ Rabble, FL 34343 \\ (516) 516-5165}

\begin{resume}

\end{resume}
\end{document}

resume header

Just like that we already have a nice heading for our resume. "\documentclass" is kind of like an import statement for LaTeX. The options come first and the package comes second. So we're using the line layout with the specified margins from the res.cls package. I highly recommend taking a look through the package as it's well commented (a % is a comment line).

By default "\\" is considered a line break in LaTeX. However, the line option for res.cls makes it a comma separated list for the address field. For the rest of the document "\\" will be a new line. I'd also like to point out that kind of like a switch statement, LaTeX uses "\begin{environment_name}" to setup a portion of code with specific styles. In our case res.cls defines the "resume" environment which is where the rest of our code will go.

Sections

Education

The first section on our resume will be a basic education section. Just to show how things will look in the resume portion and just how simple it is to design a clean looking LaTeX resume. This code comes directly after "\begin{resume}".

\section{EDUCATION} 
 Bachelor of Science in Blog Writing \\
 University of Y Combinator, Palo Alto, CA \\
 Minor: Fantasy Football \\
 Expected to graduate May 2013 \\
 GPA: 4.0

resume with education section

Note: "EDUCATION" is not a predefined section. All sections are custom and can use any name you'd like.

Skills

To create a bulleted list using LaTeX simply create an "itemize" portion. If you want it to be a numbered list then call it "enumerate". You can mix and match as well if you need sublists.

.
\section{SKILLS}
\begin{itemize}
\item Ruby
\item C++
\item Python
\item System Administration
\end{itemize}

resume with skills section

Experience

For the experience section you'll probably want to include your title, description, and the dates you were there. Here are two examples for me:

\section{EXPERIENCE} 
\textit{Detroit Red Wings Starting Center} \hfill 2011-2012 \\
Was the starting center for the Detroit Red Wings until the strike :( Looking to play across the pond for a little bit. \\ [10pt]
\textit{Green Bay Packers Starting Wide Receiver} \hfill 2010-2011 \\
Was the starting WR for the Green Bay Packers during our super bowl run. I caught the game winning touchdown and decided to retire on top.

resume with experience section

As you've probably guessed "\textit" stands for italics and will italicize any text associated with it. The text after "\hfill" is essentially right aligned on the current line. I also wanted to add some extra spacing between the two entries so I added [10pt] to create a 10pt space after the first entry.

Honors

For the honors section we'll use a tabular layout just to show some of the different ways to display content on our resume.

\section{HONORS}
\begin{tabular}{l l}
May 2012 & \textbf{\textit{World's best double clicker}} \\ [5pt]
July 2012 & \textbf{\textit{USA Candy Eating Champion}} \\ [5pt]
December 2012 & \textbf{\textit{Inducted into the NFL Hall Of Fame}} \\
\end{tabular}

resume with honors section

Tabular takes some extra options which are l (left justified), c (center justified), r (right justified), | (single veritcal line), and || (double vertical line). There are some other options you can add but I find these default ones to be the most useful. Since I gave our table "l l" that means that the table will have two columns and the text in each column will be left justified. If I wanted a vertical bar between the two columns I'd set my options to "l | l". After that I went ahead and filled in the content. Where you want each column to end you only have to place an "&" symbol.

I also wanted to show you that you can combine elements such as "\textbf" (bold) and "\textit" by simply chaining them together.

Full Code

Just like that you have the workings of a good resume layout with minimal code or design knowledge. If you have any suggestions, tips, or questions feel free to leave them in the comments below. If you're interested in learning more about LaTeX this guide is a great starting point.

\documentclass[line, margin]{res}

\begin{document}
\name{Max Burstein}
\address{1234 Herp Derp Lane \\ Rabble, FL 34343 \\ (516) 516-5165}

\begin{resume}
\section{EDUCATION} 
 Bachelor of Science in Blog Writing \\
 University of Y Combinator, Palo Alto, CA \\
 Minor: Fantasy Football \\
 Expected to graduate May 2013 \\
 GPA: 4.0

\section{SKILLS}
\begin{itemize}
\item Ruby
\item C++
\item Python
\item System Administration
\end{itemize}

\section{EXPERIENCE} 
\textit{Detroit Red Wings Starting Center} \hfill 2011-2012 \\
Was the starting center for the Detroit Red Wings until the strike :( Looking to play across the pond for a little bit. \\ [10pt]
\textit{Green Bay Packers Starting Wide Receiver} \hfill 2010-2011 \\
Was the starting WR for the Green Bay Packers during our super bowl run. I caught the game winning touchdown and decided to retire on top.

\section{HONORS}
\begin{tabular}{l l}
May 2012 & \textbf{\textit{World's best double clicker}} \\ [5pt]
July 2012 & \textbf{\textit{USA Candy Eating Champion}} \\ [5pt]
December 2012 & \textbf{\textit{Inducted into the NFL Hall Of Fame}} \\
\end{tabular}

\end{resume}
\end{document}

Update

Some people were wondering how to fix the content alignment issues in the document. Here's how you can do it:

% Fix the list in the SKILLS section
\usepackage{enumitem} % Allows for adding options to lists
\begin{itemize}[leftmargin=10pt]

% Fix the table in the HONORS section
\begin{tabular}{@{}l l}

finished resume

Tags: Resume, LaTeX

Comments:

  • Deividas - 1 year, 8 months ago

    Thank you. For those who don't have res.cls please refer to this latex-community.org: http://bit.ly/VLy0eP

    reply

  • Jack - 1 year, 8 months ago

    The moderncv class is also very nice: http://www.ctan.org/tex-archive/macros/latex/contrib/moderncv/

    reply

  • npepinpe - 1 year, 8 months ago

    Also nice? You mean, incredibly useful/sexy, right? :)

    reply

  • hnb - 1 year, 8 months ago

    Very interesting article, i haven't seen latex on reddit in a while ! And indeed the results with moderncv is pretty cool ;)

    reply

  • Anonymous - 1 year, 8 months ago

    You can use {\bf bold text} instead of \textbf{bold text}. Same for {\it } in place of \textit{}.

    reply

  • Andrew - 1 year, 8 months ago

    A lot of companies use the automatic systems for scanning resumes, and they get confused on PDFs. I thought it was ridiculous--how can a modern system not handle PDFs?--but after dating someone from HR for a large company, I can tell you that they're more likely to skip someone with a PDF rather than a word document or otherwise. What she recommended was, upload your "data heavy" word doc to places like Monster, LinkedIn, etc., and save your nice-looking PDF for printing up and what not. Also, you can always submit both versions, provided they're in sync.

    reply

  • T - 1 year, 8 months ago

    I think this is really neat and cool to do, but I question how useful this is in actually getting a job, or if it could even hurt you. When I was looking for a job for an extended period, everyone always wanted word documents, vs. pdfs. As Andrew previously mentioned, this somewhat relates to companies scanning the document and most of the documents are designed for text-based files. Also, a lot of people just feel more comfortable dealing with .doc files for whatever reason it may be. They can easily mark things, make comments and send it around that way. You can make a very clean looking resume in MS word... yeah it will take some time, but probably not as much as it would learning latex. Still very cool, thanks for posting.

    reply

  • Max Burstein - 1 year, 8 months ago

    I can definitely see why some people would prefer .doc files to .pdfs. There are some good links here http://tex.stackexchange.com/questions/8836/producing-doc-docx-from-latex about converting your LaTeX file to a word doc.

    reply

  • Nick - 1 year, 8 months ago

    Great Article Max! Rensselaer offers its students a collection of resume templates which you can find at http://www.rpi.edu/dept/arc/training/latex/resumes/ . I find them useful for inspiration and concrete examples.

    reply

  • Manicaeks - 1 year, 8 months ago

    I used this style layout to redo my resume and it looks amazing! Thank you!

    reply

  • Vel - 1 year, 6 months ago

    Also check out LaTeXTemplates.com for a bunch of beautiful CV/Resume templates :)

    reply

  • cs - 1 year, 6 months ago

    Thanks for the write up! It helped me get started, but I noticed that there are additional macros for the job positions: e.g. \title{Starting Center} \employer{Detroit Red Wings} \location{Detroit} \dates{2011 - 2012} \begin{position} Was the starting center for the Detroit Red Wings until the strike :( Looking to play across the pond for a little bit. \end{position} You can also change the layout using a single template: \begin{format} \title{l}\dates{r}\\ \employer{l} \location{r}\\ \body \end{format}

    reply

  • LaTeXCV - 6 months, 2 weeks ago

    I've created a site, http://latexcv.org , where you can enter your data once and get 4 different LaTeX résumés, without coding and for free.

    reply

  • Ji - 5 months, 4 weeks ago

    how to get rid of the spacing between items

    reply