On Thu, Jan 22, 2009 at 3:55 PM, Paul Thompson <[log in to unmask]> wrote:
> Thanks for taking the time to look at newlfm.
>
> What I do there is 1) set dimensions for Page 1 based on letterhead stuff; 2) at the same time, compute requirements for Page 2-K; 3) store Page 2-K in variables; 4) after shipping out Page Z, reset dimensions to the stored values if stored values are there, and then reset the "change dimension variable" after finishing the change.  That's all I need, really.

This is fine but not solving the problems Frank is talking about. What
happens when a paragraph is broken across two pages with different
text widths?

>
> Your comment about the calc package is very interesting.  I don't understand why it will not work.  Can you direct me to something to clarify the problem?

With calc loaded
  \setlength\mylen{1pt+2pt}
expands to (after a few steps)
  \calc@assign@generic\calc@Askip\calc@Bskip \mylen {1pt+2pt}
with \calc@assign@generic defined as
  \def\calc@assign@generic#1#2#3#4{\let\calc@A#1\let\calc@B#2%
    \calc@open(#4!%
    \global\calc@A\calc@B\endgroup#3\calc@B}
Therefore, \global\setlength results in \calc@A being \let globally to
\calc@Askip and \mylen being set locally.
-- 
Morten