[tex-live] Re: tex *live* packages [was: .. acronym package missing doc]

Itay Furman itayf at fhcrc.org
Wed Feb 11 19:51:47 CET 2004


On Wed, 11 Feb 2004, Sebastian Rahtz wrote:

> 
> 
> Staszek Wawrykiewicz wrote:
> 
> > Since there are no strict guidelines how to distribute/prepare
> > a package (and so many are rather old, not maintained, but still
> > usable, who knows?), I prepared my own draft notes how we can proceed.
> > 
> > 1. the simplest contents of the package: 
> > README (or similar readme.txt, etc.) -> doc/<format>/<pkgname>/
> > .sty (.tex) -> tex/<format>/<pkgname>/
> thats ok
> 
> > When macros are of general purpose, they should be put in 
> > tex/generic/.../
> 
> and how do you tell they are general purpose?
> 
> > 1a) If the main contents of the package is font or mp stuff,
> >     the documentation goes to doc/font/... or doc/metapost/...
> >     *even* when accompanied with latex's .sty files (which goes
> >     to tex/latex/...
> you'd have to quantify "main contents", and provide an 
> algorithm for calculating it...
> 
> > 1b) all input files (and graphics) for the documentation and/or examples
> >     should go to doc/.../...
> if one can determine what they are
> 
> > 2. the package consists of .dtx, .ins (and README):
> >    such stuff goes to source/.../<pkgname>/
> >    but needs preparation for beeing "live":
> >    .sty, .def, .fd -> tex/latex/.../
> >    .tex examples -> doc/.../
> 
> thats what I do OK at the moment. unless there multiple .ins 
> files, of course.
>

Or more than 'latex file.ins' is required, for example, in 
acronym.ins:

[snip]

\Msg{* To produce the documentation run the file `acronym.dtx'}
\Msg{* through LaTeX.}

[snip]

Of course, I  know nothing about the internals of the production 
of texlive, and my experience is limited to latex. So what I 
propose here might, in fact, be exactly what is done right now; 
or, worthless for any other reason...

Anyway:

The information to produce all package files is embedded in those 
files, sometimes in explicit statements from the contributors as 
in the above example; sometimes implicitly.

One may try the following approach:
1) Extract instructions for producing package files (beyond 
   the 'latex file.ins') from
	readme, README, FILE.ins, FILE.dtx, ...
2) If	none is found
   	or
   If	failed to produce package files according to 1)
   then
   	use current approach

As I see it, the advantage here is that, the extraction engine, 
1) can be built and improved _incrementally_ as more ways in 
which contributors embed instructions are 'discovered' and 
successfully handled by the engine.

If, in addition, submissions to CTAN in the future are going to 
be standardized, then adapting 1) accordingly should be feasible.

In addition, record the way each package was handled in some sort 
of DB to use in following years to speed-up/double-check the 
migration procedure. (Is this what tpm2 for?)


> > 2a) If README (or similar file) contains full description
> >     --> doc/.../
> > 2b) If README (or similar file) contains *only* what to do with .dtx
> >     -- can be left in source/.../
> 
> um, that implies _reading_ the README. sorry, no time for that/
>

The same approach as above might work here, too?
Ambiguous cases handled by symlinking to doc/.../?

> ...
> > 3. Any extra files for pre/postprocessing, etc., not related to the
> >    direct usage and reading/preparing the documentation, should be left
> >    in the source/ area.
> thats my fallback
> 
> > Typical mistakes when using any automata (just to show):
> > a) metaobj as latex package (evident metapost stuff)
> > b) metatex as latex package (plain tex macros)
> 
> my default is latex unless its overridden.
> 
> this is all of course the point of tpm2, to provide all this 
> metadata in a single place.
> 
> 



More information about the tex-live mailing list