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:
e saber que a primeira chave (para o argumento de\section{All \emph{OK} now.}
\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:
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[OK]{All \emph{OK} now.}
não funcionam — o argumento opcional fica sendo “All [OK”, e a\section[All [OK] now]{All \emph{OK} now.}
\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 é
já que colocar colchetes entre chaves “parece estranho”.\section[All {[OK]} now]{All \emph{OK} now.}
O LaTeX tem outra sintaxe para argumentos, ainda menos comum, na qual o argumento é fechado por parênteses, como em:
(um comando de ambiente de imagem).\put(1,2){foo}
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.
This question on the Web: http://latex.net.br/faq/FAQ-matchbrak.html
Do you have any question? Ask on: latex.net.br - we love qood questions!