A LaTeX template for a CV

Every researcher needs a Curriculum Vitae (Latin for “course of life”) or CV. You will need it for job applications, for annual performance appraisal, and just for keeping track of your publications. A CV typically contains lists of achievements including qualifications, publications, presentations, awards, plus teaching experience.

I’ve created a LaTeX style for a CV to make it easy to produce something that looks good and is easy to maintain. You will need an up-to-date implementation of LaTeX because I’m using the wonderful biblatex package (more on that in another post) which has only just become available as part of MikTeX and TeXLive.

The preamble of your CV should look something like this:

\name{Rob J Hyndman}
\info{Address: & Department of Econometrics \& Business Statistics, Monash University, VIC 3800, Australia.\\
      Phone: & +61 3 9905 2358\\
      Email: & Rob.Hyndman@monash.edu\\
      WWW: & robjhyndman.com}
  • Include your name in the \name command.
  • The \info command contains information to go in the header box on the first page. This is structured as for a tabular environment. You can include any information you like in the \info command including additional rows. Some people include their date of birth, citizenship, family details, etc.
  • All your publications should be in a bib file (mine is called rjhpubs.bib) loaded with the \bibliography command.
  • The final three lines allocate items from the bib file to categories. These will appear in separate sections in the CV. My real CV has several more lines like these so that all my publications are added to categories. Each of the codes is the key for a bib item.
  • The style file has the following pre-defined categories:
    books Books
    papers Refereed research papers
    chapters Book chapters
    conferences Papers in conference proceedings
    techreports Unpublished working papers
    bookreviews Book reviews
    editorials Editorials
    phd PhD thesis
    subpapers Submitted papers
    curpapers Current projects

    It is easy to add your own categories and titles if these are not suitable. For example, if you want to include posters in your CV, put the following in the preamble:

    \makebibcategory{posters}{Conference posters}
  • After the preamble, my CV looks like this:
    \section{Education and Qualifications}
    1988 & B.Sc.(Hons) & University of Melbourne\\
    1992 & Ph.D. & University of Melbourne\\
    2000 & A.Stat. & Statistical Society of Australia.

    The \maketitle puts in the header box. After that it is a normal LaTeX document with \section commands for each section.

  • It is common to have sections listing qualifications, employment history, awards, research grants, teaching experience and publications. The order of these varies depending on what you want to emphasise. Have a look at several CVs to see what other people do. Here are some examples from some well-known statisticians: Andrew Gelman, Rob Tibshirani, Matt Wand.
  • To add my publications, I have the following lines:

    Each \printbib command will add a section with all the publications in that category, listed in chronological order and sorted by name within each year.

  • The total number of publications listed inside the publications environment is calculated and the page numbers for the publications sections are stored. So I have the following line in the Research section of my CV:
    I have authored \ref{sumpapers} papers, chapters or books on statistical topics. A list of these appears on pages \pageref{papersstart}--\pageref{papersend}.

    You can have additional \printbib commands outside the publications environment, but the associated bib items will not be counted in the sumpapers value.

Here is my CV using this style file (although I use different fonts from those loaded in the style file).

Download the style file and use it yourself. Feel free to modify it as you want.

Update: I’ve modified the style file to take account of changes in biblatex. The latest version is dated 24 August 2016

Related Posts:

  • There was a small bug in the first version, now fixed. If you downloaded earlier today, please do so again. Sorry.

  • Vlad

    Thanks, it looks good!

  • nan qu

    Is it possible to sort publications in reverse chronological order?


    • Yes. Replace “sorting=ynt” by “sorting=ydnt” in cv.sty.

  • Highly recommended, thanks for sharing such an excellent stuff with us.

  • Linwei

    Thank you Rob for sharing this.
    I have encountered two minor errors:
    1) The \ref{sumpapers} is higher than the actural number by one;
    2) For the book chapter bibliography, it shows this a sequence: … book ‘title’ in ‘chapter’ …
    I wonder if it is just my problem somewhere else. I am a new LaTex user.

      1. Oh dear. Sorry about that. It’s now fixed. Please download the new version.
      2. You have probably switched the fields in the bib file. A book chapter should be part of an inbook record. The “title” field should contain the chapter title and the “booktitle” field should contain the book title.
  • Linwei

    Thanks a lot!

  • Daniele

    Very nice. I’ll sure still part of it for my own CV. However I think it would be worth to say that in the PDF file you show as an example you used different fonts than in the .sty file you provide. It took me a while (I know I’m dumb) to understand why I was getting a different look.

    • I’ve now added a comment about the fonts. Thanks for pointing it out.

  • Linwei Tian

    Hi Bob,
    Is there a way to highlight certain author names in the bibliography? Say, I may want my name in bold font. Many thanks.

    • MYaseen208


      Yes you can highlight certain author names in the bibliography. If you want to put certain names in bold font use \bold{author name} in your bib file.

      • Linwei Tian

        It works. Thanks a lot.
        I used \textbf{author name} in my bib file.

  • Wayne Gray


    Very nice. Thanks for sharing. I am still climbing the LaTeX powercurve and appreciate being able to study your .sty file.

    Two different sorts of questions for you.

    1. For each of the info lines in my header I see: “Address: amp; Cognitive . . .” “amp;” – if I delete the “&” then all of the info stuff gets printed in one long line (apparently off the page).

    2. I would like to be able to add by-year categories to my publications list. So for conference papers, I would like to add the subcategories of “2011”, “2010”, . . . “pre-1990”.

    I could simply edit your .sty file to include these, but they would not appear as subcategories. Plus it would seem more elegant (and in keeping with your sty file) to have them sort themselves out. I suspect that figuring out how to do this would be a good developmental exercise for me, but in case this is really easy to do I would appreciate knowing how (and saving all that work).


    Wayne Gray

    • 1. The & are necessary because the top info box is set in tabular format. There was a formatting problem with the post which I have now fixed and I think that was causing you problems. The “amp;” bits should be deleted.

      2. The simplest way would be to set up new bib categories using
      \makebibcategory{2011conf}{2011 Conference papers}
      for example. If you wanted subsections under “Conference papers” you will have to do some hacking.

  • Jan Tauber

    Thanks for the very nice CV template.
    I am using Biblatex 0.9 and am trying to sort references in reverse chronological order, using sorting=ydnt.
    But it doesn’t seem to work at all…
    Any ideas as to what I could be doing wrong ?
    thanks for any feedback.

    • Use the latest version of biblatex. It is now 1.4c.

  • Jian Ma

    Thanks for your very nice CV template. I like the font you used in your sample, is it kozuka gothic pro? I have a Mac, and I found this font in my computer. How to use this font in latex? Thanks for you help.

    • I use Minion Pro and Myriad Pro. You need to use XeLaTeX with the fontspec package to compile the file. Read the fontspec manual to learn how to use additional fonts.

      • Jian Ma

        I see. Thank you! ^_^

  • H P

    Is there some way to get BibLaTeX to encode the references labels with J for Journals, C for Conferences, and so on? In addition, referring to them would use these J1, C1 sort of citations?


  • Mariana


    Thanks for the great template. It looks great. I was wondering if it’s possible to have a picture in the header. I am a basic user, so I don’t really know how to mess with the style file…


    • You could overlay a picture using the textpos package. Otherwise, you might just have to hack the sty file.

  • tonyv

    Hi Rob
    Thanks for the CV template, but I am having a problem getting it to run, as I am getting an undefined control sequence at line 153 which is defbibenvironment{bibliography}
    I’m using ubuntu and have all the required packages as far as I can tell, but I’m still new to latex. Any suggestions?

    • biblatex had changed some of its package options which meant my cv style file was broken. I’ve now updated it and it should work with the latest version of biblatex (v1.6).

  • tonyv

    Thanks Rob, I downloaded the new style sheet but I’m still getting the same error message. The file looks like the same cv.sty that I was using – says updated 27 November 2010?

  • Patrick Widener

    Very nice. I’ve been accomplishing this trick by converting bibtex to XML with Python, and then using XSLT transformations to generate different outputs: LaTeX for CV inclusion, HTML for my web page, and DocuWiki. That way my pubs list on my web page and my CV are always in sync.

    I wasn’t aware of biblatex, though, and this is so simple that I might just ditch my current setup and just provide a PDF CV on the web page.

  • tonyv

    I’ve noticed in your cv that the author initials are mixed between after the first surname, then before the surname for subsequent authors, as per your ref 33:
    Hyndman, R. J., M. L. King, I. Pitrun, and M. B. Billah etc
    Is there a way to change this so that all are after the surname?

    • This is a style issue. It is easily changed by editing the bibliography style. Read the biblatex manual for details.

  • Enrico Bertini

    I just used it for my CV. I needed only a very few tweaks here and there. Thanks a lot!!!

  • MYaseen208

    Nice CV template. I wonder how to omit or change date. I tried \date{} but it did not work. Any suggestion. Thanks

    • The date is inserted using \today. So you could just redefine it. For example, to omit the date, put in the preamble

      • MYaseen208

        Thanks a lot. It works fine.

  • Malak Bokhari

    I have been trying to open the file with texshop. So I download the link as .sty and save in ~library/texmf/tex/latex/misc folder. But when I try and open with teashop, it doesn’t work. It keeps opening an older template for AMS. Can you please give detailed instructions for mac users. Thank you

  • Hi Rob,

    Many thanks for your initiative!As far as I understood you have to place the citekey of the publications in advance in order to place the items in your CV. Have you though about looking at an custom bibtex field and perform this action automatically via bibtex editor? For example, I have all my cv items organized and I defined the bibtex field “series” as the main classifier of my cv items. So I have “Invited lecture, Publication in Proceedings, etc” and these items are used in my actual cv (http://naveda.info/curriculum). It would be really interesting to just define a field and then the style adds all citekeys or items automatically.I was going to try it but maybe you already have it implemented.Many thanks for your advices…I am actually looking for a job after my PhD and despite I consider my PhD a success I is not reflecting in good job opportunities in Brazil…Luiz Naveda 

    • Hi Luiz. Yes, that is possible. I’ve done it using the field “keywords” in the bib entry and then 
      to print out all my consulting reports without having to list their citekeys. See the biblatex manual for information on using keywords. I think you can do it using other classifiers such as category as well.

      • Thanks, Rob!

        It is a good starting point! I keep you informed if I manage to go forward.

      • This is perfect!!! You should include it in your package! For art/science CV’s like mine it makes a great difference!

        • Glad it worked. There’s nothing to include in the package. Just edit your bib file accordingly and use the keyword argument when using printbibliography.

  • Wayne Gray


    Thanks again for sharing your template. I would like to use parts of it with the apa6 document class but have hit the limits of my LaTeX skills on this. I especially like your header and the section headings but my simple-minded attempts to create a modified style sheet have hit the wall. I suspect there are dependencies that you are setting that BiblaTex and APA6 are also setting. But there is a simple question embedded in this comment; namely, how would I modify your file so that the citations show us as “Gray, W. D. (2012) etc” rather than as “W. D. Gray (2012) etc”.


    Wayne Gray

    • I don’t know anything about apa6. The bibliography style is controlled with biblatex. It gives bib items of the form “Gray, W.D. (2012)” as you require. It is only the second and subsequent authors whose the initials are placed before their surnames. If you want all initials after surnames, you need to change the bibstyle from authoryear-comp to something else.

  • Thejesh Bandi

    Hi Rob,
    Firstly, thank you for the class file, the layout is really nice.
    I have two questions:
    1. The publication list is not displayed on my CV. Yes, I did follow the steps of proper compilation on Texstudio.
    2. As my table content is too long, towards the end of the page it goes invisible.
    Please suggest what should I do to get them right.
    Thank you,

    • 1. TexStudio’s QuickBuild does not always run bibtex for some reason. Sometimes you need to bibtex the file yourself.
      2. Use the longtable package.

  • Thejesh Bandi

    Thank you Rob. Bingo! It works now.

  • Pingback: Bibliography style in CV | web technical support()

  • Hi, Rob

    Thanks for your great template. It looks great when i check your pdf file.
    However, when i start to compile it, there are several errors. I tried with the code you give in this webpage. I have tried to solve it by updating MikTex, but i failed. Here is the error information i copied from Texstudio
    MyCv.tex, error, Line 0, Emergency stopMyCv.tex, error, Line 0, Rerun to get/PageLabels entryPlease suggest How can i fix it.Thank youYubo Wang

    • I have fixed the problem. Thanks again for your great template.

  • Caillin

    This is great.

  • Pingback: Research tips - LaTeX templates()

  • Pingback: Writing a CV in LaTeX « LaTeX Matters()

  • Rakesh

    Thank you for sharing the nice template. 

  • Sushil

    I am using Mac to run the template and I see following problem:

    ! Package biblatex Error: Style ‘authoryear-comp’ not found.

    How to solve this issue?

  • Sushil


     I want to use the above cv style in my Mac. I have the following latex install:

    pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4)
    kpathsea version 3.5.6
    Copyright (C) 1997-2004 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
    Kpathsea is copyright (C) 1997-2004 Free Software Foundation, Inc.
    There is NO warranty.  Redistribution of this software is
    covered by the terms of both the pdfeTeX copyright and
    the GNU General Public License.
    For more information about these matters, see the files
    named COPYING and the pdfeTeX source.
    Primary author of pdfeTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
    Kpathsea written by Karl Berry and others.

    But I see a lot of errors while running above example cv.sty file. Any suggestion what is the simple way to run the above style file on Mac?


  • Sushil

    ok I solve the problem 🙂


  • Vivek Sharma

    Great work. I have started using this.  I have a couple of questions:
    1. Can you for publication 1. …. have a nested sublist of citations with subsubsection like title : “Cited in Scopus by:” followed by a list generated by a nestedprintbib command?
    2. Can you have a counter for each printbib command to generate output like – This publciation is cited in Scopus ref{scopuscitationssumpapers} times details appear on pages pageref{scopuscitationrsstart}–pageref{scopuscitationssend}
    One could put these nested bibliographies in a comment section and track them.
    I do not have great experience with latex but am willing to try modifying the .sty file if someone could give me pointers.
    Best regards

  • Sushil


      Could some one give  me an example file for  .bib file in the example above for two different categories.  I am using the defaults .sty file provided here and have these line in my .tex file:begin{publications}printbib{papers}printbib{conferences}end{publications}Thanks in advance.Cheers,sushil

  • sushil

    addtocategory{papers}{Key1, key2……}
    addtocategory{subpapers}{Key3, key4……}

    and the one below should do the same job? The autmated way does not work for me, any idea whats wrong here.



  • Stefan

    Thank you for sharing this template. Great!
    Regards from Vienna

  • icychannel

    Sir, thank you for this cv template, it looks great. However, I want to edit something that is already decided in the “cv.sty” file, for example, under the name we can see the two words: “Curriculum Vitae”, and I want to alter it to “Resume”, what shall I do?

    • Load cv.sty in a text editor. Find the part where the words “Curriculum Vitae” are used and change them to whatever you prefer.

      • icychannel

        Thank you!

        I didn’t know it can be openned as a text file before.

  • eva

    Thanks for the useful template!
    However, I can’t compile my .tex file. It says: Package keyval error: defernumbers undefined. Should I include other packages than cv? I checked on internet, and as far as I understand, this keyval package is part of graphicx, which I often use. I compile with PDFLaTeX from texmaker. But I admit, I’m not very familiar with LaTeX.

  • Mike C.

    hi, thanks for sharing the template, really appreciated.

    I am wondering if there is a way to get rid of the page number, as appeared ONLY on page 1 (such as in your own CV posted here)?


    • That is set by the thispagestyle{plain} command. Find the relevant line in cv.sty and change it to thispagestyle{empty} to have no page number.

  • Rense

    Thanks for creating this. It works perfectly. I ran into one single (and in the end: simple) issue that other users may find useful. At some point the CV rendered nicely, except it didn’t show any of my publications. In the end, this was caused by having the same publication listed twice in the pre-amble (say, both in conference and in journal article). This misbehaviour broke the template. Of course, this is easily solved, but perhaps good to know.

  • Ashish

    Dear Sir,

    How should the style file be saved. Should it be saved with .sty extn.



    • The file is called cv.sty. You can change the name, but leave the extension as sty.

  • Mehran

    Hi Rob,

    Thanks for sharing this. I see that the name of Publisher does not appear in the journal articles. It does however appear in the proceedings. If this is due to authoryear-comp, do you know a replacement for it that shows the publisher’s name?

    All the best,

    • The advantage of using biblatex is that it is easy to modify the styles. If you don’t like the style I’ve used, then just edit it accordingly. Try reading the biblatex manual for details.

  • First, thanks for your stylefile. I am missing though a statement how much of the standard biblatex commands are still possible to do and if the use of categories is mandatory? E.g. my different categories are in different bibtex files and I would like to make ALL entries of each different bibtex file part of the category of this bibtex file. How can I accomplish that with your style file, please? Happy Thanksgiving!

  • zhansheng

    I just found this template. Cheerful.

    there is one problme I haven’t figured out. when I use my bib file generated by Mendeley, it shows me three errors.

    1. no citation commands
    2. no bibdata command
    3. no bibstyle command

    how can I fix these errors? is the problem from my bib file, or other?

    • zhansheng

      one more information:




      it shows me “empty bibliography”. where is the problem?

      • zhansheng

        I have figured it out. Call biber!

  • Pingback: CV Template: Having issues with biblatex | Question and Answer()

  • Anas

    Can you please upload a working .tex file for the CV. That will make it easier for us. Many thanks

    • I’ve given you most of it in the snippets above. Surely you can do the rest yourself.

  • John

    Thank you Prof. Hyndman for providing such a nice template, I got one problem when using it: the paragraph within each section is not fully justified. Where can I modify the .sty file to fix it?

  • Steffen

    Rob, thank you very much for sharing this very helpful template. I have been using it without problems for about a year. Recently, I updated texlive to texlive 2013, all packages are installed and up to date. When I changed and compiled my CV (biber, pdftex), all publication years have disappeared in the bibliography at the end ot the CV.

    I played with the biblatex option ‘labeldate’, which is a replacement for the deprecated option ‘labelyear’, and this is what I get:

    1. labeldate=false: Bibliography contains no publication dates: e.g. ‘Myname Title’

    2. labeldate=true: Bibliography contains publication dates BUT ambigous entries are disambiguated using labels. E.g.: ‘Myname (2000a) Title…’, ‘Myname (2000b) Title’…

    Using ‘labelyear’ instead of ‘labeldate’ does not affect this behavior.

    Could you please tell me how to get rid of the labels? I would appreciate any help on this.


    • This has happened due to changes in biblatex. You just need to include

      in the preamble to remove the label.

      I’ve updated cv.sty to include this, plus a couple of other changes to the biblatex section.

  • alejandro

    Thanks Rob for this template. However, I am not able to print out the publications section. I put all my publications in a bib file. Then, I use something like this as you posted:


    But when it arrives at:


    A warning says: Empty bibliography … and when I check the generated bbl file is in fact empty. However, my bib file is not.

    Then, I tried to run bibtex alone and I get these errors:

    This is BibTeX, Version 0.99d (MiKTeX 2.9)
    The top-level auxiliary file: aob_vita.aux
    I found no citation commands—while reading file aob_vita.aux
    I found no bibdata command—while reading file aob_vita.aux
    I found no bibstyle command—while reading file aob_vita.aux
    (There were 3 error messages)

    Could you advice on this issue? I am using XeLatex, by the way. When I remove the bibliography commands, then the cv is compiled correctly.

  • Nice one. Used your template, with some little modification getting it into desired scene. Thanks

  • Amrendra Narayan

    When I run a tex file made with the above , I get an error saying that it does not find xpatch.sty. Can you suggest what to do?

  • ilk hch

    First thank you for this wonderful source. I am getting the following error and would greatly appreciate any feedback.

  • Olga Patterson

    What am I doing wrong? I loaded TeXShop on Mac, I ran LaTex typeset, I then tried to run BibTex typeset and I get errors:
    The top-level auxiliary file: CV.aux
    I found no citation commands—while reading file CV.aux
    I found no bibdata command—while reading file CV.aux
    I found no bibstyle command—while reading file CV.aux

    What am I missing? My bibliography is not coming up

  • Christos-Nikolaos Zacharopoulo

    Thank you for this amazing template! You mentioned using different fonts, and that would be indeed nice. How can I change the fonts? Also, in my cv the icons for address and phone etc do not appear Any idea why?