Saltar para o conteúdo
Topos Uranos

Resumo

Esta aula ensina a definir comandos e ambientes próprios e a reuni-los num preâmbulo que possa ser reutilizado. Explica por que convém nomear as funções do texto em vez de repetir a sua aparência; apresenta \newcommand com argumentos obrigatórios e com um argumento opcional de valor padrão, \renewcommand e \providecommand, e o erro que se produz quando um nome já existe; mostra brevemente \NewDocumentCommand, a interface moderna que o núcleo do LaTeX incorpora; analisa o espaço que se perde depois de um comando sem argumentos; define ambientes com \newenvironment, com o seu código de abertura e de fechamento; e ensina a levar o preâmbulo para um arquivo próprio, seja um arquivo lido com \input, seja um pacote .sty, atentando para a ordem de carregamento dos pacotes e para a sobriedade do conjunto.

Objetivos de aprendizagem

  1. Justificar a definição de um comando próprio pela função que ele nomeia, e não pela economia de digitação.
  2. Definir comandos com argumentos obrigatórios e com um argumento opcional, e prever o seu resultado em cada forma de uso.
  3. Distinguir \newcommand, \renewcommand e \providecommand, e interpretar o erro produzido por um nome já ocupado.
  4. Prever e evitar a perda do espaço depois de um comando sem argumentos.
  5. Definir ambientes com argumentos e reconhecer que parte da definição pode usá-los.
  6. Organizar um preâmbulo próprio num arquivo à parte ou num pacote, decidir qual convém e ordenar o carregamento dos pacotes.

Por que definir comandos próprios

Na aula dedicada à formatação com sentido viu-se a ideia central: cada marca de formatação deve responder a uma função do texto, e um comando próprio nomeia essa função, enquanto a sua definição, escrita uma única vez no preâmbulo, fixa a sua aparência. Esta aula estuda o mecanismo em detalhe. Antes, convém precisar o que se ganha, porque disso depende quando vale a pena definir um comando e quando não.

Ganham-se três coisas. A primeira é o sentido: \conceito{ente} diz o que a palavra é, ao passo que \textit{ente} diz apenas como ela aparece, e o código-fonte lê-se como um texto anotado, e não como uma lista de ordens tipográficas. A segunda é a coerência: se os vetores se escrevem sempre com \vect, não pode acontecer que, por descuido, uns saiam em negrito e outros com seta. A terceira é que uma convenção se altera num único lugar: se uma banca, uma revista ou um orientador pedem outra notação, modifica-se uma linha do preâmbulo e a mudança alcança o documento inteiro. Daí se segue o critério: merece um comando próprio aquilo que cumpre uma função reconhecível e se repete; não o merece um ajuste isolado, que se escreve no seu lugar e não se repete.