## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

 Options: Use Forum View Use Monospaced Font Show Text Part by Default Show All Mail Headers Message: [<< First] [< Prev] [Next >] [Last >>] Topic: [<< First] [< Prev] [Next >] [Last >>] Author: [<< First] [< Prev] [Next >] [Last >>]

On Sun, Sep 7, 2008 at 11:12 PM, Joseph Wright

> Yet more questions.

Good! :-)

> 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.

> 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.

> 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!
--
Morten