[Tex/LaTex] Put the \encl at the bottom of the page (lettre class)

letterslettrevertical alignment

Using the lettre document class, I want to place the enclosures automatically at the bottom of the page, like this :

image

This is the default behavior :

image

This is the code I used to get the first picture (with the enclosures at the bottom) :

\documentclass[romand]{lettre}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[francais]{babel}

\name{Mister Z}


\begin{document}

\begin{letter}{Company X\\
Mister Y\\
Address\\
Town}

\conc{Business contract}

\opening{Dear Sir,}

Lorem ipsum dolor sit amet, % and so on..

\closing{Kind regards,}
\vspace{60mm} % This is what I want to be automatic (adaptative)
\encl{Contract}

\end{letter}

\end{document}

I'd like to replace \vspace{60mm} by something which would automatically take all free space like \vfill. But \vfill does not do what I want here, I think this is because the letter is written inside the letter environment, which probably does not take the whole page. I tried to find a solution by looking at the lettre.cls file, but with no success.

Best Answer

Your strategy is correct, but the lettre class does a couple of tricky/not nice things. The class adds \stopletter (defined as \vskip0ptplus1filll) at the end of the letter. That is a filll with 3 l's which swamps all the other stretchable glue. If you replace \vspace{60mm} with \vskip0ptplus1filll then you enclosure will be halfway to the bottom of the page since you add some 3-l stretch instead of the 2-l stretch of \vfill. If you also redefine \stopletter to not add space, then the enclosure will be at the bottom of the page. Putting it all together gives

\documentclass[romand]{lettre}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[francais]{babel}

\name{Mister Z}


\def\stopletter{}%

\begin{document}

\begin{letter}{Company X\\
Mister Y\\
Address\\
Town}

\conc{Business contract}

\opening{Dear Sir,}

Lorem ipsum dolor sit amet, % and so on..

\closing{Kind regards,}
\vskip0ptplus1filll
\encl{Contract}

\end{letter}

\end{document}