Meus colchetes não combinam

O (La)TeX tem um mecanismo de baixo nível para correlacionar chaves em texto de documento. Isso significa que você pode digitar algo como:

\section{All \emph{OK} now.}
e saber que a primeira chave (para o argumento de \section) vai ser combinada com a última chave, e o par de chaves internas (para o argumento de \emph) vai ser combinado. Tudo muito simples.

Porém, o LaTeX tem uma convenção de fechar argumentos opcionais em colchetes, como em:

\section[OK]{All \emph{OK} now.}
Esses colchetes não são combinados pelos mecanismos do TeX, apesar da similaridade superficial do seu uso. Consequentemente, utilizações com aparência simples e direta, como em
\section[All [OK] now]{All \emph{OK} now.}
não funcionam  — o argumento opcional fica sendo “All [OK”, e a \section pega o caractere “n” (do primeiro “now”) como seu argumento.

Felizmente, o mecanismo de leitura do TeX nos ajuda ao aceitar a sintaxe “{]}” para ‘esconder’ o colchete final do mecanismo de leitura do LaTeX. Na prática, a forma mais comum de uso desse recurso é

\section[All {[OK]} now]{All \emph{OK} now.}
já que colocar colchetes entre chaves “parece estranho”.

O LaTeX tem outra sintaxe para argumentos, ainda menos comum, na qual o argumento é fechado por parênteses, como em:

\put(1,2){foo}
(um comando de ambiente de imagem).

Esse mecanismo também está sujeito a problemas com o uso de parênteses, mas eles dificilmente ocorrem, já que tais argumentos raramente contém texto. Se ocorrerem problemas, a mesma solução (colocar os caracteres confusos entre chaves) resolve o problema.


Do you have any question? Ask on: latex.net.br - we love qood questions!