On Thu, Jan 22, 2009 at 04:12:32PM +0100, Morten Høgholm wrote:

> On Thu, Jan 22, 2009 at 3:55 PM, Paul Thompson <[log in to unmask]> wrote:
> > 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.

can be fixed by an explicite global assignment:


Yours sincerely
  Heiko <[log in to unmask]>