Joseph Wright wrote: > The recent question about macro names got me thinking about how > environments should be implemented in LaTeX3. I think I've seen this > mentioned briefly somewhere, but not really worked through. > > My thinking is that, although using \<env> ... \end<env> is convenient, > it is probably not the best way to (1) keep user and internal macros > separate and (2) to show what is going on. I'd therefore imagine a > "virtual" module begin used for all of the \begin/\end names, something > like: > > \envs_<env>_begin:w % Seems easiest here to use :w > \envs_<env>_end: > > That means that the business with \end... is removed from command > creation much clearer) and that there is no possibility of accidentally > using an environment-starting command without \begin. > > Of course, this is still "some way off", but it seems worth thinking > about in the wider context of refactoring expl3 and discussing keeping > user function names under control. My opinion about the \begin<env>–\end<env>: I don’t like it at all. ConTeXt uses \startenv – \endenv, which is a bit better. A perfect thing would be: \envstart – \envend. Reason: autocompletion works much better. Now I always have to type \begin{do <tab> to get \begin{document} as completion. With \documentstart it would only be \do <tab>. I don’t know if anybody here likes this, but Joseph asked for discussions… Cheers Arno