Finding files in the CTAN archives

To find software at a CTAN site, you can use anonymous ftp to the host with the command 'quote site index <term>', or the searching script at http://www.dante.de/cgi-bin/ctan-index

To get the best use out of the ftp facility you should remember that <term> is a Regular Expression and not a fixed string, and also that many files are distributed in source form with an extension different to the final file. (For example LaTeX packages are often distributed sources with extension dtx rather than as package files with extension sty.)

One should make the regular expresion general enough to find the file you are looking for, but not too general, as the ftp interface will only return the first 20 lines that match your request.

The following examples illustrate these points. To search for the LaTeX package 'caption', you might use the command:

  quote site index caption.sty
but it will fail to find the desired package (which is distributed as caption.dtx) and does return unwanted 'hits' (such as hangcaption.sty). Also, although this example does not show it the '.' in 'caption.sty' is used as the regular expression that matches any character. So
  quote site index doc.sty
matches such unwanted files as language/swedish/slatex/doc2sty/makefile

Of course if you know the package is stored as .dtx you can search for that name, but in general you may not know the extension used on the archive. The solution is to add '/' to the front of the package name and '
.
to the end. This will then search for a file name that consists solely of the package name between the directory separator and the extension. The two commands:

  quote site index /caption\\.
  quote site index /doc\\.
do narrow the search down sufficiently. (In the case of doc, a few extra files are found, but the list returned is sufficiently small to be easily inspected.)

If the search string is too wide and too many files would match, the list will be truncated to the first 20 items found. Using some knowledge of the CTAN directory tree you can usually narrow the search sufficiently. As an example suppose you wanted to find a copy of the dvips driver for MSDOS. You might use the command:

  quote site index dvips
but the result would be a truncated list, not including the file you want. (If this list were not truncated 412 items would be returned!) However we can restrict the search to MSDOS related drivers as follows.
  quote site index msdos.*dvips
Which just returns relevant lines such as systems/msdos/dviware/dvips/dvips5528.zip

A basic introduction to searching with regular expressions is:

For technical reasons in the quote site index command, you need to 'double' any \ hence the string /caption\\. in the above example. The quote site command ignores the case of letters. Searching for caption or CAPTION would produce the same result.