TeX systems have changed a lot since then, and most modern systems use
a standard called TDS ("TeX Directory Structure") to specify how
TeX-files should be arranged on disc. The TDS is pretty
straightforward once you've read it, and it will give good a usable
answer, about where to put a new file, every time. However, not many
people _want_ to read it, and as a result TeX forums are forever being
asked how to get TeX to find new files. (I keep rewriting the text in
the UK FAQ, in this area, too -- see
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=installthings
which doesn't yet mention these installation files.)
The TDS is a simple structure, and almost all files can be installed
simply by putting them in the "right" place, and updating a single
index. The CTAN network is therefore starting to hold "TDS ZIP"
files, which have a built-in directory structure that matches the TDS.
These things have to be built, of course, and we're expecting that
package writers will supply them for us. This puts an extra burden on
the writer; however, it should make the package user much happier,
which in turn must help keep the TeX community lively and active.
Nitty gritty details (users):
Users can see whether a TDS file is available, when they view the
catalogue entry for the package they propose to download. A user
should download that file, and unpack it in a TDS directory to which
she has access, and then generate a file index for the TDS directory
tree.
The TDS directory on Unix-like systems will typically be the local
tree, or the user's tree
~<userid>/texmf
Users of MiKTeX systems should not ordinarily need the TDS files; the
management of updates for MiKTeX is very efficient indeed, and it is
seldom as much as a week between a (free) package appearing, and there
being a new (version of a) MiKTeX package being available.
However, in extremis, the user of a MiKTeX system see which trees are
available using the MiKTeX Options app, "Roots" tab; see
http://docs.miktex.org/manual/localadditions.html
for details.
The user may generate an index using texhash under unix-like
systems. On an MiKTeX system, use the "Refresh FNDB" button on the
MiKTeX Options app "General" tab.
Nitty gritty details (developers):
Package writers should refer to the web page
http://www.ctan.org/tds-guidelines.html
for details of the file structure we assume. Note that the ZIP file
does _not_ contain the texmf/ directory itself; it is made "at the
texmf/ level".
Robin Fairbairns
For the CTAN team
Does that mean that in addition to including foo.ins and foo.dtx in an
upload we package writers should also include a foo.tds.zip containing,
e.g., texmf/tex/latex/foo/foo.sty?
-- Scott
Only if you want to; Robin's link has an example
(<http://www.ctan.org/tds-guidelines.html>):
> Authors who do not wish to experiment should continue what they are
> doing. We ask that authors wishing to try TDS packaging do this.
> • As usual, upload a .zip or a .tar.gz bundle of your material. Lay
> the material out in the traditional way.
> • In the top level of your bundle place the file <pkg id>.tds.zip that
> contains the TDS packaging of your materials. We will not install this
> in the regular browsing tree but instead will put it below the install/
> subtree.
>
> Example
> For instance, an author may send us xxx.zip with this layout.
>
> xxx.zip:
> xxx.tds.zip
> +--xxx/
> +--README
> +--xxx.ins
> +--xxx.dtx
> +--xxx.pdf
Hope this helps,
Will
But it is still not clear whether `xxx.tds.zip' should include the TDS
compliant directory tree with or without the style/class/documentation
files at their final destination.
Alexander
> On 24 Apr., 04:58, Will Robertson <wsp...@gmail.com> wrote:
>> For instance, an author may send us xxx.zip with this layout.
>> xxx.zip:
>> xxx.tds.zip
>> +--xxx/
>> +--README
>> +--xxx.ins
>> +--xxx.dtx
>> +--xxx.pdf
>
>
> But it is still not clear whether `xxx.tds.zip' should include the TDS
> compliant directory tree with or without the style/class/documentation
> files at their final destination.
*With* the files, because the tds.zip file should just be unzipped by
the user into the local/user texmf tree without bothering where they
have to go.
Regards,
Dominik.-
--
UK-TeX-FAQ: http://www.tex.ac.uk/cgi-bin/texfaq2html
minimal example: http://www.minimalbeispiel.de/mini-en.html
biblatex styles: http://biblatex.dominik-wassenhoven.de/index-en.shtml
that's the idea. (remember, i said somewhere that it involves extra
work for the author...)
fwiw, i don't find it too bad -- i did a couple before i announced,
and i did another today ... simply because i wanted a package of mine
that's not in the distribution on my machine.
we're thinking about uploading mechanisms; the catalogue pointers are
in place already.
--
Robin Fairbairns, Cambridge