Am 30.04.2013 11:42, schrieb Lars Hellström: > > IMHO, the notion that "one cannot use \IfNoValueTF at the code level > because that is a high level command" is utterly bizarre. not utterly, no :-) but the phrasing is wrong. > That many > low-level features should not be exposed in a high-level context is one > thing, but also doing the converse is usually a sign that one's design > is flawed somewhere. right, which I tried to discuss in my other mail > When a sensible representation of a fundamental > concept (missing value, boolean true, boolean false, etc.) can be > exposed at the high level, then that representation should be used also > at the low level to the extent possible. yes, that is missing here. > To me, it is intunitively correct that a \SplitArgument { 2 } { ; } on > {bar} should yield two NoValues, since clearly two more pieces of data > were expected but not provided. It also seems that you may want to > provide some variant of \SplitArgument that supplies default values when > nothing explicit is given. For \ang{<degree>;<minute>;<second>}, one > would probably want 0 (i.e., fixed value like for classical \newcommand) > as default. For \cline{<from>-<to>}, one would probably want the other > value to be the default (a classical feature of \section and friends). > So that might be two siblings of \SplitArgument. This part here is now solely a discussion of what the UI should offer and I agree - there should be both a split interface that returns "no value" if the value is missing - and there should be one where defaults can be specified, just like they can be specified for single optional arguments frank