TeX é um processador de macro: este é um termo pseudocientífico que significa “expansor de texto” (mais ou menos); O TeX tipografa texto à medida que avança, mas expande cada macro que encontra. Macros de TeX podem incluir instruções para o próprio TeX, além da simples geração de texto que se poderia esperar.
Macros são um coisa boa, uma vez que permitem ao usuário manipular documentos de acordo com o contexto. Por exemplo, a macro
\TeX
usualmente está definida para produzir “TEX” com o ‘E’ rebaixado (a ideia original foi de Knuth), mas nestas FAQs a definição padrão da macro é sobrepujada, e ela simplesmente se expande para as letras “TeX”. (Você pode não achar que isso seja uma coisa boa, mas o autor das macros tem seus motivos – veja Logos relacionados ao TeX.)
Nomes de macro são convencionalmente construídos a partir de uma \
seguida de uma sequência de letras, que podem ser maiúsculas ou minúsculas (como em \TeX
, mencionada acima). Eles também podem ser
\ ‹qualquer caractere›, o que permite todo tipo de esquisitice (muitas incorporadas à maioria dos conjuntos de macro de TeX, desde a aparentemente simples ‘\
’ que significa “insira um espaço aqui”).
A programação de macro pode ser um negócio complicado, mas, no nível mais simples, elas precisam de pouca introdução — você dificilmente precisará ser informado de que:
substitui cada ocorrência de\def\foo{bar}
\foo
pelo texto “bar”. O comando \def
é a sintaxe do Plain TeX para definir comandos;
LaTeX oferece uma macro \newcommand
que de certa forma protege os usuários de si mesmos, mas faz basicamente a mesma coisa:
Macros podem ter “argumentos” , que são usados para substituir trechos marcados da expansão de macro:\newcommand{\foo}{bar}
que produz:\def\foo#1{This is a #1 bar} ... \foo{2/4}.
This is a 2/4 bar.Ou, no jargão do LaTeX:
que produz:\newcommand{\foo}[1]{This is a #1 bar} ... \foo{3/4}.
This is 3/4 bar.(Usuários deLaTeX valsam pela vida, talvez?)
Você deve ter notado, acima, que os argumentos estavam entre chaves ({…}); esta é a maneira normal de digitar argumentos, embora o TeX seja extremamente flexível e você possa encontrar todo tipo de outras formas de passar argumentos (se você permanecer com ele).
A escrita de macros pode ficar muito complicada muito rapidamente. Se você é um programador iniciante de (La)TeX , é muito aconselhável que leia algo das linhas do TeXbook; uma vez que esteja avançando, o TeX by Topic talvez seja uma escolha mais satisfatória. Muitas das respostas nestas FAQs tratam de várias questões de como escrever macros.
This answer last edited: 2011-10-12
This question on the Web: http://latex.net.br/faq/FAQ-whatmacros.html
Do you have any question? Ask on: latex.net.br - we love qood questions!