LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

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

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

Print Reply
Joseph Wright <[log in to unmask]>
Fri, 25 Oct 2013 20:59:18 +0100
text/plain (32 lines)
On 19/10/2013 09:05, Andrew Parsloe wrote:
> 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

As others have said, the current \tl_to_uppercase:n doesn't work as
you'd expect here and you need \tl_expandable_uppercase:n. We (the team)
know that \tl_to_uppercase:n is currently 'wrong' but haven't agreed on
a 'good' solution. (See
for more)

Broadly, there are three cases we can thing of:

 - You want to make 'text' upper case for example for headings
 - You want to make 'strings' lower case for example for file name
   checks, case-insensitive ordering, etc.
 - You want to make 'weird' chars (catcode tricks with \lowercase

The three different use cases need different interfaces and
implementations, but getting to a point were we agree on what to do is
Joseph Wright