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? >> >> Thanks, >> Tisha > \exp_args:Nc 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 frank