On 11/06/2009, at 5:58 PM, Joseph Wright wrote: > I'd imagine that, like many things, LaTeX3 should establish a > convention > on this type of thing. At the moment, template uses hyphenation, so I > guess this may be the convention. I use "everything runs together" in > siunitx at the moment, but I think this was a bad choice, as it > makes it > hard to create readable names. I tend to think that spaces are > fine, as > I find the pgfkeys keys very readable. (Not sure normalising things > is a > great idea: as you say, one is correct and the rest are wrong!) Or all are correct and none are wrong :) But I'm not going to push the idea; it was just a stray thought some time back. I probably prefer hyphens but I'm not willing to settle on one or the other at this stage. > keys3 is meant to be an experiment to see what needs to be thought > about. I'd still imagine that the final result might well be something > else (although I'm quite happy to write it). I'm simply aware that at > present we don't have a native LaTeX3 solution which covers everything > that can be done in xkveyval/kvoptions/pgfkeys plus template, and I'd > suggest we should. Yes, I'm keen on merging the best ideas of them all. It's definitely not a "one or the other" argument. > On inheritance, I know that the pgf team have looked at things, but > I'm > not happy that they've got an understandable system. Could you give > an > example of how tempate does this: I must have missed it in the docs. > Then I can think about it! Perhaps I used the wrong word. I guess I'm thinking of the \UseInstance type of thing in template. Which is more referring to one template from within another. > One thing that comes to mind is the issue of creating > by name. I've done this in keys3 as you see this idea in the xkyeval > \define@cmdkeys macro, where you set up the prefix once then can make > lots of related storage macros. On the other hand, is this useful > (template does not do it, I think)? Perhaps it is better to do each > one > explicitly, so that the code is clearer? I'd say that if we don't need it in expl3 then we don't need it in template. Having said that, I have proposed the idea in expl3 of a data type where variables are referred to by "name" rather than by control sequence. E.g., \tl_set:nn {tmpa} {...} would set the variable "\l_tmpa_tl". > I should say that I'm *not* saying that keys3 is the correct approach, > simply that it is *an* approach. And a very helpful one to contrast with template! Thanks, Will