LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Joseph Wright <[log in to unmask]>
Mon, 15 Sep 2014 08:22:29 +0100
text/plain (36 lines)
On 15/09/2014 05:55, aparsloe wrote:
> I have found a number of instances where I have wanted to generate a
> variant with varying degrees of branching, e.g.
> \cs_generate_variant:Nn \tl_case:Nn { No }
> \cs_generate_variant:Nn \tl_case:NnT { No }
> \cs_generate_variant:Nn \tl_case:NnF { No }
> I find myself envious of the functionality available with
> \prg_new_conditional:Npnn and its ilk where multiple degrees of
> branching can be coded in a single statement using a subset of { p, F,
> T, TF }. It would be nice to be able to write something similar, e.g.
> \cs_generate_variant:Nnn \tl_case:Nn { No } { , F, T }
> where the empty slot before the first comma denotes the nonbranching
> variant.
> I don't imagine I'm the first to have thought this, so presumably there
> is good (or at least some) reason for not providing the functionality.
> It would be good to know.
> Andrew

I don't remember any technical reasons for not doing this: I guess
primarily we've not needed it often enough.

Probably this would go into \prg_... as it's only applicable to
conditionals (we have \prg_new_eq_conditional:NNn and
\prg_set_eq_conditional:NNn). I guess something like
\prg_generate_conditional_variant:Nnn would be an appropriate name.

Joseph Wright