Fontes documentadas de LaTeX (arquivosdtx )

O LaTeX 2e, e muitos pacotes colaborativos de macro do LaTeX, estão escritos em um estilo letrado de programação, com fonte e documentação no mesmo arquivo. Este formato, de fato, se originou antes dos dias do projeto LaTeX como uma das séries de pacotes “Mainz”. Um arquivo de fonte documentada convencionalmente tem o sufixo dtx, e normalmente será ‘despido’ antes do uso com o LaTeX; um arquivo (ins) de instalação normalmente é fornecido para automatizar esse processo de remoção de comentários para melhorar a velocidade de carregamento. Se o arquivo ins estiver disponível, você pode processa lo com o LaTeX para produzir o pacote (e, muitas vezes, arquivos auxiliares).

A saída deve se parecer com algo como:

Generating file(s) ./foo.sty 

Processing file foo.dtx (package) -> foo.sty
File foo.dtx ended by \endinput.
Lines  processed: 2336
Comments removed: 1336
Comments  passed: 2
Codelines passed: 972
As linhas “Processing … ended by \endinput” podem ser repetido se o dtx fornecer mais de um arquivo ‘descompactado’.

Para ler os comentários “como um documento”, você pode executar o LaTeX no arquivo dtx para produzir uma versão bem formatada do código documentado. (A maioria dos pacotes de LaTeX no CTAN, hoje em dia, já possuem o PDF do resultado do processamento do arquivo dtx, como “documentação”.)

Vários pacotes podem ser incluídos em um arquivo dtx, com seções condicionais, e existem facilidades para índices de macros etc. Toda essa melange é organizada por diretrizes do arquivo ins; podem ser necessários utilitários de indexação convencionais para saída “completa”.

Qualquer um pode escrever dtx; o formato é explicado no The LaTeX Companion, e um tutorial está disponível no CTAN (que vem com esqueletos de arquivos dtx e ins files).

A composição de arquivos dtx é suportada no emacs pelo AUC-TeX.

O script (baseado em Unix) dtxgen gera um arquivo dtx, básico proforma, o que pode ser útil ao iniciar um novo projeto.

Outra rota para um arquivo dtx é escrever a documentação e o código separadamente, e depois combiná-los usando o sistema makedtx. Esta técnica tem valor particular em que o arquivo de documentação pode ser usado separadamente para gerar saída HTML; muitas vezes é bem difícil fazer com que as ferramentas de conversão de LaTeX para HTML lidem com arquivos dtx, pois eles usam um arquivo de classe incomum.

O sistema sty2dtx vai um passo adiante: ele tenta criar um arquivo dtx de um arquivo sty com comentários. Funciona bem em algumas circunstâncias, mas pode confundir-se com comentários que têm aspirações a “estrutura” (por exemplo, material tabular, como em muitos cabeçalhos de arquivos de pacotes mais antigos).

Os arquivos dtx não são utilizados pelo LaTeX depois de terem sido processados para produzir arquivos sty ou cls (ou quaisquer que sejam). Eles não precisam ser mantidos com o sistema de trabalho; no entanto, para muitos pacotes, o arquivo dtx é a principal fonte de documentação e, então, você pode querer manter os arquivos dtx em outro lugar.

Uma linha paralela interessante relacionada aos arquivos dtx é o pacote docmfp, que amplia o modelo do pacote doc para MetaFont e MetaPost, permitindo assim a distribuição documentada de pacotes contendo código para MetaFont e MetaPost, juntamente com o código LaTeX relacionado.

AUC-TeX
auctex
clsguide.pdf
clsguide
docmfp.sty
docmfp
docstrip.tex
Part of the LaTeX distribution
DTX tutorial
dtxtut
dtxgen
dtxgen
makedtx
makedtx
sty2dtx
sty2dtx

This answer last edited: 2014-06-03


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