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