Academic CV template using LaTeX and Biber

Make an academic CV using LaTeX and Biber with LaTeX + Biber. Rather than adding new publications, working papers, or presentations by hand over time, store your work products in a .bib file—just as you would a bibliography of references for a paper—and compile your CV to update.

Through selective use of the Keywords field in your .bib file (e.g., article, presentation, working, submitted) and corresponding reference sections in your .tex file, automagically compile and update your CV in a consistent manner.

Example setup

Using an entry in the .bib file that looks like this:

# cv.bib 

	Author = {Last, First M.},
	Journal = {Journal of Academic Studies and Work},
	Keywords = {article}, <!-- KEYWORD TO FILTER BY -->
	Number = {2},
	Pages = {30--45},
	Title = {Paper one},
	Url = {},
	Volume = {45},
	Year = {2016}}

And a section in the .tex file that looks like this:

# cv.tex

\nocite{*}                          % cite everything
\printbibliography[heading = none,  % no heading (e.g., "References")
keyword = article,                  % FILTER BY < article > KEYWORD
env = mybib]                        % Use mybib style

You can get an entry in the complied .pdf file that looks like this (note the link color: the title in the compiled CV links to the paper):


Feel free to use and modify this template to suit your needs and/or the norms of your field. Move sections around, add or delete them. Regardless of the specific style, hopefully the core setup will be useful and save you time as you update your CV in the future.

For reference, I don’t edit my .bib by hand, but instead use BibDesk, which comes with the MacTeX distribution. JabRef is another one that works across platforms.


Numbered entries

If you want numbered entries, you can switch to the numbered branch. The changes noted in issue 1 have been made to cv.tex in this branch. Just switch to the other branch first using:

git checkout numbered



Compile the example using the following commands in the terminal:

pdflatex cv.tex
biber cv
pdflatex cv.tex
pdflatex cv.tex


You can also build this example CV using make.

make all

or simply


You can clean up the auxilary files made by pdflatex and biber using

make clean

To clean these files and delete the compiled pdf file, use

make cleanall

Integrate with GitHub pages

An added benefit of building your CV this way is that you can reuse your .bib file to build your academic website and keep everything in sync. For example, if you use GitHub Pages + Jekyll to build your site, you can use the jekyll-scholar extension to build a similar CV on your site (it’s how I do it).