October 25, 2007 12

Professionally typesetting your academic CV with LaTeX

By in Software, Writing

AlbertThere are several dedicated packages to typeset a curriculum vitæ or a resume in LaTeX, such as europecv or ecv. For some reason I’ve always found these solutions not flexible enough to suit my needs. This is why I opted for a standard (article) class as a basis for my CV.

Some TeX distributions such as XeTeX allow you not only to benefit of the advanced typesetting features included in LaTeX, but also to use in your documents expert fonts such as Hoefler Text, Adobe Minion, or Adobe Garamond Pro and to edit TeX sources in your native (Western or non-Western) writing system.

I’ve created a page with a few custom templates I use to typeset an academic curriculum vitæ in XeTeX. These templates support:

  • access to expert font features (such as ligatures, contextuals, glyph variants) (via the fontspec package)
  • Custom heading fonts (via the sectsty package)
  • Alternate ampersands
  • Clickable hyperlinks (via the hyperref package)
  • Hanging notes
  • Native Unicode encoding (provided you have a UTF-8 capable editor)

Here’s a sample output based on the Caslon template. You are free to download and use these templates and modify them to typeset your own curriculum/resume.

Note: Fonts used in these templates are not included in the downloads and must be already installed on your system. You can modify the fontspec settings in the document header to use any TrueType, OpenType or AAT font available on your system. For plain LaTeX templates, you can refer to Matthew Boedicker’s examples.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Tags: , , , , , , ,

12 Responses to “Professionally typesetting your academic CV with LaTeX”

  1. Terri YuNo Gravatar says:

    I like using the res.cls template. It is downloadable from ctan.org here

  2. AdrianNo Gravatar says:

    Nice ideas, however don’t go overboard on the fonts. Hoefler and Optima together? I’m sure Hoefler and Zapf would consider the choice, well, interesting. The problem is that the letter forms do not blend well together. Optima has much more white space built into the glyphs than Hoefler Text does so, at least to me, the combination is jarring. Personally, I would not have mixed Hoefler text with a sans serif at all, but if one wished to, then H&FJ suggest on their website that one use Knockout or Whitney. If one is enamoured with Optima (and personally I am), then Palatino is an obvious choice, or Zapf Renaisance if you have it. Another option is to explore the wonderful texture available in Hoefler Text and stick to it, using different weights for example.

    I also have a personal issue with fonts that use a mono-thickness line for the zero in the small caps. It just looks very weak and to my eye leaves a hole in the text. If I’m going to use small caps, then I pick a font that has a small cap zero that is similar to the normal one.

    All this goes to show that font choice and typographic design contain a large chunk of personal preference, implying that you cannot please everyone. You’re a brave soul putting your designs out there!

    BTW, Good job on promoting LaTeX and XeTeX. I’ve been using TeX almost exclusively since 1985, and would love to see more people outside the physics/math community use it.

  3. AdrianNo Gravatar says:

    Ah, I just noticed that you are using the Hoefler ampersand in lines that are set in Optima. Again, an interesting idea, but one that would have purists rioting in the streets. The line thicknesses are all wrong, making the ampersand stand out unduly. It’s generally a very bad idea to mix glyphs from different fonts like that.

  4. darioNo Gravatar says:

    Thanks for the feedback Adrian, you are right on the risks of experimenting with serif and sans integration. I am no typography expert and the Hoefler Text template was my very first experiment with XeTeX. I’m now using a single typeface (Caslon Pro) for my cv – I uploaded the Hoefler version just because some people asked me to in the past and as a proof of concept of what XeTeX can do with professional fonts. If I ever upgrade these templates I’ll try to find a better companion for Optima.

  5. darioNo Gravatar says:

    Looking again at that first experiment with Optima, I must say I also find the underlined headings really ugly. I’ll try to replace this with a better design soon. Palatino or Adobe Garamond are possible companions for Optima, but I wanted to present at least a template that can be compiled with fonts natively installed on Mac OS.

  6. DavidNo Gravatar says:

    Thanks, I really liked your examples, specially because you DO provide the sources and the result side by side (checked your site @ nitens.org, that’s yours, right?), and your code is simple, not 1000 commands like I see on some CVs over the net. Simple thing, but not everyone show the sources or code efficiently (and yours can be improved even more, and I know you know that).

    *TeX docs on the web are scarce. I believe the classicals are enough (“lshort” and “LaTeX a Primer” from TUG India), and as such 90% of LaTeX docs on the Web are just the same thing repeated over and over again.

    *TeX is so huge and, like Adrian said, there aren’t enough people using it, that if the people on the web concentrates more on doing different things (instead of copying and pasting) like you did, we all will domesticate that TeX lion faster!

    Better of all: I’m sure it didn’t take that much of your time (at least less than some people waste copying and pasting entire tutorials over the Net) to write this.

  7. darioNo Gravatar says:

    Mohamed, make sure that
    (1) the font you wish to use is installed on your system (via Font Book if you are on a Mac);
    (2) you refer to the font via the fontspec command with the correct name (you can visualize the PostScript name of a font in Font Book by selecting Preview > Show Font Info).

  8. MohamedNo Gravatar says:


    Great post! lots of useful information.
    I’ve tried to compile one of the examples you give over at http://nitens.org/taraborelli/cvtex

    and I’ve got this error message :

    ! Font EU1/lmr/m/n/10=[lmroman10-regular] at 10.0pt not loadable: Metric (TFM)
    file or installed font not found.

    l.100 \fontencoding\encodingdefault\selectfont

    Any idea how to fix this?


  9. kimNo Gravatar says:

    I <3 my new CV — thanks Dario!

    Now when we will be seeing some just-as-lovely syllabus examples? :)

  10. kokoNo Gravatar says:

    A template for syllabi would be great indeed. Also, maybe for a book?

  11. software says:


    [...]Academic Productivity » Professionally typesetting your academic CV with LaTeX[...]…

  12. resume writers…

    [...]Academic Productivity » Professionally typesetting your academic CV with LaTeX[...]…

Leave a Reply