Template for a German CV with moderncv

I want to mention that next to moderncv there are the class europecv and the package koma-moderncv.

The class moderncv is on of the famous class creation CV. Sadly there are no documentation.


The package moderncv combines the benefits of the koma-script classes and the commands of moderncv.

The package europecv is a new package and is an unofficial class for European curricula vitae.


To answer this question I want to focus on moderncv.

At the beginning it is very important to know which packages will be loaded by moderncv

etoolbox, ifthen, color, fontenc[T1], marvosym, url, hyperref, fancyhdr,
graphicx, tweaklist
%via option
lmodern

The class provides thre predefined styles

  1. the style casual (default)
  2. the style classic
  3. the style empty

The style empty has no special settings so the relevant styles are casual and classic.

The style can be load with the command \moderncvtheme[option]{style}. The allowed options for the style are:

  1. a color of the list: blue, orange, green, red or grey (to set the default color of the style)
  2. the font roman (default the font is sans serif).

The personal date can be set by the following commands:

\firstname{} %required
\familyname{} %required
% optional
\title{}  
\address{street and number}{postcode city}
\mobile{}
\phone{}
\fax{}
\email{}
\homepage{}
\extrainfo{}
\photo[height]{picture}
\quote{}

The predefined styles can be manipulate by the redefinition of the followings commands:

% symbols used
\listitemsymbol, \addresssymbol, \mobilesymbol, \phonesymbol, \faxsymbol,
\emailsymbol, \homepagesymbol,

% colors
\firstnamecolor, \familynamecolor, \titlecolor, \addresscolor, \quotecolor, 
\sectionrectanglecolor, \sectiontitlecolor, \subsectioncolor, \hintcolor

% fonts
\firstnamefont, \familynamefont, \titlefont, \addressfont, \quotefont, 
\sectionfont, \subsectionfont, \hintfont

% styles
\firstnamestyle, \familynamestyle, \titlestyle, \addresstyle, \quotestyle, 
\sectionstyle, \subsectionstyle, \hintstyle 

Examples with some explanation can be found on CTAN: moderncv-example with tex-file

\documentclass[11pt,a4paper]{moderncv}
\moderncvtheme[blue]{casual} 
\usepackage[utf8]{inputenc}                
\firstname{foo}
\familyname{bar}
\begin{document}
\maketitle

\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}

\section{Languages}
\cvlanguage{English}{Skill level 0}{I try it}
\end{document}

Known Problems

To change the color of a predefined colors you must use:

\AtBeginDocument{%
\definecolor{firstnamecolor}{rgb}{0.5,0.3,0.8}
}

Manipulation of the predefined hyperref setup.

The class loads the package hyperref with the command AtBeginPreamble and set the command \hypersetup with \AtBeginDocument with the following predefined settings:

  \AtBeginDocument{
    \hypersetup{
      breaklinks,
      baseurl       = http://,
      pdfborder     = 0 0 0,
      pdfpagemode   = UseNone,% do not show thumbnails or bookmarks on opening
%      pdfstartview  = FitH,
      pdfstartpage  = 1,
      pdfcreator    = \LaTeX{} with `moderncv' package,
      pdfproducer   = \LaTeX{},
      bookmarksopen = true,
      pdfauthor     = \@firstname~\@familyname,
      pdftitle      = \@title,
      pdfsubject    = \@firstname~\@familyname,
      pdfkeywords   = \@firstname~\@familyname{} curriculum vit\ae{}}}

To change some of these settings in the preamble you can use:

\AtEndDocument{
 \hypersetup{%
   pdfcreator    = My Name,
  }
}

This is not a template, but a way how I did my CV, always successful:

  • Using a scrlttr2 template for a nice cover letter (Anschreiben)
  • Using scrartcl for the CV (Lebenslauf)
    • For tabular CV tabularx and booktabs (tabellarischer Lebenslauf)
    • Defining a macro for CV categories, for easy final adjustments of widths and spacing
  • Including scans of certificates and testimonials via pdfpages
  • If you would like to have the same header and footer on all pages as in your cover letter, an easy way would be creating an "empty letter" and including its PDF output by atbegshi or everyshi in the CV or in the attachment with scans.

This way I get a clean tabular CV as I want it, I don't like using a fancy ready-made template. To make it look great, I use LaTeX ;-) and its great extensions like microtype and more, getting letter and CV which look much better than the usual wordprocessor documents.


I made my CV using moderncv (linked here: http://www.matthiaspospiech.de/beruf/lebenslauf/) The document content is documented well in the moderncv docs and I did not use something special.

Only the preamble is bit complex, since I modified some of the moderncv code, as you can see below:

\documentclass[11pt,a4paper,nolmodern]{moderncv}

\input{preamble.mcv.tex}
\setlength{\hintscolumnwidth}{0.15\textwidth}

% moderncv themes
\moderncvtheme[blue,roman]{casual}

\AtBeginDocument{\recomputelengths} 

% personal data
\firstname{Matthias}
\familyname{Pospiech}
...

\renewcommand*{\cvlanguage}[3]{%
 \cvline{#1}{\begin{minipage}[t]{.325\maincolumnwidth}{#2}\end{minipage}
 \hfill\begin{minipage}[t]{0.625\maincolumnwidth}\raggedleft\footnotesize\itshape 
 #3\end{minipage}}}

\newlength{\headerwidth}

\begin{document} 

%\makeatletter
%\AddToShipoutPicture*{%
%  \AtTextUpperLeft{
%    \setlength{\@tempdima}{\textwidth-5.0cm}%
%    \put(\LenToUnit{\@tempdima},\LenToUnit{-7.5cm}){% 
%      \includegraphics[width=5.0cm, height=7.5cm]{../../../Fotos/Auswahl04.jpg}
%    }%
%  }%
%}%
%\makeatother

\renewcommand*{\firstnamefont}{\fontsize{28}{40}\sffamily\mdseries\upshape}
\renewcommand*{\familynamefont}{\firstnamefont}
\renewcommand*{\firstnamestyle}[1]{{\firstnamefont\color{firstnamecolor}#1}}
\renewcommand*{\familynamestyle}[1]{{\familynamefont\color{familynamecolor}#1}}

\makeatletter
\renewcommand{\titlestyle}{\sffamily\large}
\renewcommand*{\maketitle}{%
  {%
    %\hfill
    {\firstnamestyle{\@firstname}~\familynamestyle{\@familyname}}
    \\[-.35em]
  }%
  \setlength{\headerwidth}{\textwidth}
%  \settowidth{\headerwidth}
%    {\firstnamestyle{\@firstname}~\familynamestyle{\@familyname}}
  {\color{firstnamecolor}\rule{\headerwidth}{.25ex}\\[0.5em]}%
  \ifthenelse{\equal{\@title}{}}{}{\titlestyle{\@title}\\[0.0em]}%
  \par}% to avoid weird spacing bug at the first section 

\renewcommand*{\section}[1]{%
  \vspace*{1.5ex}%
  \parbox[m]{\hintscolumnwidth}{\raggedleft    
\hintfont{\color{sectionrectanglecolor}        
\rule{\hintscolumnwidth}{1ex}}}%
  \phantomsection{}% reset the anchor for hyperrefs
  \addcontentsline{toc}{part}{#1}%
  \hspace{\separatorcolumnwidth}%
  \parbox[m]{\maincolumnwidth}{\sectionstyle{#1}}%
  \par\nobreak\vskip 1ex\@afterheading}% to avoid a pagebreak after the heading

\makeatother

\maketitle

\normalsize
\input{ModernCV.tex}
\input{Leistungsbilanz.tex}

\end{document}

And as already meantioned, there is not much difference in german and engish/american cvs. The cover letter is created with koma script. I may provide a complete template after I have a new job.