Robin Fairbairns wrote: > joseph seemed to me to be addressing the internal macros that implement > environments, rather than what the user says to invoke the environment. > > the existing system has its problems, not least because one mayn't use > \newcommand to define a command \end...; this is certainly a bear trap. > however, there seem relatively few bears around nowadays. we have had > _one_ confused user on c.t.t in the last 12 months, that i recall. The confusion is one point I was thinking about, although as you say this doesn't necessarily come up a lot. (I've been caught by this one, in the past, when I wanted macro called \endo, a chemistry term.) My main point was about keeping internal and user macros well defined and separated. As Robin says, whether you stick with \begin{<whatever>} ... \end{<whatever>} or do something different is more a user interface issue. (That said, if you go down the ConTeXt-esque route then the problem essentially disappears as the macros are then in user space.) The key point for me is that using \<whatever> ... \end<whatever> to store the code for \begin{<whatever>} ... \end{<whatever>} is bad because it means that there are two macros \<whatever> and \end<whatever> that the user doesn't see and isn't really supposed to use, but that have user space names. So as there's been discussion about naming macros, avoiding clashes, etc., it seems like a good time to talk about this. -- Joseph Wright