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/