Maybe my question is too broad, but I'd really like to know: what is best to use (and why) between xparse command definition (e.g. \NewDocumentCommand) and LaTeX "standard" definitions (e.g. \newcommand)?
When I started with LaTeX I learnt that LaTeX definitions are more convenient than TeX plain definitions (e.g. \def) for many reasons (e.g. not having the risk to inadvertently override some existing command and such).
I'm wondering if the new xparse definitions are better; for instance sometimes I've seen that the syntax to define a command is more clear (to me) and seems very powerful.
Are there any drawbacks? Thanks
xparsecommands are regarded as stable, but as long as you do not use\DeclareExpandableDocumentCommandthe\NewDocumentCommandaren't expandable -- that's a drawback – Nov 05 '15 at 10:42\newcommanddefined commands are not expandable either if they have optional arguments. (I see you had the same statement in your answer:-) – David Carlisle Nov 05 '15 at 10:51