LaTeX/Curriculum Vitae

A curriculum vitæ or résumé has a universal requirement: its formatting must be flawless. This is a great example of cases where the power of LaTeX comes to the front. Thanks to its strong typographical stance, LaTeX is definitely a document processor of choice to write a CV.

Of course you can design your own CV by hand. Otherwise, you may want to use a dedicated class for that task. This way, writing a CV in LaTeX is as simple as filling the forms, and you are done. The important thing to mention is that a class or package not only defines the syntax of the form to be filled out, but also the layout. While filling out a form is very easy, changing a layout that is supposed to be fixed, is extremely hard. Best results will be achieved when doing a CV from scratch, using list environments and tabulars.


 * ⇒ Be aware of  which is still used by some people. It is a very old class, that is nearly impossible to customize. Only very experienced users should use  . ⇐

A full list of CV packages is available at CTAN.

moderncv
From CTAN:

''Moderncv pro­vides a doc­u­ment­class for type­set­ting mod­ern cur­ricu­lums vi­tae, both in a clas­sic and in a ca­sual style. It is fairly cus­tomiz­able, al­low­ing you to de­fine your own style by chang­ing the colours, the fonts, etc.''

The official package provides some well commented templates which may be a good start. You can find those templates in your distribution (if documentation is installed along packages) or ultimately on CTAN.

We will not repeat the templates here, so we will only provide a crash course. You should really have a look at the templates for more details.

First document
Most commands are self-explanatory.

A customizable Layout
There is no need to use a complicated template with a given layout that is hard to change. You can just as well use the simple  class to write up a CV. You are free to decide about the amount of information, the layout of the information and the order in which you want to show the info. You are the designer and not restricted to any syntax.

The example above has a simple centered header including name and personal information. The publications section is done completely by hand. If you have many publications, you should consider using a bibliography management package, see Biblatex. Another small example that uses package.

Multilingual support
It is especially convenient for résumés to have only one document for several output languages, since many parts are shared among versions (personal data, structure, etc.).

LaTeX with appropriate macros provide a comfortable way to manage it. See Internationalization.