Am 19.10.2013 10:05, schrieb Andrew Parsloe:
> I thought (naively) that writing
>
> \tl_set:Nx \l_tmpa_tl { \tl_to_uppercase:n {text} }
>
> would put TEXT in the variable \l_tmpa_tl (as revealed by \tl_show:N
> \l_tmpa_tl). It doesn't, and nothing else that I've tried does either.
> What is the recipe for getting \l_tmpa_tl to contain TEXT, starting from
> text?
>
> Andrew
\tl_to_uppercase:n is a wrapper around the primitive \uppercase which is
not expandable. That's probably the reason why \tl_to_uppercase:n isn't
expandable either.
There is however \tl_expandable_uppercase:n which I believe works by
expandably replacing letters with their uppercase versions: