sexta-feira, 22 de janeiro de 2010

Instalando novas classes de LaTeX

Um Curso de \LaTeX
Edição n. 10

O Institute of Physics (IOP) é uma entidade que visa o entendimento, divulgação e a aplicação da física. Existem também alguns jornais relacionados à IOP que divulgam papers sobre física. Quando um físico quer escrever para um destes jornais, deve utilizar como classe, em seu documento TeX, a IOPART. Esta classe, no entanto, não está presente na maioria das distribuições TeX e, por isso, o usuário deve instalá-la. Este é só um exemplo do que ocorre com diversos outros jornais. Vamos mostrar como instalar uma classe que não está presente na distribuição TeX que você utiliza e, como exemplo, mostraremos como instalar a classe iopart. Este procedimento deve valer para a distribuição TeXlive.

Arquivos de configurações

Existem alguns arquivos que contêm as especificações de cada classe. Estes arquivos têm extensões convenientes para podermos entender para que servem. Quando você precisar instalar manualmente uma classe, procure pelo distribuidor: ele deve fornecer todos os arquivos que você precisará. Com estes arquivos, bastará um procedimento simples para fazer com que o programa tex reconheça a nova classe e compile corretamente seu manuscrito.

Onde colocar os arquivos?

Existe uma pasta em que os arquivos passarão a ser significativos para o seu compilador TeX. A pasta padrão em que a maioria das classes estão é

/usr/local/texlive/texmf-dist/tex/latex/

No entanto, é recomendável não utilizar esta pasta para classes que não venham originalmente em sua distribuição. Isso porque podem haver arquivos com nomes iguais ou mesmo para que você possa trabalhar melhor ao alterar sua distribuição. Usualmente, utiliza-se

/usr/local/texlive/texmf-local/tex/latex/

Utilizaremos esta pasta. Caso ela não exista, basta criá-la:

sudo mkdir /usr/local/texlive/texmf-local/tex/latex/

Naturalmente, precisamos executar este comando como administrador (super usuário), uma vez que estamos alterando pastas fora do domínio dos usuários comuns.

Em alguns casos, pode ser necessário adicionar 2007 ao caminho, i.e.,

/usr/local/texlive/2007/texmf-local/tex/latex/

Para verificar essa necessidade, verifique em que pasta sua distribuição TeX está instalada. Uma maneira extremamente simples de fazer isso é executando

sudo texhash

Este programa atualiza sua distribuição TeX caso novos arquivos tenham sido adicionados manualmente (utilizaremos mais tarde) e, por isso, indicará ao usuário quais as pastas que realmente importam.

E o que fazer com os arquivos?

Basta mover todos os arquivos para a pasta que mostramos anteriormente. Se você tiver uma pasta em que salvou todos os arquivos necessários para a classe, é suficiente usar

sudo cp * /usr/local/texlive/texmf-local/tex/latex/

Caso contrário, utilize

sudo cp -NOME DO ARQUIVO- /usr/local/texlive/texmf-local/tex/latex/

substituindo -NOME DO ARQUIVO- pelo nome de cada arquivo a ser copiado.

Após terminar as cópias de arquivos, você tem que avisar ao TeX que há novas classes e que ele deve preparar-se para usá-las: para isso,

sudo texhash

Feito isso, espere terminar a execução e a classe nova estará pronta para ser utilizada.

Exemplo: IOPART

Como exemplo, mostraremos passo a passo como instalar a classe iopart. Seus arquivos encontram-se reunidos neste endereço. Salve todos estes arquivos em algum local de simples acesso.

No terminal, utilize

sudo cp iop* /usr/local/texlive/texmf-local/tex/latex/
sudo cp set* /usr/local/texlive/texmf-local/tex/latex/

Após isto, execute

sudo texhash

Se a última linha for done, então tudo correu bem e você já pode rodar seu programa.

É isso...

Espero que tenham gostado e, em caso de problemas, postem comentários. Esse tema já havia sido parcialmente discutido em nossa última edição, mas agora tudo deve ficar bem mais claro.




2 comentários:

T disse...

Bem vindo de volta!

Anônimo disse...

Sensacional! Muito obrigado!