# Where do I get a list of all possible texdoc's?

An easy way out would be to just `texdoc` the package name, but almost everyone knows that this does not apply to all packages. Some examples:

• I didn't know there was a `usrguide`
• There is an `lshort.pdf` but I cannot `texdoc lshort`
• `tikz` is frequently mentioned in the TeX community but I need to `texdoc pgfmanual`

Where do I get a list (and descriptions, and possibly a search function) of all possible `texdoc`'s in my installation? Yes, there is the MiKTeX Package Manager and the MacTeX TeX Live Utility, but as I've said, the package name or the PDF filename isn't necessarily the `texdoc` name.

-
`texdoc tikz` and `texdoc lshort` do work (at least in TeX Live 2010). – Caramdir Oct 21 '10 at 0:24
See `texdoc texdoc` for documentation on `texdoc` itself – Kit Dec 31 '10 at 2:51
type `texdoctk` at commandline/terminal to get `TeX documentation browser` on TeXLive distro to search by keyword – texenthusiast Apr 9 '13 at 12:35

First of all, it must be noticed that `texdoc` is not the same under TeX live and MikTeX. Under MikTeX, the real command for searching documentation is `mthelp` which has a different behaviour and different options. The following comments are about TeX Live's version of `texdoc`.

The simple form `texdoc <filename>` should always find .pdf if it exists. Additionally, starting with version 0.70 (first available in TL2009 updates), the new form `texdoc <tlpkgname>` finds all documentation in the TeX Live package named (which is usually the same as the CTAN name, but not always) and `texdoc <ltxpkgname>` finds all documentation in the TeX Live package containing `<ltxpkgname>.sty` or `<ltxpkgname>.cls` if one of them exists. Obviously, if the argument to texdoc is both a TeX Live package name, a LaTeX package name, and the name of a pdf file, all results are returned. By the way, remember to use `texdoc -l` as Caramdir commented if you want to see all results and not just the first one.

This should answer your preamble "An easy way out would be to just texdoc the package name, but almost everyone knows that this does not apply to all packages.": now it does apply to all packages, at least for recent TeX Live.

For the actual question (list of all documentation files in your installation) here are two partial answers (partial in that they may list documentation that is not actually present in your local installation):

1. TeX Live ships a list of all (html and pdf) documentation files sorted by TeX Live package (or bundle) in `doc.html` at the root of your installation (typically `/usr/local/texlive/2010/doc.html`);
2. The by topic page of the TeX Catalogue Online is probably much more usable than a long flat list. For example, usrguide is mentioned under "Reference and Manuals -> LaTeX Documentation by the LaTeX3 Project".
-

I usually google the package name before trying `texdoc`. It's more forgiving.

-

`kpsewhich -var-value TEXDOCS` gives a list of all of the places texdoc will search for pdfs.

You can get a list of all of the pdfs doing something like this.

``````for i in \$(find \$(kpsewhich -var-value TEXDOCS|sed -e 's/[{}!]//g;s/,/ /g') -name '*.pdf' 2>/dev/null); do basename \$i;done|sort|uniq
``````

It's a bit slow to sort. Or you can remove the for loop altogether and just use the find command to print out the entire path for each file.

-

Usually you get the manual by writing `texdoc <pkg>` where `<pkg>` is the CTAN name. So if you're interested in LaTeX packages, a good start would be the output of

``````ls `kpsewhich --var-value=TEXMFDIST`/doc/latex
``````

Not sure how useful it will be for you though — on my TeX Live 2010 system that produces 1255 unique names; certainly too many to trawl through!

-

If your distribution is MiKTeX you can use `mthelp <package>`. That will list all the installed documentation for `<package>`. For example `mthelp pgf` will list pgfmanual.pdf as one of the documents coming with the pgf bundle.

Otherwise you will need to browse the doc branch of your texmf directory or search CTAN for information.

-
For TeX Live, one can use `texdoc -l pgf`. – Caramdir Oct 21 '10 at 0:25
I have just installed `lshort-english` through the MiKTeX Package Manager. I have tried all combinations of `texdoc`, the `-l` option, and `lshort` or even `lshort-english`. It still won't give me the documentation. Well, `lshort` can be googled easily, I'm just using it as an example. Is there something wrong with my installation? – Kit Oct 28 '10 at 0:19
Try `mpm --print-package-info=lshort-english` – Martin Heller Oct 28 '10 at 3:21