1. jeroendehaas

For the last three years I’ve used the moderncv package to typeset my CV: http://www.ctan.org/pkg/moderncv. Well worth checking out if you’re considering writing your CV in LaTeX.

• Nice, thanks! I was not aware of the package. I will add it to the list. Best, Tom.

• I tried the europecv package quite some time ago and forgot to add it. Thanks for the link! Cheers, Tom.

• Thanks for the links. The latter has a few interesting templates. Best, Tom.

2. henningninneh

excellent. this looks exactly like my word-typeset cv. now i must give it a try in LaTex. thanks for this post.

• Thanks for your comment and have fun typing your CV in LaTeX. Cheers, Tom.

3. It looks good, but I would go with the cv or the moderncv packages. They’re quite easy to use, and yet produce simple but elegant résumés.

• Thanks for your thoughts on that topic. Appreciate it. Best, Tom.

4. Out of completeness, you should also mention the CurVe class (shameless plug). Available on CTAN.

• Very nice, thanks Didier.

Best, Tom.

5. that is not mother tongue it is native language

• Thanks for your remark. I guess both work. It depends on your preference. Thanks, Tom.

6. Bala

beautiful!!!

7. […] Here is an another excellent post discussing   resume. 13.060416 80.249634 Rate this: Sharing is fun:MoreLike this:LikeBe the first to like this post. […]

8. akmkat

• Hi!

Thanks for your comment. Did you use the minipage environment as in the example above? Please provide a minimal example and I’ll try to help.

Best, Tom.

9. […] In any case, what got me started on a resume was a Google+ post that linked to this page: http://texblog.org/2012/04/25/writing-a-cv-in-latex/ […]

10. eiselekd

The layout is nice however there a problems I think:
When using tabular and you have a long list, i.e.
in the “Practical Experience” section, tabular will
not break across multiple pages. Also when you add
footnotes inside tables you need to be an expert. A simpler
2 column layout would be, it misses the vertical ruler however:

\documentclass{scrartcl}
\usepackage{lipsum}
\begin{document}
\begin{labeling}{XXXXXXX}%template for longest item.
\item[2000] \lipsum[1-2]
\item[2001] \lipsum[1-2]
\end{labeling}
\end{document}
• Thanks for the sample code. I agree, one may run into problems, but LaTeX almost always provides a reasonable solution. I wrote about footnotes in tables in one of my previous posts. Concerning the multipage issue, often one can arrange things with margins, font size, line spacing, etc. Another possibility would be to use the longtable package instead, which allows tables to span across multiple pages.

Best, Tom.

11. Daniel

Thanks for a great post and blog!
I’m wondering about how to change the indentation of the dates in the first column. Suppose you want to specify the month e.g. 201203 – 201206. This causes a line-break but it seems there is more space to use to the left. What would you do?

• Hi Daniel,

Thanks for your comment. What you would do is to change the width of the manually defined columns. Try for example 0.25\textwidth for L and 0.6\textwidth for R as in the code below.

\usepackage{array, xcolor}
\definecolor{lightgray}{gray}{0.8}
\newcolumntype{L}{>{\raggedleft}p{0.25\textwidth}}
\newcolumntype{R}{p{0.6\textwidth}}
\newcommand\VRule{\color{lightgray}\vrule width 0.5pt}

Best, Tom.

12. Daniel

Thanks! By the way, is there a way to let the red line come before the first column?

• Hi Daniel,

Do you mean a vertical red line? You could color a vrule with the xcolor package:

\documentclass[10pt]{article}
\usepackage[table]{xcolor}
\usepackage{array, lipsum, bibentry}
\usepackage{tabu}
\usepackage[margin=3cm]{geometry}
\taburulecolor{red}
\title{\bfseries\Huge Tom T. Texblog}
\author{texblog+cv@gmail.com}
\date{}
\definecolor{lightgray}{gray}{0.8}
\newcolumntype{L}{|&gt;{\raggedleft}p{0.14\textwidth}}
\newcolumntype{R}{p{0.8\textwidth}}
\newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
...

Changes are highlighted.

Best, Tom.

13. Daniel

Nice! Yes, that’s what I meant:), (of course I mean the lightgray line which I changed to red, thus the confusion). I changed \tabular to \tabu and then everything worked perfectly.
Cheers, Daniel

• Got it, sorry I misunderstood you initially. I’m happy it worked out though! Best, Tom.

14. crlsmrgf

Thank u very much!
It was also something in my TO-DO list for too long, and it was much ore easy than I thought!

• Great to hear you found my post useful, thanks. Tom.

15. Alex

I’m having trouble getting the publications section to work… Even if I copy your source code exactly, I get and error: “Citation ‘knuth2006art’ undefined”. Any idea how to fix this?

• Hi Alex,

Two things:

• Did you run latex, bibtex, latex, latex?
• Do you have a publication.bib file containing the bib-entries?

In case you use the complete example provided in the post, the file will be created when you typeset the document (latex) the first time.

Hope this helps.
Best, Tom

• Luís Martins

Hi, I was testing your example and the same error appeared. In line 69 – \nobibliography{publication.bib}, I just removed the extension and the error disappeared.

• Changed, thanks! Tom.

16. With the publications list, I get a vertical space in front of each of my \bibentry bits, so that the year is a line above the text. If I add some text or “\hspace{0pt}” ahead of it, it jumps back on the right line. This is an ugly hack, though. Any suggestions?

• Hi Matt,

Unfortunately, I wasn’t able to reproduce what you describe above. Could you provide a minimal working example? Something similar to the code below would do.

Thanks, Tom.

\documentclass{article}
\usepackage{bibentry}
\usepackage{array, xcolor}
\definecolor{lightgray}{gray}{0.8}
\newcolumntype{L}{&gt;{\raggedleft}p{0.14\textwidth}}
\newcolumntype{R}{p{0.8\textwidth}}
\newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
\begin{filecontents}{publication.bib}
@book{knuth2006art,
title={The art of computer programming: Generating all trees: history of combinatorial generation},
author={Knuth, D.E.},
volume={4},
year={2006},
\end{filecontents}
\begin{document}
\bibliographystyle{plain}
\nobibliography{publication.bib}
\section*{Publications}
\begin{tabular}{L!{\VRule}R}
2006&amp;\bibentry{knuth2006art}\vspace{5pt}\\
\end{tabular}
\end{document}
• Hi Tom,

In the process of eliminating things to give a minimal example, I discovered the culprit: the hyperref package. (This is crucial for me if we’re going to be posting the CV online or sending it electronically.) I also managed to find a solution: use the longtable package instead of the ordinary tabular environment.

Best,
Matt

• Thanks for the feedback. I appreciate it. Best, Tom.

• Pablo

Hi Matthew, the hyperref package was causing trouble to me too. Would you mention what you did to have publications AND the hyperref package both work? Thanks!

• Pablo

I don’t understand how longtable can help me to enable href. Do you mean to use it instead of the array package, and that will allow using the href package?

• Yep. Let me know if you run into problems and I will try my best to help. Best, Tom.

17. interesting,thanks for sharing.

• thanks! cheers, tom.

18. Martin Vogel

Hi,
Thanks for your nice CV template.
I just wonder how to modify the code to include properly a photo in the beginning. I am not very familiar with the minipage environment.
Martin

• Thanks for your question, Martin. That’s fairly simple. Copy-paste the code above in the post which has the photo black box and replace:

\rule{width}{height}

with

\includegraphics[width=3.5cm]{path/photo.png}

You’ll have to load the graphicx package to make use of the width option.

Let me know if you have any problems with that and if you provide the code, I’ll most certainly be able to help.

Cheers, Tom.

19. […] Blog’s Writing a CV in LaTeX (where I found out about the bibentry […]

20. Jolyon Bloomfield

Heya,

Just wanted to point out that the use of “\vspace{5pt}\\” to get nice spacing in the tables can backfire if the \vspace will cause a new line to be added to that row (if your text is _just_ the wrong length). Better is to use “\\[5pt]” which doesn’t have this problem.

Best,
Jolyon

• Hi Jolyon,

Thanks for taking the time to point this out. I changed the code accordingly.

Thanks,
Tom.

21. Phil

Hi there.
I’m very new to latex so forgive me naive question.

I noticed that when a section was a bit long it started on a new page leaving sometime a lot of extra white page after the previous section.

Is it something that can be changed easily?

Otherwise, thank for the excellent post.

• Hi Phil,

Thanks for your question. You probably have to play around to find the optimal arrangement. However, in general, I would not expect a section to be automatically moved to the next page if there is blank space left on the current page. Unless you add \clearpage or \newpage of course.

Could you provide a minimal example for illustration?

Thanks, Tom.

• jolyonbloomfield

Hi there,

This happens because LaTeX tries to fit a tabular environment on a single page; it won’t break it across pages. I ran into this same issue recently. The fix is to use the longtable package:

\usepackage{longtable}


You probably also want to use these commands in the preamble (otherwise the spacing gets a little big):

\setlength{\LTpre}{0pt}
\setlength{\LTpost}{0pt}


Then, wherever \begin{tabular} … \end{\tabular} appears, change it to the following.

\begin{longtable}
...
\end{longtable}


I hope this helps!
Jolyon

• Phil

Thank you very much everyone. I’ll try it once I’m back to the office and will let you know how it works!

Thank again,
Phil

• Phil

Just a quick reply to let you it worked like a charm. Thank guys!

• Great, thanks for the feedback! Tom.

22. Ben

Dear All,

Thank you for this template. It works really great.

But I want to add a foot note stating the date and company for wich this Resume is made.

I’ve been searching the net for how to do this, but I can’t figure out how to get a footer on the first page …

Is there any good trick to do this?

Thank you!

• Hi Ben,

Assuming you are using the fancyhdr package and redefined the header/footer according to your needs. Now to get a header/footer on the first page, just add the following line after \maketitle:

\thispagestyle{fancy}

Best, Tom.

23. Johnathan

Just wanted to say this is a great guide, many thanks for this.

Cheers,
Johnathan

24. Rivka

Hi,
I used this as a template to write my CV, thanks!

25. dottag

Thank you for the awesome CV! This was exactly my Word-style but my limited knowledge of LaTeX did not allow me to do the same.

One question: how do I make the second column left-justified? I’d loke to do it because I don’t like that LaTeX stretches out the between-words spaces (it’s not an article, so the right margin looks “ragged” anyway).

• Hello!
Left-align the right side is done similarly to right-align the left side using \raggedright in the column definition. I attached a minimal working example below.

\documentclass{article}
\usepackage{xcolor, blindtext, array}
\definecolor{lightgray}{gray}{0.8}
\newcolumntype{L}{&gt;{\raggedleft}p{0.14\textwidth}}
\newcolumntype{R}{&gt;{\raggedright}p{0.8\textwidth}}
\newcommand\VRule{\color{lightgray}\vrule width 0.5pt}
\begin{document}
\section*{Title}
\begin{tabular}{L!{\VRule}R}
2013&amp;\blindtext\\
\end{tabular}
\end{document}
26. peddrim

Thank you very much! Your CV template is the most beautiful I could find

• Thanks, glad you like it. Best, Tom.

27. Tom Walton

Hi Tom,

Have you seen the LaTeX CV template on http://www.writelatex.com – you can open it for editing in their online editor with one click. Is pretty neat (the original template is from howtotex)

cheers,
Tom

• Yup, saw it. Thanks! Pretty neat indeed. Tom

28. Chaanakya

This post was really nice. Thank you One suggestion/improvement: for the address/other info, you could use this code instead, which would put the address and other info flush against the left/right side respectively:

\begin{minipage}[ht]{0.48\textwidth}
\begin{flushleft}
666 Devil St. \\
Hell
\end{flushleft}
\end{minipage}
\begin{minipage}[ht]{0.48\textwidth}
\begin{flushright}
666-666-6666 \\
satan@gmail.com
\end{flushright}
\end{minipage}
• Hi!

Thanks for the code! Indeed a nice way to place the address. Best, Tom.

29. lazhar

• Hi!

You can download the LaTeX distribution from TUG. I put together a few direct links for different operating systems on my resources page.

HTH,
Tom

• Hi Katia,

Thanks for getting in touch. It seems that similar ideas were used in the CV in question than what I published here. Still, I wouldn’t want to re-engineer the CV in question. Why don’t you ask the person directly for a LaTeX template? That would make it much easier for you. Also, I’d be more than happy to help, should you get stuck preparing your CV with the template.

Tom

• Katia Consani

Hi Tom, thanks for the quick reply, I asked the author of that CV for a latex template but I got not reply. I’d appreciate if you can suggest me a basic skeleton to obtain a similar output

• Hi Katia, I will give it a try and post it here…

30. Katia Consani

Thanks Tom, I’ll look forward to your post!

• Hi Katia,

Please find below code for some elements of the CV you liked. You picked the font using the LaTeX font catalogue. LaTeX lets you mix different fonts as it was done in the example CV. I wouldn’t recommend it, there are other ways to highlight certain words or sentences.
I hope with that you’ll be able to prepare your CV.
Cheers, Tom

\documentclass[11pt]{article}

% Font
\usepackage[light,math]{kurier}
\usepackage[T1]{fontenc}

\usepackage{xcolor}
\definecolor{darkred}{rgb}{0.8,0,0}

\usepackage{titlesec}
\newcommand{\lineafter}[1]{#1{} \hrulefill}
\titleformat{\section}{\scshape\huge\centering\color{darkred}}{}{0pt}{\hrulefill{} \lineafter}[]
\titleformat{\subsection}{\scshape\large\color{darkred}}{}{0pt}{\lineafter}[]

% Tabular style for content
\usepackage{array, xcolor}
\newcolumntype{L}{&gt;{\raggedleft}p{0.14\textwidth}}
\newcolumntype{R}{p{0.8\textwidth}}
\newcommand\VRule{\vrule width 0.5pt}

\begin{document}
\begin{minipage}{0.48\textwidth}
Personal information
\end{minipage}
\begin{minipage}{0.48\textwidth}
\end{minipage}

\begin{tabular}{L!{\VRule}R}
2012--13&amp;Some text\\
{\it Something}&amp;Some other text\\
\multicolumn{2}{c}{}\\
2011&amp;Some text\\
{\it Something}&amp;Some other text\\
\end{tabular}

\end{document}
• Katia Consani

Great Tom! Your code will help me a lot in preparing the cv.
Thank you very much for your help.

• You are welcome. Good luck with your CV.

31. Allen

Very good codes. Helps me alot. My question is, can I move the title(my name) a bit upper? Since I wanna keep my CV in one page, the extra blank above title is not that good.

• Hi Allen,

Thanks for your question. I used the geometry package to set the margins to 3cm. You can change or use top, bottom, left, right to set the margins individually. See the package documentation for more details.

Cheers, Tom.

32. lchriste

Hi Tom,

first of all, thanks for a really nice CV template. I’ve tried to tweak it somewhat for my own purposes, but I can’t seem to get footnotes to work properly in the document. Specifically, the the footnote text does not show at the bottom of the page, when I compile the document. I wonder whether this has something to do with that it is overwritten by the tabular environment or something.

Any ideas of how to solve this?

Best,

• Hi there,

From your description, I assume you are trying to place footnote marks within a tabular. You might find this post helpful. If that doesn’t solve your problem, please post a minimal example and I’ll be better able to help.

Cheers, Tom

33. Algore

Best CV made in Latex. I swear, I looked up all other template (moderncv etc.). They are way too overloaded for a proper academic CV. Thanks a lot!

• tom

Thanks for the feedback. Tom.

34. Daniel

Hey Tom,

first of all, thanks for that great code! But I have one question…do you have any idea how to insert a picture that is exactly right of e.g. the “education” section, so that it doesn’t shift the text down?
Thank you very much in advance,

Daniel

• tom

Hi Daniel,

I’d use minipage to split the page into two columns locally. Give the code below a try and change it according to what you had in mind.

Cheers, Tom.

\section*{Education}
\newcolumntype{M}{&gt;{\raggedleft}p{0.28\textwidth}}
\newcolumntype{N}{p{0.66\textwidth}}
\begin{minipage}{0.5\textwidth}
\begin{tabular}{M!{\VRule}N}
2005--2007&amp;{\bf MSc in Computer Science, Great University, Country.}\\[5pt]
2001--2005&amp;BSc in Life Science, Great University, Country.\\[5pt]
1997--2001&amp;Fancy Highschool, Contry.\\
\end{tabular}
\end{minipage}
\begin{minipage}{0.5\textwidth}
\centering\rule{0.35\linewidth}{0.35\linewidth}
\end{minipage}
• Daniel

It works, thanks a lot!

• tom

Great to hear! Thanks, Tom.

35. Hi I get following error while compiling the minimal example.

! Undefined control sequence.
l.2 \abx@aux@sortscheme
{nty}

Am I missing anything?

• tom

It seems you are sorting citations (nty: name, title, year). So you might want to look for the line where you do that. I can’t recall having that in my original code.

Cheers, Tom

36. Shanmukharao

Very very useful. I am happy with this format. Thanks a lot.

• tom

Good to hear, thanks!

• tom

Cool, I wasn’t aware of this. Thanks for the link!