Analog to this question I've been wondering WHAT is to \lowercase
as \bfseries
is to \textbf
?
(… and for uppercase
, or \MakeLowercase
and MakeUppercase
, etc., which also seem to be text-block commands as explained here.)
Is there a "switch"/"declaration"/"modal command" (what is the correct term here?, is there a difference between them?) that would allow one to turn something into lowercase/uppercase in the same way that one would use \scshape
for example, i.e., not as text-block command with the curly braces? Or how to create such a command? I couldn't find any clue on the forum.
Best Answer
Really there is no such command.
If you have a command that acts as a switch, such as a font change like
\bfseries
then it is easy to make a command that takes an argument and applies the original command in a local group, so\textbf
is (simplified a bit) justHowever going the other way is harder.
\MakeUppercase
is a wrapper around\edef
and\uppercase
and both of these primitives require a{}
delimited list of tokens on which to act.You can get caps and small caps as a modal switch
\scshape
as that font shape is commonly available, however an all-caps font is not available in most font sets.\uppercase
(and so\MakeUppercase
) does not work as a font change but as a token level transformation replacing each token in the argument by a specified replacementa
toA
for example. Conversely with an all caps font thena
would still bea
(ASCII/Unicode hex 61) but would use a glyph that looked like A when rendered.