Eu gostaria de criar um pacote LaTeX com os seguintes subdiretórios:
tex/latex/common
(um.tex
arquivo comum compartilhado entrebeamer
uma carta)tex/latex/resources
(muitos arquivos pdf e eps com recursos gráficos)tex/latex/mybeamer
(um tema de projetor personalizado com 5.sty
arquivos)tex/latex/myletter
(um.cls
arquivo 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 .ins
e .dtx
e posso ver como compactar o .sty e .cls
os arquivos, mas e os gráficos extras - a pasta de recursos que contém vários PDFs e .eps
arquivos?
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
.dtx
arquivo 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 README
arquivo adicional, eu usaria exatamente esse nome (convenção AFAIK CTAN) e o colocaria na subárvore doc
ou 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 .zip
arquivo foobar.tds.zip
(sem o TDS:
/ temxf
root). 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órioresources/
)CTAN:install/macros/latex/foobar.tds.zip
Responder2
Na Estrutura de Diretórios TeX (TDS), os nomes dos diretórios abaixo tex/latex
sã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/resources
e tex/latex/common
não seriam bons nomes (e suspeito que não seriam aceitos se você tentasse incluir o pacote em uma distribuição como texlive).
beamer
e letter
ambos 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 em
tex/generic/bundlename
- Coloque arquivos LaTeX como classes e pacotes
tex/latex/bundlename
- Coloque recursos gráficos em
tex/generic/images/bundlename
- Coloque a documentação
doc/latex/bundlename
- Coloque as fontes docstrip em
source/latex/bundlename
Você verá muitos deles em uso se olhar dentro, por exemplo, da pgf
distribuição. Então o processo de instalação é apenas para cp -R
os diretórios em uma texmf
árvore.