Sign up ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

If you have a TeX'ed resume, did you use a template or make your own? Are there any useful packages? What looks the most professional? How about special considerations for different areas of work (e.g. in academia)?

share|improve this question
An article pointer and discussion at Hacker News, Why I do my resume in LaTeX, will interest some people here, I think. – Charles Stewart Feb 21 '11 at 9:13
You could look at How to show off TeX skills with a TeX-typeset CV?. – Clément Oct 7 at 13:06

29 Answers 29

There are lots of resume examples here with source:

Google can show a thousand other examples, but that's a good place to start.

share|improve this answer
that's the one i use... pretty nice. – Mica Nov 12 '10 at 3:30
Actually, these are all extremely space-y. Anything more compact? P.S. A google search puts this page at the top... – cheshirekow Aug 28 '12 at 19:00

For my current CV, I ended up using moderncv. It doesn’t have many features but it is very easy to use and yields a very elegant output.

However, I also want to mention its drawbacks: customising it isn’t easy, especially since it doesn’t really use a clean, semantic markup. For example, to specify multi-column properties, you actually need to specify the items in an odd order (namely line by line instead of column wise).

share|improve this answer
Another vote for moderncv. To my eye (after having read hundreds of CVs over the past year's hiring), it presents the information in a way that makes it easy for the reader to find what they are looking for. This is critical to getting past the first pass. – KeithB Jul 26 '10 at 20:28
I’m attempted to downvote my own answer. I’ve recently had to change my CV slightly and it was imperative that everything fit on one page, which, from the available space, wasn’t a problem in principle. However, moderncv simply doesn’t accomodate such wishes. I ended up rewriting large parts of it, in an extremely quick&dirty way since I didn’t have a lot of time. In hindsight, creating my own class from scratch would have cost me less time. As soon as I’ve got time I’ll rewrite my CV without any template. – Konrad Rudolph Jan 27 '11 at 19:06
moderncv actually has a new feature (or a related package) since yesterday: moderntimeline. – ℝaphink Sep 30 '11 at 13:36
@Konrad Any chance you could elaborate on the issue? Normally, you can simply change the margin of the pages through geometry, or decrease the inter-element spacing through the optional parameter of every command. – Xavier Feb 23 '12 at 0:54
@Xavier Changing the margins wasn’t an option, and changing the inter-element spacing proved to be a major pain in the *ss. In particular though I tried putting some of the elements in two columns next to each other and that didn’t go down well with the package. – Konrad Rudolph Feb 23 '12 at 7:57

For my current one I just rolled my own. I use fancyhdr for the header and footer, and lastpage so that I can display page x/y in the footer (so that the person reviewing it would know if they lost a page).

The entirety of the rest of the document is built from nested customized lists.

share|improve this answer
+1 on fancyhdr. – Hober Jul 26 '10 at 21:48

I ended up making my own, but it took a while. Expect to have to fight LaTeX's defaults on a lot of things. That said, it's worth it. I learned a lot about LaTeX and have a good resume that I can say I wrote.

I wouldn't be surprised, but it seems like if you're going to use LaTeX for your resume, be prepared to answer truthfully whether you used a template or not, and be comfortable with the answer.

share|improve this answer
It shouldn't be a problem even if you used a template, the purpose of the resume is to present the professional skills, not the low-level LaTeX skills. – wishihadabettername Aug 11 '10 at 15:05

I've been using a lightly tweaked version of Michael DeCorte's res.cls. No idea if it is best of breed (nor why I chose it), but if it ain't broke. . . .

share|improve this answer

I like europass and everyone seems impressed when they see the results... specially for Europe applications!

share|improve this answer
The link is dead @YuppieNetworking. Can you post it somewhere else? – alekhine Dec 24 '12 at 7:39
Updated the link for @alekhine – YuppieNetworking Dec 27 '12 at 11:16
When you use it —and I wholeheartedly recommend it— just be sure to leave out the original "Europass" logo. If not, the Brits will have a good laugh with your Europ ass... – Serge Stroobandt Aug 25 '13 at 21:06

I made my own. In the end, it was much easier that way; you get what you want. Especially if you have situations in which you need to quickly prepare e.g. a 4-page CV, you know how to tweak your own layout to meet the requirements.

Some key tools:

  • article class

  • geometry package for margins

  • hyperref to have a nice PDF (e.g., DOI hyperlinks in the list of publications, proper PDF metadata)

  • enumitem for tweaking list layout; titlesec for section headings

  • cite, url, microtype, babel, ...

  • Keep layout and content separated; easy to do something like \input{layout2}\input{content} to produce yet another version with a different layout.

  • multibib to get multiple lists of references in the CV (one for journal papers, another for conference papers, etc.):

    \newcites{jrnl}{Journal Papers}
    \newcites{conf}{Conference Papers}
    \section{Scientific Publications}

    The "nocite" lists, etc., are automatically generated from a source file by using a Python script. The lists are actually in a separate file that I \input.

  • A tweaked version of the unsrt Bibtex style: I added things like DOI links, etc., by using some ugly hacks.

  • JabRef + some scripts to maintain the Bibtex database.

  • Rubber (with % rubber: module pdftex) for compiling everything. It works OK with multibib.

share|improve this answer
Could you share an example of this, and typical output, please? – Forkrul Assail Oct 1 '12 at 13:17
+1 on the previous comment: unless your answer is an imperative: "Do it yourself!", I think it would be really nice to see (at least) an MWE... +2 on inputting layout, seems like an elegant way! – nutty about natty Jul 9 '13 at 10:52

The TeX Catalogue list CV packages in a category:

By the way: I wasn't satisfied by the results of such packages. So, I used scrartcl and tabularx to typeset my CV. This way I could match it to the design of my application letter done with scrlttr2. I used tabularx in macros, allowing easy adjustments for all parts of the CV at once. Simple and elegant, no fancy colored lines and the like.

Copied from here to this topic following a request.

share|improve this answer
The link is not working anymore. – Roman Feb 25 '14 at 12:06
@Roman (and Stefan, of course), I took the liberty of updating the link for a functional one. I hope it's OK. – Gonzalo Medina Jan 28 at 23:47

I found CurVe to be a nice package. Used it to get two student jobs and apparently, it worked :). The only drawback is that the default structure of the CV may need adjustments to your specific purposes.

share|improve this answer

I also ended up making my own style, however, I added one twist: I actually store my CV in XML format and then use an XSLT transform to convert it into a .tex file. While this required a lot more work upfront, the benefit is that I can use the same XML file to generate plain text, HTML, abridged, &c. versions without having to maintain n separate files. If you end up making your own LaTeX style for your CV, I would also suggest you seriously consider investing the time to use the XML/XSLT technique. You can see the results of this technique here (scroll to the bottom of the page to see the XML and HTML versions). It would take me a bit of time to clean them up, but I'd be happy to share my XSLTs with people if anyone is interested. This is an open source project that does something similar, however, it was started after I created my technique and I've never used it.

share|improve this answer
I looked at the XML Resume Library a while back and noticed that it seems to be dead: last "news" is dated 2004. I also looked at HR-XML but then I decided I was spending too much time and used curve instead. :-) – Matthew Leingang Jan 30 '11 at 18:22

Here's an example of a nice-looking "home-made" CV:

share|improve this answer

I will second the Taraborelli CV templates at In the past I've used the curve and moderncv packages but, in the end, found the combination of his elegant templates + xelatex to be the simplest and most flexible solution. I wasn't constrained by particular sectioning, etc.

Personally, I use the Hoefler Text+Optima. I also like the Caslon.

share|improve this answer

I prepare 2 versions of my CV; a resume; lists of publications and references; statements of teaching philosophy and research interests all on the basis of currvita. Well, with a considerable amount of hand-hacking. For added geekiness, the list of publications is primarily a specialized bibtex output format (which works nicely with getting a bibtex formatted list of my publications from spires).

share|improve this answer

This strikes me as a particularly good example of a CV or vita. The latex code can be seen here. As an example, see the author's vita.

share|improve this answer

If you'd like to use LaTeX along with BibTeX, I have a template here:

It is based on Dario Taraborelli's template ( and uses bibtex and the bibentry package to make the publications section.

share|improve this answer

Ted Pavlic's CV templates are minimalistic, uses the hyperref package extensively and elegant!

share|improve this answer

Here is a Hacker News thread with many examples of resumes and CVs in (La)TeX:

share|improve this answer

I can offer you a video tutorial I made recently, which covers this topic using the article class. I just got hired for a lectureship position last week, so I think it is pretty good!

share|improve this answer
The video was removed from youtube because it was too long. You should probably upload it somewhere else and update the link. – canaaerus Jul 10 '12 at 21:09
I just noticed that and fixed it. Should be ready to go by the time you see this again. – macmadness86 Jul 10 '12 at 21:54

I used curve to create my CV:

Quite customizable by itself. But I added several hacks and convenience macros of my own:

  • nicer rubric-title underlining
  • separate bullet-shapes for [ongoing], [notable] and [other]
  • separate year-styles for [period] and [event]
  • separate year-styles for [past], [ongoing, known end-year], [ongoing, open end]
  • hyperlinked cross-references
  • hyperlinked e-mail and url
  • for specific projects and papers: hyperlinked www or doi
  • when printing, cross-refs, urls and e-mail are black; www and doi links are invisible

Someday soon I should make the code public. But for now it's a bit too chaotic to release.

share|improve this answer

I have made my CV using predominately BibLaTeX. I have gone way beyond just using BibLaTeX for my publications, but have added a number of custom entry types (e.g., funding, service, teaching, presentation, education), modified the biber data model to allow for new fields and written bibliography drivers to handle the formating of these new entry types. Everything except my contact information is stored in a bib file (and technically my contact information is stored in the @preamble entry). Each version of my CV is produced by a tex file that sets a few BibLaTeX booleans and defines a bunch of \defbibfiler and \defbibcheck.

I find this makes it much easier for me to reorganize/reorder my CV. Previously it was easy to move my "teaching" section before my "service" section, but with BibLaTeX I can have my teaching in a big list or divide it into undergraduate and graduate or University A and University B. Similarly I can divide my research presentations into internal/external or into talk/poster.

share|improve this answer
Intersting approach! I would love to see the code for this :-) – Daniel Jul 4 '13 at 5:52

For typesetting bidirectional resumes in languages other than english, the bidi package provides bidimoderncv2 class for typesetting resumés, which is the modified version of moderncv class. Two examples are presented in the doc folder of the package, namely test-casualcv.tex and test-classiccv.tex than you can look and learn how you can use it.

This is an example use of bidimoderncv with classic style: example use of <code>bidimoderncv</code> with <code>classic</code> style

and this one is with casual style: example use of <code>bidimoderncv</code> with <code>casual</code> style

Take note that both are taken from examples of the package and are typeset in persian, but works fine in any other languages (whether ltr or rtl).

share|improve this answer
Can you tell me how can I compile the test-classiccv.tex file? should it be with pdfLatex or XeTex? – Ehsan Jun 4 '14 at 20:41
It should be with xelatex, since it is based on bidi, and it only works with xelatex. – Hasan Zakeri Jul 27 '14 at 11:04

LaTeX Templates showcases several templates, ranging from conservative to fancy.

I ended up using Classicthesis-Styled CV. It caught my eye as most esthetically pleasing. And even with my poor LaTeX skills was very easy to adapt to my needs.

share|improve this answer

Recently added document class, cv4tw by Geoffrey Gouez, offers a "LaTeX CV class, with extended details".

The class offers entries for assets and social networks; customizable styles are provided. The class comes with no documentation, but a worked example offers some guidance.

This package is still under development but it shows great progress. Here is a sample screen shot of an example made using the class file.

enter image description here

Here is a direct link to the example above: sample-jules-verne. Note this requires XeLaTeX or LuaLaTeX to run. Also note that the example given does not compile directly because the samplepic.jpg file is not provided; just replace it with your own or download it here from GitHub under examples.

share|improve this answer
It's a fantastic new solution for CV writing in Latex (+1). Unfortunately there is no reasonable documentation available. – Roman Feb 25 '14 at 18:25

My current resume is based on the article class; source hosted on GitHub and forked from kjhealy.

enter image description here

It uses fontspec for OpenType fonts (Adobe Garamond Pro and FontAwesome). Still working on the best way to selectively place content for different purposes/companies. I'm experimenting with linked external documents, under the supposition that the resume stands on its own (nothing is "missing" without linked content), but the reviewer can find extra information if he/she clicks on a link. I've had positive feedback on this so far. The ocgcolorlinks option is perfect for this; once the resume is printed, all traces of the links vanish. Special thanks to @ben-lerner for his improved code.

My publication list is short presently, but I'll probably need to add in some biblatex functionality for ease of use as it grows.

share|improve this answer
Hi Paul, I wanted to make a simple cover letter as well using the same header part. is that possible? – masfenix Jan 8 at 20:32
Also, I am getting a font missing error. is there a way to change the font to something I Have? – masfenix Jan 8 at 21:02
@masfenix of course it is possible. And about the fonts: yes, of course. Just change the font setup commands to fonts that you have installed on your system... – Paul Gessler Jan 8 at 21:49
Hi Paul, I've tried my hardest but I am very new to latex. I tried changing the font but don't really know how. I was having a lot of trouble, but if you can give me a template for the cover letter + a standard font, it would be really appreciated. – masfenix Jan 8 at 21:50
@masfenix if you're just beginning, I would recommend just starting with the base letter class. Get the content rock solid and the design/layout can come later as you build your experience. Besides, I don't really believe in passing these "templates" around online. It leads to too many people using code they don't understand, which later becomes dead or deprecated code. – Paul Gessler Jan 8 at 21:55

For a professional looking CV there is Plasmati CV, good for banking, consultancy careers. ModernCV is colored works for serious and less serious careers (communication management etc... and Friggeri CV is the template for designers etc... ModernCV is used at CVsintellect and the 3 are used in seeveeze

share|improve this answer
Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. – Symbol 1 Mar 20 at 2:48

@YuppieNetworking linked a class for an Europass CV that is not valid anymore. It was introduced in 2002 or so and in 2013 EU updated their template of CV for more colourful one.

Here you have an updated class:

Some institutions in EU accept only CVs formatted this way...

share|improve this answer
This is more like a comment than an answer – Christian Hupfer May 10 at 20:19
Yep. Unfortunately I still can't comment and due to that fact I've decided to add a separate answer. If it is a problem, I would like to ask moderator to move it to comments to YuppieNetworking's post. – heavelock May 11 at 10:57

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.