O TeX dispõe de dois comandos primitivos \uppercase
e
\lowercase
para mudança de caixa de texto; eles não são muito usados, mas podem causar confusão.
Os dois comandos não expandem o texto atribuído como parâmetro —
o resultado de \uppercase
{abc}
é ‘ABC’, mas
\uppercase
{
é sempre ‘\abc
}\abc
’, independente do significado de \abc
. Os comandos simplesmente interpretam uma tabela de equivalências entre caracteres de caixa alta e baixa. Eles não têm (por exemplo) qualquer juízo matemático, e
vai produzir\uppercase{About $y=f(x)$}
que, provavelmente, não é o que se deseja.ABOUT $Y=F(X)$
Além disso, \uppercase
e \lowercase
não lidam muito bem com caracteres fora do alfabeto americano; por exemplo,
\uppercase
{
é igual a \ae
}\ae
.
O LaTeX dispõe dos comandos \MakeUppercase
e \MakeLowercase
, que consertam esse problema. Esses comandos são usados nas classes padrão para produzirem títulos de cabeça de página em caixa alta, referentes a capítulos e seções.
Infelizmente \MakeUppercase
e \MakeLowercase
não resolvem os outros problemas do \uppercase
; por exemplo, um título de seção contendo \begin
{tabular}
…
\end
{tabular}
vai produzir um título de cabeça de página contendo
\begin
{TABULAR}
. A solução mais simples para esse problema é usar um comando definido pelo usuário, por exemplo:
Note que\newcommand{\mytable}{\begin{tabular}... \end{tabular}} \section{A section title \protect\mytable{} with a table}
\mytable
tem que ser protegido; caso contrário, vai ser expandido e escrito em maiúsculas. Você pode alcançar o mesmo resultado declarando-o com \DeclareRobustCommand
, caso em que o
\protect
não será necessário.
O pacote textcase de David Carlisle lida com muitos desses problemas de forma transparente. Ele define os comandos \MakeTextUppercase
e \MakeTextLowercase
que fazem caixa alta ou baixa com as funcionalidades mais sofisticadas dos comandos \Make*
padrões do LaTeX, mas sem os problemas mencionados anteriormente. Carregue o pacote com
\usepackage
[overload]
{textcase}
e ele vai redefinir os comandos do LaTeX
serão redefinidos (não os comandos primitivos \uppercase
e
\lowercase
do TeX), de modo que os títulos de seção e afins não produzam títulos de cabeça de página quebrados.
This question on the Web: http://latex.net.br/faq/FAQ-casechange.html
Do you have any question? Ask on: latex.net.br - we love qood questions!