Writing Your Professional CV with LaTeX
by Alessandro
Hello, and welcome to this website.
Please let me note before we move on that anything you find on this website is (legally) free. You do not have to pay neither for the software, nor for the fonts I will be using.
At the moment, I am skipping the installation part of the LaTeX system, you can find useful directions here.
It is very simple, but I promise to make a screencast for the installation process if anyone’s actually interested. Let me know.
Your Professional CV in LaTeX
Before we move on with some code, let’s take a peek at what we will build from scratch:
- CV Preview
And now let’s get our hands dirty! Any LaTeX document starts with a declaration of the class the document belongs to. This includes setting the paper height and width, the standard font size, margins, etc.
\documentclass[a4paper,10pt]{article}
Next we load some packages which will help us out in typesetting the document
%A Few Useful Packages \usepackage{marvosym} \usepackage{fontspec} %load fonts \usepackage{url,parskip} %formatting \usepackage{xunicode,xltxtra} %other packages for XeTeX %Graphics - Colors \RequirePackage{color,graphicx} \usepackage[usenames,dvipsnames]{xcolor} %better formatting of the A4 page \usepackage[big]{layaureo} %An alternative to Layaureo can be usepackage{fullpage} \usepackage{supertabular} %for Grades \usepackage{titlesec} %custom section %Setup hyperref package, and colours for links \usepackage{hyperref} \definecolor{linkcolour}{rgb}{0,0.2,0.6} \hypersetup{colorlinks,breaklinks, urlcolor=linkcolour, linkcolor=linkcolour}
A fundamental choice is that of the font: this is up to you, but in this version I’m using Fontin, which looks professional and in this way we can give a personal look to the document.
%FONTS \defaultfontfeatures{Mapping=tex-text} \setmainfont[SmallCapsFont = Fontin SmallCaps]{Fontin}
Important: the way in which your system chooses the name of fonts could be different from mine, generating the following error message
! Font @tempfonta=Fontin at 10.0pt not loadable: Metric (TFM) file or install ed font not found.
If this kind of problem occurs, there is something wrong with the name of the font you are using, but this depends on your system architecture (Linux, Macintosh, Windows). Last thing we tweak is appearance of sections as produced by the obscure command: section
%CV Sections inspired by: %http://stefano.italians.nl/archives/26 \titleformat{section}{Largescshaperaggedright}{}{0em}{}[\titlerule] \titlespacing{section}{0pt}{3pt}{3pt}
where I found a very important hint at this website. This tweak will eliminate numbers from section headings, format them in Large size, apply small caps as font family, and finally draw a rule after the section title. The final resul will be
We are now ready to begin writing the document!
%-------BEGIN DOCUMENT-------- \begin{document}
we then remove page numbers from the footer of the document with
\pagestyle{empty} % non-numbered pages
A CV usually starts with your name,
%--------------------TITLE------------- \par{\centering {\Huge Alessandro \textsc{Plasmati} } \bigskip\par}
then we can move on to the sections of the CV. If you happen to have work experience, you should put this section first, starting from the most recent job — your prospective employer wants to read what you’re doing at the moment more than he wants to read what you did five years ago.
Therefore, we need to insert the following sections in the CV:
- Personal Data, the most important part of it being your email address, mobile number, and date of birth.
- Work Experience, detailing when and where you worked, and a brief description of your daily job.
- Education, again starting from your last degree
- Additional Info which are relevant for the job, including scholarships, certificates, languages, interests, etc.
%Section: Personal Data \section{Personal Data} \begin{tabular}{rl} \textsc{Place and Date of Birth:} & Someplace, Italy | dd Month 1912\\ \textsc{Address:} & CV Inn 19, 20301, Milano, Italy\\ \textsc{Phone:} & +39 123 456789\\ \textsc{email:} & \href{mailto:alessandro.plasmati@gmail.com}{alessandro.plasmati@gmail.com}\\ \end{tabular}
which yields the following section
then we have the following section named «Work Experience»
which is rendered by the following code
%Section: Work Experience at the top \section{Work Experience} \begin{tabular}{r|p{11cm}} \emph{Current} & Your job at Your Company, Town \\ \textsc{Jan 2009} \emph{What your company does} \\ & \footnotesize{A description of what you do, because your job's name can be meaningless to the reader}\\ \multicolumn{2}{c}{}\ %this clears the space between two jobs %some other job here \end{tabular}
We then boast our wonderful educational background with something of this nature: 
%Section: Education \section{Education} \begin{tabular}{rl} \textsc{July} 2008 & Master of Science in \textsc{Finance}, \textbf{Bocconi University}, Milan\\ & 110/110 \small\emph{summa cum laude} | Major: Quantitative Finance\ & Thesis: ``Sublinear and Locally Sublinear Prices'' | \small Advisor: Prof. Erio \textsc{Castagnoli} &\normalsize \textsc{Gpa}: 28.61/30 \hyperlink{grds}{\hfill | \footnotesize Detailed List of Exams}\\ &\\ %some other degree here \end{tabular}
notice the hyperlink{grds}: it is an internal hyperlink to another section of the CV. In fact, it will redirect your user to the target you specify in your LaTeX source document with the simple command hypertarget{<name>} Additional sections can be much like the following image: 
This is basically all for this part, it’s a very long post already ![]()
You can find the LaTeX source at the end of the tutorial.
Remember: you need to compile the source with XeLaTeX otherwise it is not going to work. Feel free to contact me in the comments if you need help with anything.
Last but not least, a pdf version of the CV can be found if you click on the icon.
Related posts:







Comments
Hey Alessandro,
I just wanted to thank you for your great CV guide. I also had a LaTeX CV before, but it was far away from being as simple and clear as the new one.
The only thing that didn’t work for me was the setmainfont-line. On using “Fontin” it doesn’t get back to a normal style after the Caps. With “Fontin Sans” it works, though. Maybe you want to add this in case others have the same problem.
And do you know if there is a TeX box that allows the exact positioning of something? I’m still searching for a way to get my image in the upper right part.
Best wishes from Shanghai,
Dominik
Hi Dominik!
About the picture issue, I would advise against using absolute positioning.
For example, the following code which makes use of the multirow package
…the indenting is messed up…
produces the image next within the contacts table

However, there is the textpos package which allows to put text and pictures at arbitrary positions in the page.
The code required to put a pic next to the name, as you see in the screenshot, would be, at least in my case:
…the indenting is messed up again…
You should play a little with the positions until you’re satisfied with the result.
As for the Fontin issue, I’m glad you posted how you solved the problem.
I had some issues with the installation of the font on my system, but this is peculiar to your system and goes beyond the scope of my knowledge.
Thanks
Alessandro
Hey Alessandro,
thank you very much. That’s exactly what I was looking for. The only problem I still have — after hours of playing around: Whatever I try, it just doesn’t look good. Next to the Personal Data, the image is too small (I only have three lines), if I put it near the name it looks as if it wouldn’t belong there.
I also tried to put it on the right side of the Personal Data, shorten the line below the heading and let the image be larger. Not good looking.
Now I want to put it on the left side, make it very large so that it’ll span from the Personal Data section (that should be moved to the right), up to the title. Doesn’t work yet. I’ll post an update once I figure out how to do it.
Dominik
I’ll wait for your feedback…and code of course
Would be great if you could post a pic too.
How to post code and pics?
Uhm…I realized that’s probably not possible for users…
I’ll look into some plugins, but for the moment I guess http://snipt.net would be just fine!
Awsome template! Thanks a lot.
What a good showcase! I’ve just started updating my professional CV.
Hi Alessandro
Thanks for the template, it looks great. Only problem is that my Work Experience section is more than 1 page, and I end up with a huge chunk of white space on the first page where the personal data is and then Work Experience on the second page. Is there anyway to break up the Work Experience section so that it flows more smoothly?
Thanks!
So this is the issue


It originates from the fact that you’re putting everything into a tabular environment which LaTeX does not like to break.
This is why the supertabular package is very useful.
In fact this piece of code will help you:
in the preamble
then after the work experience section tabular becomes supertabular
the result when I compile follows


Thanks! That worked.
Is there anyway to break up an individual section? for example, if my position as Trader at ENOI is fairly long, and need to be continued onto the next page. With the supertabular package, it moved the entire section of “Trader at ENOI” to the next page.
Is there anyway to break up this longer “Trader at ENOI” section?
Thanks!
Hi. Many thanks for this great template. Unfortunately, I haven’t managed to use it yet. I use WinEdt and MikTex 2.7 (supports XeTex). I use xelatex as an executable file but when compiling the code I get the error you mention above about font names. I use Windows XP. What should I do?
Run the command line in Windows (Run -> cmd)
then execute
fc-list [pattern]this will list fonts matching [pattern]
for example see page 36 of the pdf (or page 24 of the document)
http://xml.web.cern.ch/XML/lgc2/xetexmain.pdf
the author lists
fc-list 'Minion Pro'and it returns
Minion Pro,Minion Pro Subh:style=Italic Subhead,Italic
Minion Pro:style=Bold Italic
Minion Pro,Minion Pro SmBd Cond Capt:style=Semibold Cond Caption,Regular
...
In your case, try removing this piece [SmallCapsFont = Fontin SmallCaps] obtaining
and let me know if the caps work.
Hi Alessandro. Thanks for taking the time to look at it. Unfortunately, the caps didn’t work. I get : Couldn’t find ‘Font.cfg’.
What does
fc-list Fontinreturn?It would help if you posted your code stripped off any personal info on pastebin.com
This way I could try and compile myself: LaTeX is wonderfully cross-platform.
I like this template very much! but it doesn’t work, this is my message error:
(I use Kile)
[LaTeX] curricu.tex => curricu.dvi (latex)
[LaTeX] finished with exit status 1
/usr/share/texmf-texlive/tex/latex/base/fontenc.sty:100:Font EU1/lmr/m/n/10=[lmroman10-regular] at 10.0pt not loadable: Metric (TFM)file not found. \fontencoding\encodingdefault\selectfont
/usr/share/texmf-texlive/tex/xelatex/xunicode/xunicode.sty:17:*** this package currently works only with XeTeX ***. …csname\relax\expandafter\notXeTeXformat\fi
./curricu.tex:11:File `layaureo.sty’ not found. \usepackage
My OS Ubuntu, please help!!
This document has to be compiled with XeLaTeX

this package currently works only with XeTeX
Check out this tutorial with screenshots
http://www.h-k.fr/liens/tp/data/lpi/xelatex.html
This should solve 2 out of 3 errors.
As for layaureo, clearly you don’t have it installed: you should you the TeX Live Manager on Ubuntu
Something like
Hi Alessandro!
I could finally compile the pdf…but it does not show any text of the CV, I can only see the lines of the layout. What could be the problem?
BTW I like the Fontin font
Thanks!
Hi,
you should send me an email with the source code, because in this way it’s impossible to debug!
Thanks for all your help Alessandro! I have a question that I can’t find an answer to. I’m using the Geometry package to specify my margins:
\usepackage[hmargin=2.0cm, vmargin=1.1cm]{geometry}
When making a table, is there a way to specify the length of the table to be all the way out to the right margin of the page?
For example, in the following line
\begin{tabular}{rp{14.7cm}}
I want to replace “14.7cm” with something other than a fixed length, so that the table will always end exactly at the right hand margin that is specified using the geometry package. Is there an easy way to do this? Thanks again
Try
Is this what you are after?

Thanks for the quick response Alessandro, that did the trick!
hey i like ure tempelate…I have basic Miktex 2.8 and WinEdt 5.6.i am completely new user.I dont understand this xelatex issue.First i could not Directly pdflatex command because it said XeLatex compilation needed…so i try to compile it in XeLatex..and it has issues on the fonts.All the fonts used in this template cannot be executed.
I also tried running the fc-list Fontin line in the dosprompt but doesnt show anything.I think my problem is very similar to the problem that Dimitris has.
What should be done please guide.
Kind Regards,
M.S
Hi,
you should install Fontin on your system.
Hi Alessandro:
Thanks for the Template. It worked. I have a beautiful CV.
I was reading about writing CV from the web. I learnt that Capital letters should only be used for Name and nothing else. I have Fontin Small Caps installed. My CV looks exactly as yours. Isnt, footnotesize too small?
Regards,
AJ
Footnotesize is probably too small on screen, but it looks alright to me in print.
[...] full of Latex templates. You can download the TEX source and modify to your need. The best ones are here and [...]
Hi Alessandro,
I tried to compile cv.tex file on my Mac with XeTex system (with out any change to build the first pdf) but I always get an error complaining about an undefined sequence for the following line:
\documentclass[a4paper,10pt]{article}
To me this seems OK and haven’t figure out why it’s not compiling…
I would really appreciate your help and thanks a lot for putting CV template online.
Cheers
Omer
Here is the actual output:
This is XeTeXk, Version 3.141592-2.2-0.996 (Web2C 7.5.6)
%&-line parsing enabled.
entering extended mode
(./okhalid-two-col.tex
! Undefined control sequence.
l.11 \documentclass
[10pt, oneside, a4paper]{article}
The documentclass command is supported by LaTeX, not by TeX.
By the same token, you should compile with XeLaTeX, not with XeTeX.
OK! Figured out that I should use xelatex command to compile
Now I am also getting the same error as some one else got before about not able to find layaureo.sty file on my OS X.
May be it would be good idea to put it next the cv.tex file…
I found one over here: http://biobanner.org/cgi-bin/cvsweb.cgi/ALiBio/doc/layaureo.sty
You are right about layaureo, I think there’s a comment in the source to be careful about it.
You could use the TeX Live Utility to install the layaureo package (it’s in your applications folder, or try spotlight search).
Thanks for your prompt responses Alessandro.
I am also having trouble with Fontin font. I downloaded the file from the link you provided but that guy have put the readme in dutch :S
On Mac OS X, just double click on the file and on the font book you should be prompted with the “install font” option.
Thanks Alessandro, installing the fonts worked
(sorry for my ignorance).
Now i can compile the two column CV but I noticed that phone/email icon doesn’t appear in the contact box..
Any ideas?
Great contribution! Cheers!
This is an excellent cv template for latex. Thank you!! I was looking for something like this a long time…
I also had a small problem with Fontin (it doesn’t get back to a normal style after the Caps) but using Fontin Sans worked for me too.
Thanks again.
Thanks Alessandro. I like this template very much! but it doesn’t work, this is the error:
(I use Texshop )
Grid set 16 x 16 = 37.34424pt x 52.81541pt
TextBlockOrigin set to 0pt x 0pt
)
TextBlockOrigin set to 2mm x 0.65\paperheight
(./cv-4.aux)
*geometry detected driver: pdftex*
(/usr/local/texlive/2009/texmf-dist/tex/latex/hyperref/nameref.sty
(/usr/local/texlive/2009/texmf-dist/tex/latex/oberdiek/refcount.sty))
(./cv-4.out) (./cv-4.out) ABD: EveryShipout initializing macros
(/usr/local/texlive/2009/texmf-dist/tex/latex/marvosym/umvs.fd) [1] [2]
[3] [4] (./cv-4.aux)
** ERROR ** Invalid font: -1 (1)
Output file removed.
)
Error 256 (driver return code) generating output;
file cv-4.pdf may not be valid.
I use MacXOS snow leopard, please help me!!!
The smallcaps problem with Fontin was solved for me by installing the TTF version instead of the OpenType version.