Using the lettre
document class, I want to place the enclosures automatically at the bottom of the page, like this :
This is the default behavior :
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 afilll
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