Package Distribution

As noted earlier, the goals of an archive and the goals of a working TeX system are sometimes in conflict. We encourage package authors to consider how their packages fit into a working TDS system and to document (or, preferably, automate) how the files should be moved from the archive structure into the TDS structure.

For example, a package for Martian language typesetting that works with Plain TeX and LaTeX might be distributed as the following:

martian-1.0/README
martian-1.0/doc/martdoc.tex
martian-1.0/doc/example.tex
martian-1.0/hyphen/marthyph.tex
martian-1.0/plain/martian.tex
martian-1.0/latex/martian.sty
martian-1.0/latex/OT1mart.fd
martian-1.0/fonts/martian.mf
martian-1.0/fonts/mart10.mf
martian-1.0/fonts/mart10.tfm

Documentation accompanying the distribution should describe how to construct the corresponding TDS structure:

texmf/doc/latex/martian/README
texmf/doc/latex/martian/martdoc.tex
texmf/doc/latex/martian/example.tex
texmf/doc/plain/martian/README
texmf/tex/generic/hyphen/marthyph.tex
texmf/tex/plain/martian/martian.tex
texmf/tex/latex/martian/martian.sty
texmf/tex/latex/martian/OT1mart.fd
texmf/fonts/source/public/martian/martian.mf
texmf/fonts/source/public/martian/mart10.mf
texmf/fonts/tfm/public/martian/mart10.tfm

Note that the main documentation is stored in the latex section of the documentation tree, but a README file also occurs in the plain section---presumably to point users to the latex files.