[comp.text.tex] Upper/lowercasing national character---need help!

tih@barsoom.nhh.no (Tom Ivar Helbekkmo) (07/09/90)

We're having a problem here with the Norwegian national characters and
TeX...  For our 3 special characters, we use \AE, \O and \AA for upper
and \ae, \o and \aa for lower case.  This is standard TeX.  However,
the command \uppercase{\ae\o\aa} produces the equivalent of \ae\o\AA,
while \lowercase{\AE\O\AA} produces the same as \AE\O\aa.  We need to
somehow tell TeX that the first two pairs have their other-case
counterparts as well, and I've been unable to correctly modify their
\uccode and \lccode versions.  (I've successfully changed the \uccode
and \lccode values for normal letters, but TeX doesn't seem to react
to my attempts to change these...)

Any help would be greatly appreciated!

-tih
-- 
Tom Ivar Helbekkmo, NHH, Bergen, Norway.  Telephone: +47-5-959205
tih@barsoom.nhh.no, thelbekk@norunit.bitnet, edb_tom@debet.nhh.no

dhosek@sif.claremont.edu (Hosek, Donald A.) (07/10/90)

In article <963@barsoom.nhh.no>, tih@barsoom.nhh.no (Tom Ivar Helbekkmo) writes...
>We're having a problem here with the Norwegian national characters and
>TeX...  For our 3 special characters, we use \AE, \O and \AA for upper
>and \ae, \o and \aa for lower case.  This is standard TeX.  However,
>the command \uppercase{\ae\o\aa} produces the equivalent of \ae\o\AA,
>while \lowercase{\AE\O\AA} produces the same as \AE\O\aa.  We need to
>somehow tell TeX that the first two pairs have their other-case
>counterparts as well, and I've been unable to correctly modify their
>\uccode and \lccode versions.  (I've successfully changed the \uccode
>and \lccode values for normal letters, but TeX doesn't seem to react
>to my attempts to change these...)

In general, I recommend that for most applications, people *not*
use \uppercase directly. The problem is that The expansion of \AE
and \O occurs too late for \uppercase to have done anything about
it. My solution to this problem is as follows:

\def\toupper#1{{\let\ae=\AE \let\oe=\OE \let\o=\O
    \let\aa=\AA \let\l=\L \def\ss{SS}%
    \expandafter\uppercase\expandafter{#1}}}

8-bit pre-accented characters can be handled using appropriate
\uccode definitions.

-dh

---
Don Hosek                         TeX, LaTeX, and Metafont Consulting and
dhosek@ymir.claremont.edu         production work. Free Estimates.
dhosek@ymir.bitnet                
uunet!jarthur!ymir                Phone: 714-625-0147