LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

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

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

Print Reply
Subject:
From:
"Joel C. Salomon" <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 30 Jun 2014 09:05:59 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (40 lines)
On 6/30/2014 4:22 AM, Joseph Wright wrote:
> The versions with one argument do a relatively simple
> language-insensitive mapping:
>
>   \tl_lower_case:n { HELLO } => "hello"
>   \tl_upper_case:n { hello } => "HELLO"
>   \tl_mixed_case:n { HELLO } => "Hello"
>
> while the two-argument versions can do language-dependent changes, such
> as dotted/dotless-i/I handling in Turkish:
>
>   \tl_upper_case:nn { tr } { i } => "İ"

There’s an important use-case that seems not to have been addressed,
but perhaps this is better handled in a different layer:
mixed-language strings.

For example, consider a document with the title, “The Interesting Life
of Ragıp Hulûsi Özdem” (to chose the first Turkish name I could find
with both dotted i and dotless ı). Somehow, within the \title{}
declaration, the change of language must be indicated so that (e.g.)
at the top of the page this will be transformed to “THE INTERESTING
LIFE OF RAGIP HULÛSİ ÖZDEM” and not “THE INTERESTİNG LİFE …” nor “…
LIFE OF RAGIP HULÛSI …”.

A similar situation arises in German where within geographical names
‘ß’ should capitalize to the recently-defined ‘ẞ’, not ‘SS’.
(According to <http://en.wikipedia.org/wiki/Capital_ẞ>, this rule was
adopted in 2010.)

As I said, this is probably best handled in a separate layer:  Code
that capitalizes user-provided text would need to defer to the LaTeX3
equivalent of Babel, which would scan the text for user-level
language-change commands, and (among other things) call
\tl_upper_case:nn with the appropriate language argument.  But I think
it’s important that the interface to the casing functions being
defined now be aware of the way they will likely be used.

—Joel

ATOM RSS1 RSS2