### Finding (La)TeX files

Modern TeX distributions contain a huge array of support files of various sorts, but sooner or later most people need to find something that's not in their present system (if nothing else, because they've heard that something has been updated).

But how to find the files?

Some sources, such as these FAQ answers, provide links to files: so if you've learnt about a package here, you should be able to retrieve it without too much fuss.

Otherwise, the CTAN sites provide searching facilities, via the web. The simplest search, locating files by name, is to be found on the Dante CTAN at http://www.dante.de/cgi-bin/ctan-index; the script returns the same data as does `quote site index`, but not truncated and arranged very neatly as a series of links to directories and individual files.

The UK and USA CTANs offer a search page that provides

- a file-name search similar to the Dante machine's (above);
- a keyword search of the archive catalogue (see below): this is a pretty powerful tool: the results include links to the catalogue "short descriptions", so you can assure yourself that the package you've found is the one you want; and
- a search form that allows you to use Google to search CTAN.

In fact, Google, and other search engines, can be useful tools. Enter your search keywords, and you may pick up a package that the author hasn't bothered to submit to CTAN. If you're using Google, you can restrict your search to CTAN by entering

> `site:ctan.org tex-archive <search term(s)>`

in Google's "search box". You can also enforce the restriction using Google's "advanced search" mechanism; other search engines (presumably) have similar facilities.

Many people avoid the need to go over the network at all, for their searches, by downloading the file list that Dante's "`quote site index`" command uses. This file, FILES.byname, presents a unified listing of the archive (omitting directory names and cross-links). Its companion FILES.last07days is also useful, to keep an eye on the changes on the archive. Since these files are updated only once a day, a nightly automatic download (perhaps using rsync) makes good sense.

`FILES.byname`
  FILES.byname
`FILES.last07days`
  FILES.last07days

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findfiles