# Justify text in moderncv cover letter

I am writing a cover letter and CV using moderncv. Everything works fine so far, but the text in the cover letter is not justified. I think it is good that it is not hyphenated, but it would look much nicer if the text was justified.

Here is a minimal example:

\documentclass{moderncv}
\moderncvstyle{classic}

\usepackage{lipsum} % just for dummy text

\firstname{John}
\familyname{Doe}

\begin{document}
\recipient{Prof.\ Dr.\ Foo Bar}{}
\opening{Dear Professor Dr.\ Bar,}
\closing{Yours sincerely,}
\enclosure[Attached]{curriculum vit\ae}

\makelettertitle
\lipsum[1]
\makeletterclosing

\clearpage

\makecvtitle

\section{Education}
\cventry{2009--present}{PhD Student}{here}{and}{there}{}
\end{document}


-

Add the following to your document preamble, after loading the moderncv style (classic):

\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
\patchcmd{\makelettertitle}% <cmd>
{\raggedright \@opening}% <search>
{\@opening}% <replace>
{}{}% <success><failure>
\makeatother


The above patch just removes the necessary \raggedright from the template at the correct location (just before calling \@opening).

-
 Awesome. Works perfect – Pascal Oct 11 '12 at 6:47

I have a not so elegant solution using \minipage. That works fine for the casual style but it should work for the other ones as well.

Before \begin{document}, add:

\newlength{\currentparskip}


Then, when writing the letter, after the \makelettertitle command, put:

\setlength{\currentparskip}{\parskip}% save the value of paragraph spacing
\begin{minipage}{\textwidth} %create minipage
\setlength{\parskip}{\currentparskip}% restore the value

TEXT OF THE LETTER

\end{minipage}

\makeletterclosing

\clearpage


The paragraph spacing is zero in the \minipage, so one has to restore the value so that the text spacing would be ok.

-