O que são classes e pacotes de LaTeX?

O LaTeX pretende ser um processador de documentos de propósito geral. Tal objetivo poderia ser alcançado por uma seleção de instruções que permitiriam aos usuários usar primitivas do TeX, mas esse procedimento é considerado muito inflexível (e provavelmente muito assustador para usuários comuns). Assim, os designers do LaTeX criaram um modelo que ofereceu uma abstração do design de documentos. Obviamente, nem todos os documentos podem ter a mesma aparência (mesmo com o olho desfocado da abstração), então o modelo usa classes de documento. O LaTeX base oferece cinco classes de documento: book, report, article e letter. Para cada classe, o LaTeX fornece um arquivo de classe; o usuário providencia sua utilização por meio de um comando \documentclass na parte superior do documento. Então, um documento que comece com

\documentclass{article}
pode ser chamado de “um documento de artigo”.

Este é um bom esquema, mas tem uma falha flagrante: os designs tipográficos reais fornecidos pelos arquivos de classe do LaTeX não são amplamente apreciados. A maneira de se contornar isso é refinar a classe. Para refinar uma classe, um programador pode escrever um novo arquivo de classe que carregue uma classe existente e, em seguida, faça sua própria coisa com o design do documento.

Se o usuário encontrar tal classe refinada, tudo bem, mas, se não, a maneira usual é carregar um pacote (ou vários).

A distribuição de LaTeX, em si, fornece poucos arquivos de pacotes, mas existem muitos deles, de uma grande variedade de autores, que podem ser encontrados nos acervos. Vários pacotes são projetados apenas para ajustar o design de um documento — usar tais pacotes faz com que você consiga atingir o que o programador deve ter conseguido ao refinar a classe.

Outros pacotes oferecem novas facilidades: por exemplo, o pacote graphics (na verdade, fornecido como parte de qualquer distribuição de LaTeX permite ao usuário carregar figuras fornecidas externamente em um documento, e o pacote hyperref permite ao usuário construir hiper-referências dentro de um documento.

No disco, os arquivos de classe e pacote só parecem diferentes em virtude da “extensão” — os arquivos de classe são chamados *.cls enquanto os arquivos de pacote são chamados *.sty. Assim, a article padrão do LaTeX é representada no disco por um arquivo chamado article.cls, enquanto o pacote hyperref é representado no disco por um arquivo chamado hyperref.sty.

A distinção de classe versus pacote não era clara no LaTeX 2.09 — tudo era chamado de estilo (“estilo de documento” ou “opção de estilo de documento”). Realmente não importa que a nomenclatura tenha mudado: o requisito importante é entender do que outras pessoas estão falando.

This answer last edited: 2013-10-21


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