Hans, > -- Perhaps this input can be used for the template discussion: > > One idea that comes to my mind in connection with the "environments with > hooks" is to build up two layers, one which takes care of the semantics, > and one which takes of the syntax by which the environments are called. not really since I was talking only about the semantic layer; what you propose is (under a different label) the separation as it is provided by the interface of xparse on one hand (syntax side) and the template on the other hand (semantics) but what i was getting at is that the semantics layer need further clarification (and they would in your code as well the question isn't different there) > Here, some arguments should (when required by the environment definition) > be passed to the commands \<name>/before, \<name>/begin, \<name>/end, i was trying to pin down the nature of those "some arguments" this was the question posed in the thread not whether or not separation of syntax and semantics is helpful/sensible. frank