In this fourth and final part of this series on the design of a curriculum vitæ in latex, we are going to have a look at the cover letter. An essential part, that should be part of the same design as the CV itself.

The previous articles are:

  • Designing a Curriculum Vitæ in LaTeX – Part 1: Concept and General Design which can be found here;
  • Designing a Curriculum Vitæ in LaTeX – Part 2: Sidebar Design which can be found here;
  • Designing a Curriculum Vitæ in LaTeX – Part 3: Main Section Design which can be found here.

Cover Letter Design

The design of the cover letter is the easiest of the entire CV, since there is no need for very complex alignment and the document does not feature an involved two-column layout. As usual, we will start by adding some definitions to our preamble.

\newlength\coverletterheight
\setlength\coverletterheight{\cvSideWidth}
\newlength\coverletterwidth
\setlength\coverletterwidth{\cvMainWidth+3\cvMargin}

\coverletterheight is the height of the coloured bar we’ll put on top. \coverletterwidth is the width of the content inside the cover letter. Both are set to reasonable defaults.

To make sure everything ends up on a new blank page, add a \clearpage before starting the TikZ environment. Now, let’s start the actual design. First, we are going to add our name and job title (or similar):

\begin{tikzpicture}[remember picture,overlay]
  \begin{scope}[on background layer]
    \fill[cvGreenLight] (current page.north west) rectangle ++(\paperwidth,-\cvCoverLetterHeight);
  \end{scope}
  \draw (current page.north east) ++(-0.5\paperwidth+0.5\coverletterwidth,-\coverletterheight/2) node (h7) {};
  \matrix[anchor=east,row sep=10pt] at (h7) {%
    \node (cv cover letter name){\fontsize{50}{60}\selectfont John Doe}; \\
    \node[align=right,cvAccent]{Position}; \\
  };
  \begin{scope}[on background layer]
    \draw[line width=3pt,cvGreen] 
      (cv cover letter name.south west) to (cv cover letter name.south east);
  \end{scope}
\end{tikzpicture}

Since the above code will not add the required vertical space to make it non-overlapping with the cover letter, we need to add this space manually:

\vspace{\coverletterheight}

Now, we are starting the actual letter. We encapsulate everything inside a minipage (with a width of \coverletterwidth). We need to wrap this in a center environment to center the letter. We can now add the date.

\begin{center}
\begin{minipage}{\coverletterwidth}
\today

\vspace{\baselineskip}

We also need to add the beneficiary. To this end, we can use a table to keep everything together. I defined the following command to make it easier to typeset everything:

\NewDocumentCommand{\cvBeneficiary}{mmmmmm}{%
  \begin{tabular}{@{}l}
    \MakeUppercase{#1 #2} \\
    #3 \\
    #4 \\
    #5 \\
    #6 \\
  \end{tabular}%
}

\cvBeneficiary{Jane}{Smith}{Position}{Company}{Address line 1}{Address line 2}

Afterwards, we add the salutation, some whitespace and the actual contents. In the example code, there is an excerpt from Lorem Ipsum, but this is not included here.

\vspace{\cvMargin}

Dear Miss.\ Smith

\vspace{\baselineskip}

% actual contents

Finally, we add our name and close the remaining environments.

\vspace{\cvMargin}

John Doe

\end{minipage}
\end{center}

The resulting cover letter is depicted in the figure below.

Lime CV cover letter.

Conclusion

During the course of four blog posts we explored how we can create a custom CV in LaTeX with a (relatively) limited amount of code. The result is a CV that looks professional, clean and unlike any other LaTeX CV (I’ve come across).

Since a lot of coding is required to make everything work well, I’ve created a document class that is available on CTAN. The source code can be downloaded on GitHub and the project homepage can be found here.

Sidebar and main content section.
Lime CV cover letter.