At 19:36 +0100 98/06/21, Javier Bezos wrote: >Undescore in names >~~~~~~~~~~~~~~~~~~~ >Changing the _ catcode prevents from using explicit subscript characters. >I think there are better candidates: "other" character except =, <, >, >. (sadly), , (ie, comma), - and +. (Namely /, !, ?, : (already used), ;, >@, |...) This is something I worried about at first. But it is possible to build a new development level above the fundamental one where _ works as usual: Then one would either not be able to use command names with _, or use a special command to invoke them or create them. For example, within <...>, _ works as an underscore space, and without as a subscript command. So I think one should not worry about it at this the most fundamental development level, and just use whatever is best for describing the logical structure. >Argument specifiers >~~~~~~~~~~~~~~~~~~~~ .. >\let:NN{\arg1}{\arg2} is particularly amusing because the first N is >\arg1 and the second one is { with an unmatched brace. One variation could be \<module name>_<command name>:<argument type>:, with a final ":" delimiting the argument type (\let:N: etc). It would be simpler to parse also, if the argument type should be stripped off the command name. Hans Aberg * Email: Hans Aberg <mailto:[log in to unmask]> * Home Page: <http://www.matematik.su.se/~haberg/> * AMS member listing: <http://www.ams.org/cml/>