Como escrever um pacote LaTeX que agrupe não apenas arquivos .sty e .cls, mas também alguns logotipos nos formatos .pdf ou .eps?

Como escrever um pacote LaTeX que agrupe não apenas arquivos .sty e .cls, mas também alguns logotipos nos formatos .pdf ou .eps?

Eu gostaria de criar um pacote LaTeX com os seguintes subdiretórios:

  • tex/latex/common(um .texarquivo comum compartilhado entre beameruma carta)
  • tex/latex/resources(muitos arquivos pdf e eps com recursos gráficos)
  • tex/latex/mybeamer(um tema de projetor personalizado com 5 .styarquivos)
  • tex/latex/myletter(um .clsarquivo para um modelo de carta)

Eu gostaria de empacotar esses arquivos em um único pacote LaTeX que os usuários pudessem instalar de maneira fácil. Eu li sobre os arquivos .inse .dtxe posso ver como compactar o .sty e .clsos arquivos, mas e os gráficos extras - a pasta de recursos que contém vários PDFs e .epsarquivos?

Responder1

Estrutura TDS

Supondo que seu pacote LaTeX seja chamado foobar. Então, de acordo com TDS (Uma estrutura de diretório para arquivos TeX) os arquivos ficariam abaixo dos seguintes diretórios:

  • TDS:tex/latex/foobar/(para arquivos TeX: .tex, .sty, imagens)
  • TDS:doc/latex/foobar/ (para arquivos de documentação)
  • TDS:source/latex/foobar/(para arquivos de origem .dtx, .ins)

Outros subdiretórios dependem de você. Eu os evitaria se houvesse apenas poucos arquivos. Se houver muitos arquivos, níveis adicionais de diretório poderão ajudar a organizar os arquivos.

Exemplo:

  • TDS:doc/latex/foobar/foobar.pdf
  • TDS:source/latex/foobar/foobar.dtx
  • TDS:source/latex/foobar/foobar.ins
  • Outros arquivos de origem que não são fornecidos no .dtxarquivo podem ser fornecidos em:
    TDS:source/latex/foobar/ou
    TDS:source/latex/foobar/resources/
  • TDS:tex/latex/foobar/foobar.cls
  • TDS:tex/latex/foobar/foobar-common.sty(O arquivo TeX para a classe de letras e modelos de beamer)
  • TDS:tex/latex/foobar/<foobar beamer file 1>,
    TDS:tex/latex/foobar/<foobar beamer file 2>,
    ...,
    TDS:tex/latex/foobar/<foobar beamer file 5>
  • TDS:tex/latex/foobar/resources/<.eps/.pdf image files>

Se você fornecer um READMEarquivo adicional, eu usaria exatamente esse nome (convenção AFAIK CTAN) e o colocaria na subárvore docou source, dependendo do conteúdo do arquivo.

Formulário de distribuição

Para a distribuição eu colocaria esses arquivos incluindo a estrutura de diretórios em um .ziparquivo foobar.tds.zip(sem o TDS:/ temxfroot). Então a instalação é bastante fácil para o usuário, que pode instalar facilmente descompactando. Exemplo de instalação para árvore inicial padrão no Linux/TeX Live:

$ unzip foobar.tds.zip -d ~/texmf/

Caso o pacote esteja instalado em uma texmfárvore local de todo o sistema, o banco de dados de nomes de arquivos precisa ser atualizado (na raiz):

$ texhash

ou

$ mktexlsr

CTAN

Uma sugestão para o formulário CTAN, caso queira disponibilizá-lo lá:

  • CTAN:macros/latex/foobar/foobar.dtx
  • CTAN:macros/latex/foobar/foobar.ins
  • CTAN:macros/latex/foobar/foobar.pdf(documentação)
  • ( CTAN:macros/latex/foobar/README)
  • CTAN:macros/latex/foobar/resources.zip(ou descompactado no diretório resources/)
  • CTAN:install/macros/latex/foobar.tds.zip

Responder2

Na Estrutura de Diretórios TeX (TDS), os nomes dos diretórios abaixo tex/latexsão um recurso global compartilhado, então você não precisa pegar muitos e escolher nomes que sejam exclusivos para o seu pacote. Portanto, tex/latex/resourcese tex/latex/commonnão seriam bons nomes (e suspeito que não seriam aceitos se você tentasse incluir o pacote em uma distribuição como texlive).

beamere letterambos compartilham o mesmo caminho de entrada para arquivos tex, portanto não há necessidade de separar seus arquivos beamer e letter.

Responder3

Aqui está oEstrutura de diretório TeXcaminho. Escolha um nome para o seu pacote.

  • Coloque arquivos TeX que possam ser usados ​​em qualquer formato emtex/generic/bundlename
  • Coloque arquivos LaTeX como classes e pacotestex/latex/bundlename
  • Coloque recursos gráficos emtex/generic/images/bundlename
  • Coloque a documentaçãodoc/latex/bundlename
  • Coloque as fontes docstrip emsource/latex/bundlename

Você verá muitos deles em uso se olhar dentro, por exemplo, da pgfdistribuição. Então o processo de instalação é apenas para cp -Ros diretórios em uma texmfárvore.

informação relacionada