How can I make texdoc find certain documentation?

(This is a question in relation to something brought up in chat, http://chat.stackexchange.com/transcript/41?m=1918860#1918860.)

I'm using TeX Live 2009 in Ubuntu 11.04 and neither texdoc pgf nor texdoc tikz opens the TikZ/PGF manual. Is there a way to make it so that texdoc finds the manual?

locate pgfmanual.pdf returns:

/usr/share/doc/texmf/pgf/pgfmanual.pdf.gz

texdoc -l pgf returns:

1 /usr/share/texmf/doc/pgf/pgfmanual.pdf.gz
2 /usr/share/texmf-texlive/doc/latex/pgf-soroban/pgf-soroban-doc.pdf
-
Sneaky small font! –  Loop Space Sep 14 '11 at 11:31
In the default configuration file (texdoc.cnf) it is shown how to cope with compressed files. –  egreg Sep 14 '11 at 12:06
What does texdoc -l pgf show? I have pgfmanual.pdf as entry 1 (of 20) with a full TL2011. Do you have a full installation (i.e. scheme 'full')? –  Joseph Wright Sep 14 '11 at 12:07
@joseph TL still only have TL 2009. @NN I usually recommend installing the offcial TL as well as the Ubuntu one (one just have to make sure that the official TL comes first in the PATH). Then (1) one has an updated LaTeX installation (the best IMO), (2) you can update it yourself using tlmgr, Ubuntu removes tlmgr and (3) because we still have TL2009 installed, dependencies for editors like Kile are still fulfilled. –  daleif Sep 14 '11 at 12:33
@delaif: I fully agree. Also the dependency to Kile is just added by the Ubuntu (or the underlying Debian) package management. I don't think there is any binary dependency between Kile and LaTeX. I would say you can use Kile also without any LaTeX installed as long as you don't try to compile anything, of course. –  Martin Scharrer Sep 14 '11 at 12:41

Put the following into your texdoc.cnf file (e.g. under ~/texmf/texdoc/texdoc.cnf) to automatically unzip the .pdf.gz files:

zipext_list = gz
unzip_gz    = gzip -d -c

This is described (as egreg already pointed out) in the default texdoc.cnf file (/usr/local/texlive/2011/texmf-dist/texdoc/texdoc.cnf in my case).

-
I have put the two lines you mention in ~/texmf/texdoc/texdoc.cnf and it still doesn't work. The output I get from texdoc -f includes (*) active /home/nn/texmf/texdoc/texdoc.cnf. –  N.N. Sep 14 '11 at 18:39
Sorry to hear that. I can't recreate the issue with my TeXLive 2011 installation. Maybe your version needs different settings, see the main config file, maybe it can help you. You could uncompress the PDF to your ~/texmf/doc/latex/pgf/ directory as a workaround. –  Martin Scharrer Sep 14 '11 at 19:05

As egreg suggested in a comment the information on how to deal with compressed documentation is found in the texdoc.cnf file. Here's how I get it working:

1. First I had to find the file.

\$ locate texdoc.cnf

2. In it I found the following:

# If you want to enable support for zipped documentation (see comments in
# texdoc.tlu), you may want to adapt viewer_* so that it starts a subshell:
#
# viewer_pdf = (xpdf %s) &
#
# Otherwise, the & will have no effect since the viewing command is followed by
# some cleanup-commands for temporary files. For the same reason, %s must be the
# last thing on your command line: (xpdf %s -option) will not work.

3. Since I don't have xpdf installed and I want robust solution I chose to let see choose an appropriate viewer. Thus I added the following line to ~/texmf/texdoc/texdoc.cnf (which was empty to I had create it):

viewer_pdf = (see %s) &

4. Tried the following successfully:

\$ texdoc pgf

-

As Evince can open pdf.gz file, I just created a texmf.cnf file in \$HOME/texmf/texdoc containing this line:

viewer_pdf = (evince %s) &

and the command texdoc pgf worked(on ubuntu 13.04). Hope that's help.

-

Just to add another solution: For me, it only worked once I combined @MartinScharrer's and @Ben's approach

zipext_list = gz
unzip_gz    = gzip -d -c
viewer_pdf = (evince %s) &

I'm using the Texlive backport on Ubuntu 12.04, if that makes any difference.

-