> I wrote: > > One feature which I think would be nice is a \newargumenttype macro, > > analogous to \newcolumntype of the array package. David writes: > What new sorts of argument would you want. (this is a real question > so I understand the functionality you are asking for) Well three thoughts I had: Using characters other than * to indicate variant forms. I can imagine a command with two independent variants, accesed by \foo, \foo*, \foo+, and \foo*+ If one wanted to make a `3d' picture mode, a triplet (x,y,z) argument might be useful. It is proposed that the float placement argument be in the form [hb|tp]; this might be a convienent form for other commands. Here my inventivness begins to run-out. Perhaps these are bad ideas; too many argument types will only cause confusion for the user. But I can imagine a \newargtype scheme being useful. Other thing, making the default value of an optional command the same as that of another command, as is done with \@dblarg, I can imagine \DeclareDocumentCommand{\foo}{m O{#1}}{...} being useful. James