Using and modifying modernCV

Since I like to keep my résumé up to date I have spent the last few days on updating both the format and the content of both the résumé and the template for a cover letter.

This post will detail some of the changes I’ve made to the basics of the modernCV package

Front matter

Since I am maintaining documents in both Swedish and English I have decided on placing the front-matter and modernCV options in a separate file. The following is the front-matter for the my English documents, as you can see it’s basically the settings from modernCV moved to a separate file


\fancyfoot[RE,LO]{\footnotesize }

\address{Street address}{Town}{Country}
\phone[mobile]{+47 111 11 111}

% optional, remove the line if not wanted
\quote{"If you do what you've always done, you'll get what you've always gotten." -- Anthony Robbins}
Next up is my major issue with the original modernCV templates, they create a single file containing both the résumé and a cover letter. This is great in some cases I do however prefer to have a bit more control over the output.

The cover letter

Since the cover letter has the potential of being my first impression I want to make sure that It gives the reader a pleasant experience. I also want to include an image of myself to give the reader a face to relate to.

The following is the basic structure for my personal letter:

 % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking'
 % color options 'blue' (default),
 % 'orange', 'green', 'red', 'purple', 'grey' and 'black'


%            content
%-----       letter       -----------------------------------------------
    \textbf{Application to the position as superman,}\hfill \today


I have decided on using the “regular” CV title from modernCV to focus on my name as well as an image of me, this does however mean that I have to recreate the opening and closure of the letter by hand.

References and Certificates

To be able to deliver all the necessary documentation in a nice looking format I use the basic modernCV structure to create a reference list and a single file containing letters of recommendation grades and certifications.

This forced some addition to apart from basic modernCV package creating the following specific front matter:

 % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking'
 % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black'

% Define \cvdoublecolumn, which sets its arguments in two columns without any labels

% usage: \cvreference{name}{address line 1}{address line 2}{address line 3}{address line 4}{e-mail address}{phone number}
% Everything but the name is optional
% If \addresssymbol, \emailsymbol or \phonesymbol are specified, they will be used.
% (Per default, \addresssymbol isn't specified, the other two are specified.)
% If you don't like the symbols, remove them from the following code, including the tilde ~ (space).

    \textbf{#1}\newline% Name
    \ifthenelse{\equal{#2}{}}{}{\addresssymbol~#2\newline}% Department
    \ifthenelse{\equal{#3}{}}{}{#3\newline}% Company
    \ifthenelse{\equal{#4}{}}{}{#4\newline}% Position
    \ifthenelse{\equal{#5}{}}{}{#5\newline}% Adress 1
    \ifthenelse{\equal{#6}{}}{}{#6\newline}% Adress 2
    \ifthenelse{\equal{#7}{}}{}{\emailsymbol~\texttt{#7}\newline}% % E-mail
    \ifthenelse{\equal{#8}{}}{}{\phonesymbol~#8\newline} % Telephone
    \ifthenelse{\equal{#9}{}}{}{\mobilephonesymbol~#9}} % CellPhone
All these changes are adaptations of solutions offered on stack-overflow, sadly the original I don’t have the links to the original threads.

To include letters of recommendation and certificates I use the pdfpages package and include the pages one by one, this is done to get correct page numbering and to allow for references.

    \includegraphics[page=2, width=\textwidth]{/assets/documents/FullSize/varnplik.pdf} \\
    Mandatory Military Service page 1

The résumé

This is the final document and it is the document with the least amount of modifications from the modernCV original.

I have limited myself to shrinking the top and bottom margins and to create a table for a CEFR evaluation.

To achieve the increased margins I added the following to the bottom of the front matter:

%            content

I also created a table for the language section:

    \small Self assessment according to
    (C2 maximum evaluation\normalsize
\begin{tabular}{l r p{5mm}|  c c | c c | c}
        \multicolumn{2}{c}{\textbf{Understanding}} &
        \textbf{Writing} \\

        Listening & Reading &
        Interaction & Production

        Professional &
        C2 &
        C2 &
        C2 &
        C2 &
        C2 \\

        \textbf{English:} &
        Experienced &
        C2 &
        C2 &
        C2 &
        C2 &

        Basic &
        C1 &
        C1 &
        C1 &
        B2 &



Folder structure and building the CV

As you might have noticed I am using relative paths to “assets” like photos and letters of recommendation as well as between parts of the document. This is possible since I compile all documents from the root of my cv folder, which is structured as follows:

├── assets
│   ├── documents
│   │   ├── FullSize
│   │   └── Originals
│   └── images
│       └── cvBild_2012.jpg
├── CLI-Builder
│   ├──
│   ├── LICENSE
│   └──
├── out
└── src
    ├── head_en.tex
    ├── head_sv.tex
    ├── other
    ├── personal_letter
    │   ├── coverletter-EN.tex
    ├── references
    │   ├── references-EN.tex
    │   └── references.tex
    └── resume
        ├── CV-Fredrik-Loch-V2-EN.tex
        ├── CV-Fredrik-Loch-V2-SV.tex
To build a document in this file structure I use a small python script, available on github and the following command
    python CLI-Builder/ -x src/resume/CV-Fredrik-Loch-V2-EN.tex

Which gives me a pdf in the working directory and places all logs in the out/ folder.

Examples and sources