Am 27.12.2018 um 09:49 schrieb Bruno Le Floch:
>> Is it correct to use 'Ncnx' instead of 'Ncnn'? What is the best
>> argument specification to use instead of 'Ncnx' here?
To elaborate briefly on Bruno's answer:
- \exp_args:N... is manipulating the arguments of a function before
they are passed to the function. "n" in its signature means to keep the
corresponding argument unchanged. It is therefore only needed if a
later argument needs manipulation, e.g., \exp_args:Ncnn would do the
same as \exp_args:Nc (only less efficient). We have therefore not
defined all the possible additional \exp_args:N... functions ending in a
multiple number of "n"'s
- For the same reason you give only "Nc" in a \cs_generate_variant:Nn
specification even if the base function for which you want make the
variant has more than 2 arguments.
Using Ncnx instead would be conceptually wrong as that changes the
argument as well.
A different topic is is the use of "c" which is not what you want. "c"
makes a csname from string input (at least that is the idea) while "v"
would make it from the content of a variable