I used to have a definition like the following to check if all optional arguments were missing:
\NewDocumentCommand \question {o o o m} {
\bool_if:nTF {
\str_if_eq_p:nn { \NoValue } { #1 } &&
\str_if_eq_p:nn { \NoValue } { #2 } &&
\str_if_eq_p:nn { \NoValue } { #3 }
} {
<DO STUFF 1>
} {
<DO STUFF 2>
}
}
But that broke with the latest xparse update. Now there seems to be only the \IfNoValueTF{}{}{} macro but then I have to repeat one the DO STUFF x things. I read the xparse.sty but there seems to be no such easy solution anymore due to the QNoValue- "hack".
Any ideas?
-NoValue-, but I would not encourage relying on this. Instead, I'd ask what your overall input is here. The test you want suggests that your syntax choice is poor: could you explain what it is you actually want to achieve? – Joseph Wright♦ Aug 25 '12 at 16:13-NoValueyou wrote should be-NoValue-at the moment (it might have changed since). MiB, it might be useful to ask a question on how to parse a comma-separated list (but first check whether that's been covered before). Also: note that the three arguments are all "no value" if and only if the third argument is "no value", since arguments with identical delimiters are populated from left to right. – Bruno Le Floch Aug 25 '12 at 18:49