Print

Print


> The main advantage with this is that the use of special
> characters inside the keyval default will no longer mess up the parsing;
> currently

Yes this is of course a general problem with the latex [] syntax, but
it is particularly bad here I agree, because if it goes wrong in the
middle of that code then it _really_ goes wrong.

There is a general rule of optional things using {} and mandatory things
using [] but perhaps since the syntax for template declarations are so
formalised anyway, the rules can be different here. Frank? Chris?

> The difference between a template and an instance could be explained
> better.

ah documentation. Yes that could be improved.

> in particular you need to do much more
> processing of a template before you can use it than you need to do an
> instance.

Yes, in effect you have to make a (nameless) instance and run that.

> practice works fine if n=1 or the <separator_i>'s cannot be appear in the
> <name_i>'s, but that is not the case with the template code.

there were earlier versions where instances (at least) were called as
\csname rather than via a \UseInstance{xxx} syntax that could allow
such characters.

Also the number of parts in those names grew as features such as
collections got added (and the template/instance code got re-redesigned)

I agree that it should be cleaned up. Hopefully though those internal
names can be changed without really affecting the main interface
or packages using it.

Thanks again for your detailed reading of the code. It is heartening
to have someone say that it is basically a good idea, modulo some
technical "features". There's always a danger that nobody likes
it at all:-)

David