blob: 31a39990023d81fa5c068b38896ac0ca9d0357cb [file] [log] [blame]
Python main documentation -- in LaTeX
-------------------------------------
This directory contains the LaTeX sources to the Python documentation
and a published article about Python.
The Python Reference Manual is no longer maintained in LaTeX. It is
now a FrameMaker document. The FrameMaker 5.0 files (ref.book,
ref*.doc) as well as PostScript generated (ref.ps) from it are in the
subdirectory ref/. (See ftp://ftp.adobe.com/pub/adobe/framereader for
a free reader for FrameMaker documents, for some platforms.)
If you don't have LaTeX, you can ftp a tar file containing PostScript
of the 3 main documents. It should be in the same place where you
fetched the main Python distribution, in a file named
"pythondoc-ps<version>.tar.gz". (See "../Misc/FAQ" for more
information about ftp-ing Python files.)
The following are the LaTeX source files:
tut.tex The tutorial
lib.tex, lib*.tex The library reference
ext.tex How to extend Python
qua.tex, quabib.bib Article published in CWI Quarterly
All except qua.tex (which isn't built by the default target) use the
style option file "myformat.sty". This contains some macro
definitions and sets some style parameters.
You need the makeindex utility to produce the index for lib.tex; you
need bibtex to produce the references list for qua.tex.
There's a Makefile to call LaTeX and the other utilities in the right
order and the right number of times. This will produce DVI files for
each document made; to preview them, use xdvi. PostScript is produced
by the same Makefile target that produces the DVI files. This uses
the dvips tool. Printing depends on local conventions; at my site, I
use lp. For example:
make lib # create lib.dvi and lib.ps
xdvi lib # preview lib.dvi
lp lib.ps # print on default printer
Making HTML files
-----------------
The Tutorial and Extensions manual can be converted to HTML using
Nikos Drakos' LaTeX2HTML converter. See the Makefile; after some
twiddling, "make l2h" should do the trick.
The Library manual doesn't work well with LaTeX2HTML; instead, there's
a Python script texi2html.py in this directory that can be run on the
texinfo generated as an intermediate step for generating the INFO
files as described in the next section. The command "make libwww"
should do this.
Making the INFO version of the Library Reference
------------------------------------------------
The Library Reference can also be read in hypertext form using the
Emacs INFO system. This uses Texinfo format as an intermediate step.
It requires texinfo version 2 (we have used 2.14).
To build the info files (python-lib.info*), say "make lib.info". This
takes a while, even on a machine with a 100 MHz clock and 64 Mbytes of
RAM :-). Please ignore the output, which appears like error messages
but really is debugging output only.
You may have to change a site dependency in fix.el: if texinfo 2.xx
isn't installed by default at your site, you'll have to install it
(use archie to locate a version and ftp to fetch it). If you can't
install it in the standard Emacs load path, uncomment the line
containing a "(setq load-path ...)" statement, and fill in the path
where you put it.
The files used by the conversion process are:
partparse.py Python script that converts LaTeX sources to
texi files.
texi{pre,post}.dat Files placed before and after the result.
fix.el Elisp file executed by Emacs. Two calls to
'texinfo-all-menus-update are necessary in
some cases.
fix_hack Shell script to fix the results of the
"underscore hack". {\ptt \char'137} is
back-translated to a simple underscore. This
is needed for the texindex program.
whichlibs Shell script to print a list of lib*.tex files
to be processed.
Thanks for Jan-Hein B\"uhrman for writing and debugging the convertor
and related scripts, and for fixing the LaTeX sources and writing new
macros for myformat.sty! More thanks to Dave Ascher for adapting
myformat.sty to the new LaTeX release, to Fred Drake for revamping the
partparse.py and texi2html.py scripts, to the many anonymous authors
of library manual sections and corrections (too many to mention).
Many thanks to Robin Friedrich for the conversion of the Reference
Manual to FrameMaker and his work on its index.