toofishes.net

Why I do my résumé in LaTeX

I’m guessing most of you have seen the comic explaining how a programmer reads your résumé. No, I don’t do my résumé in LaTeX just to get the +12 bonus. There are a handful of reasons I think it is a good idea.

It stands out

My résumé isn’t written in 12 pt. Arial or Times New Roman, which sets it apart from 75% of résumés. It also has formatting and full justification that looks more like a well-written article or publication than a high school research paper.

Contrary to the common belief, using a font other than Computer Modern in LaTeX isn’t all that hard. I use TeX Gyre Pagella for my résumé and it looks really nice. I’d suggest looking around the examples at the LaTeX Font Catalogue and finding one that works for you. Stay away from Times, of course- you want your résumé to look just enough different that it stands out.

Format once, change the content a lot

Once I got the formatting looking good on my résumé, I was able to stop futzing around with the layout and just work on the content. Gone are the days when I had to manually adjust the line spacing by 0.1 em because I didn’t have quite enough to fill the page, or decrease the font size by 0.5 pt because I added just enough stuff to spill onto a second page. LaTeX does a phenomenal job of preventing page spills and takes care of all of this for you.

I touched on this in the previous section, but LaTeX is obviously meant for typesetting. This means using full justification doesn’t look like crap because it takes the entire paragraph into consideration when deciding where to put the line breaks. This will look 10x better than doing full justification in Microsoft Word or OpenOffice (which just wrap a line when the remaining paragraph contents will no longer fit).

Even when I do change the formatting, I am able to immediately see the results by just running pdflatex over and over until it looks right. I don’t have to worry about the word processor showing it one way but print to PDF changing the line wrapping or something.

I can put it in version control

I didn’t originally switch to LaTeX for this reason, but now that I have been doing my résumé this way it makes so much sense. Version control can handle checking in an OpenOffice file, but it doesn’t give you any added benefit of being able to easily see the difference between version A and version B. Regardless of what VCS you use, this has been such a good idea in so many ways:

Other reasons

These aren’t quite worth a header of their own, but they are still important.

Some helpful tips

It did take me a non-trivial amount of time to get a good base layout going. I’d recommend something like the following to get started:

% resume.tex
% vim:set ft=tex spell:
\documentclass[10pt,letterpaper]{article}
\usepackage[letterpaper,margin=0.8in]{geometry}
\usepackage{mdwlist}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\pagestyle{empty}
\setlength{\tabcolsep}{0em}

Use macros to your advantage. A lot of style/layout repetition happens in a résumé, and it makes it a lot easier to change it if you only have to define it in once place. I have a macro for my so-called “header rows” (job title or company name paired with timeframe) that makes things a lot less complex. I also have helpful macros like the following:

% make "C++" look pretty when used in text by touching up the plus signs
\newcommand{\CPP}
{C\nolinebreak[4]\hspace{-.05em}\raisebox{.22ex}{\footnotesize\bf ++}}

Edit: I posted a follow-up post with an example template and picture for those who inquired in the comments.

Tags

See Also