Lars =?iso-8859-1?Q?Hellstr=81=F6m?= writes: > OK, you cannot in general assume that the container for one key value is > assigned before the container for another (this wasn't what I thought but > it is probably logical if you think about what \DeclareInstance does). This > fact is probably important enough to be stressed in the documentation (kind > of "Note to people who write their own templates: You cannot make any > assuptions about the order of assignments carried out by > \DoParameterAssignments."). oh yes (if it is indeed that way), but it would be worth checking if there is a clear relation of a describable nature and if so that could be described alternatively. problem really is like this k1 =n \key, l1 =l \key2 then you can't do k1 =12pt l1 = \key + 10pt in an instance declaration since the \key would not be defined until the instance is used why l1 is evaluted when the instance is created at least i think this is how it behaves currently, maybe that's bad and one should \def or \edef all keys at declaration time. (ignore for the moment that one shouldn't use \key in the instance since this is internal to the template body so to speak; one could imagine something like \keyval{k1} instead if one would go for this kind of feature --- one problem with \keyval or the whole thing in generls is for which types should it be allowed and with what semantics? ) frank