Choice options
As I work through recoding siunitx for version 2, I’m re-thinking all of the options. As I’ve said already (and others have said too) the current structure is too complex. A particular problem is the options which currently take a choice of values, or a literal item. I’m thinking that it would be better to either (a) have a fixed list of choices or (b) use the input as given. For example, the current:
\sisetup{decimalsymbol = comma}
could become either:
\sisetup{numbers/output/decimal marker = comma}
or
\sisetup{numbers/output/decimal marker = {,}}
For options which give literal output (like the above), I think the later method is better (it matches up with the input options, for example). On the other hand, some options (particularly those involving spaces) seem better done using keywords:
\sisetup{numbers/output/digit separator = thick space} % thin space, comma, ...
I’d be keen to see what others think.
Generally I would tend to go with the ‘literal input’ method, because it involves less learning on the part of the user — if they already know the commands for thinspace, or whatever, then they don’t need to remember if they need to write “thinspace” or “thin space” or “thinsp”.
I guess the reverse argument is that writing ={\,} isn’t very meaningful, and it’s better to write as semantically as possible.
Perhaps a compromise solution might be to only accept literal input but then also provide commands like \thinspace, \thickspace, etc., where they’re not already defined. And then give a nice list of sensible possible options in the documentation.
Will
29 Dec 08 at 3:15 am
Not a bad idea. I’m thinking along the same lines (I don’t think lots of one-off options are particularly helpful).
josephwright
29 Dec 08 at 9:02 am