0

Very new to LaTeX. Using the letter class, I need to line up the start of some text at a particular vertical position on the page - the first fold line on a letterpaper so the text is all inside the a z-fold.

I've managed to accomplish this by using the following which works well if address has 3 lines, however, if the address has only 2 lines I want to skip one extra paragraph to get the next bit of text in the right place. Basically I need some sort of command equivalent to 'make the address and the vertical space after equivalent to 5 lines'. Being new I'm not sure of what terms to search on.

% the opening
\makeatletter
\renewcommand{\opening}[1]{\thispagestyle{firstpage}%
\xphvmn
\@letterdate\par
\@ourfile\par
{\raggedright\toname\\\toaddress\par}%
\vspace{2\parskip}% <-- if toaddress has 3 lines, this should be 2, if 2 lines then skip equivalent of 3 lines (to make up for the one less line)
\ifthenelse{\equal{\@subject}{}}{}{\@subject\par}
\xphvmn
\vspace{2\parskip}%
}
\makeatother
AMG
  • 111
  • 1
    Welcome to TeX.SX! Why don't you use a minipage with fixed height (see https://tex.stackexchange.com/questions/56891/how-to-control-the-vertical-height-of-boxes)? – TeXnician Oct 08 '17 at 20:29
  • thank you @TeXnician - I had looked at minipage earlier but missed that they could handle a fixed height. This works much better and gives me some flexibility on a range of address sizes. I'll toy with the 2.0in till it's exactly the right amount. – AMG Oct 08 '17 at 23:33
  • Why don't you use 3\baselineskip? And if it was an answer, you should put it as such (a question with an edited-in answer is kind of out-of-concept). – TeXnician Oct 09 '17 at 06:11

1 Answers1

1

Thanks TeXnician. Ended up with:

% the opening
\makeatletter
\renewcommand{\opening}[1]{\thispagestyle{firstpage}%
\xphvmn
\@letterdate\par
\@ourfile\\
\begin{minipage}[c][2.0in]{\textwidth}
\raggedright\toname\\\toaddress
\end{minipage}
%\vspace{2\parskip}% <-- if address has 3 lines, this should be 2, if 2 lines then 3
\ifthenelse{\equal{\@subject}{}}{}{\raggedright\@subject\par}
\xphvmn
\vspace{2\parskip}%
}
\makeatother
AMG
  • 111