Morten Høgholm wrote: >> Question 1. The various counter-creation macros in expl3 work like >> \newcount. There doesn't seem to be anything like \newcounter, for >> creating something with a user-facing \the<counter>. Should counters >> that go near the user stick with \newcounter for the moment, or should >> one define \c@<counter> and \the<counter> "by hand" so that things look >> the same for the user? I guess this is partly a philosophical question! > > LaTeX counters (\newcounter) are document level. The expl3 counters > are so far low-level only. I think it is important that you write your > low-level code separate from the user interface, e.g., use xparse or > similar to map between document usage and low-level. Okay, I shall "try the exercise again"! >> Question 2. Why is \clist_map_break:w "weird"? It doesn't take an >> argument from a use point of view, so I'd have expected \clist_map_break:. > > I think the original reasoning was that the user had to know exactly > where it could be used (\if level) but that of course applies to many > things... I recently added (but did not yet check in I think) two > variant forms, namely, as you say, \clist_map_break: and also > \clist_map_break:n. The latter will carry an argument to the end of > the loop, typically something involving the last value found. Same for > other loop types. The l3prg case-switches use something like this. This seems to make sense. >> Do tell me to stop if I'm asking too much! > > Not at all. The reason expl3 has grown so much over the past years is > because it was discussed and used. So keep 'em coming! Will do! -- Joseph Wright