latex — professional Résumé layout made simple 
Résumé, Curriculum Vitae or simply CV is an important brief about your professional life. It is likely to be one of the first contacts with a prospective employer. Curriculum Vitae means course of life in Latin. So what exactly should a Résumé contain and how detailed should it be? There is no silver bullet answer. A fair amount of variability exists in Résumé expectations across different employers and different countries. For instance, career advisors in Australia tend to recommend three to four page resumes and that is what I have used for a while. Recently however, I have switched to a European style single-page resume. This article is not so much about the actual Résumé content, as it is about professional layout and formating. This is where the LATEX Project comes into the picture. LATEX is a programming language used for technical publications. Simply put, it uses the TEX engine (a set of complex rules) to figure out how to make your publications look great! Given a good document class file all you need to provide is the actual content.
To get started download the LATEX Résumé source: resume.tex as well as this Résumé document class: resume.cls. The credit for these files goes to Michael DeCorte for the Résumé style file and to Chris Paciorek for the Résumé template. Lets compile these LATEX sources using the LATEX interpreter from the Bash shell as follows.
latex resume.tex
The above command produces number of auxiliary files as well as an output device independent file format (DVI) file, resume.dvi. To view this file you can use KDE DVI file viewer, KDVI. To convert the DVI file into a PostScript (PS) file or a PDF file the following commands are used, respectively.
dvips resume.dvi dvipdf resume.dvi
The output of the first command should be resume.ps while the output of the second command should be resume.pdf. However, on some Linux systems the output of the dvips, for example, gets redirected by default to the printer (via a lpr pipe) as is shown below.
This is dvips(k) 5.95a Copyright 2005 Radical Eye Software (www.radicaleye.com) ‘TeX output 2007.12.19:2107′ -> |lpr <tex.pro><texps.pro>. <cmmi10.pfb><cmr7.pfb><cmsl10.pfb><cmsy10.pfb> <cmbx10.pfb><cmr10.pfb><cmcsc10.pfb><cmbx12.pfb>[1] [2]
You can overcome this by explicitly specifying the output PostScript or PDF file and using the following commands instead.
dvips resume.dvi -o resume.ps dvipdf resume.dvi resume.pdf
OK, lets take a look at what the output looks like. Here is a preview of the Résumé format I use.
Getting to this point successfully should be easy. Lets move on to editing of LATEX sources. Any ASCII file editor will do the job, but to make your job considerably easier I recommend a KDE app called Kile. Kile is a great choice especially if you prefer GUI-based editors over console ones. Kile offers many great features, such as:
- Rich and easy to use GUI with syntax high-lighting
- Advanced highly configurable compilation and build tools
- Auto-completion of LATEX commands
- Various LATEX document templates and wizards
- Project management very useful for larger LATEX publications
- Access to various help resources
|
|
Use your favourite package manager to install Kile, f.e.
sudo yast2 --install kile # in Novell's openSUSE sudo yum install kile # in RedHat's Fedora sudo apt-get install kile # in Ubuntu
Once installed, run Kile from Office » Kile applications menu, or simply from your shell as follows.
kile resume.tex
Kile GUI screenshot is shown below.
To compile the resume in Kile use Build » QuickBuild as shown below.

If messing around with a GUI IDE is not your cup-a-tea, then I recommend the console-based Vim editor. If it is not already installed, use one of the following commands to install it.
sudo yast2 --install vim* # in Novell's openSUSE sudo yum install vim* # in RedHat's Fedora sudo apt-get install vim* # in Ubuntu
Then, to open the Résumé source code in the Vim editor, simply type the following command.
vim resume.tex
Granted, Vim does take a little getting used to, especially at first. This is truly offset by how quick things get done in Vim after you gain some proficiency with it. I highly recommend it. Here is a Vim screenshot.
So what’s left? Ahhh, just learning the LATEX programming language. Easy! For this purpose there is an excellent, popular and best of all free LATEX reference entitled The Not So Short Introduction To LATEX2e, which I also host locally for your convenience: lshort.pdf. Whilst for some topics it is possible and enjoyable to learn simply by reading about them (from start to end), LATEX is not one of them. The simplest and most effective way to learn LATEX is to start writing articles and look-up concepts as they come-up. The other way is so boring that you’ll get disinterested very quickly.
Note that LATEX2e sources are platform independent and (at least in theory) should compile without problems on non-Linux hosts. If you succeed at this, please leave a comment below.
To finish up, here are the compiled files and LATEX sources again, as well as a some useful links:
-
CV files mentioned in this article:
resume.dvi,resume.ps,resume.pdf,resume.tex,resume.cls -
A very neat LATEX Résumé by Nicolas Favre-Félix:
cv.pdf,cv-nff.tar.bz2 -
A great XML/XSLT Résumé idea by Marcio Ribeiro:
cv.xml,cv.pdf,source -
Some very interesting articles by Dario Taraborelli on:
Typesetting your academic CV in LATEX and The beauty of LATEX -
The web server stats for this article after it was posted on reddit.com:
the power of reddit: spreddit — detailed web server statistics
Hope you have enjoyed this brief introduction to Résumés with LATEX!
Did you find the above information useful and interesting? If so, please support this site by using the blog directory links at the bottom of this page. Thanks for your support!
If you have any Linux related problems or questions then please feel free to post them on our Linux Forums: http://linux.dsplabs.com.au/forums.


