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:
\documentclass{article}
\usepackage{expl3}
\begin{document}
\ExplSyntaxOn
\tl_set:Nx \l_tmpa_tl { \tl_expandable_uppercase:n { text } }
\tl_show:N \l_tmpa_tl
\ExplSyntaxOff
\end{document}
Best,
Clemens
--
Clemens Niederberger
Public PGP Key ID: 65CCDFE7
http://www.niederberger.com.de/