On 07/12/2018 19:17, Kelly Smith wrote: > Hello, > > I’ve seen mentioned here and there that the conditional functions in xparse > are now considered inappropriate. I wanted to get some clarification about > that. For example, if I have the command > > \NewDocumentCommand \foo { s m } > { > \IfBooleanTF { #1 } > { \mymodule_foo_star:n { #2 } } > { \mymodule_foo_nostar:n { #2 } } > } > > is it now preferrable to define it as > > \NewDocumentCommand \foo { s m } > { \mymodule_foo:nn { #1 } { #2 } } > > and have \mymodule_foo:nn do the conditional handling internally? > > Warmly, > Kelly > Hi Kelly, The idea of xparse remains the same: separating document syntax from code/implementation. Most of the time, document-level switches will link with different code-level interfaces. So I'd expect to see the \IfBooleanTF approach in most cases. Of course, where there is a code-level interface which takes a boolean, the second approach may be useful, but less common. Joseph