Python main documentation -- in LaTeX ------------------------------------- This directory contains the LaTeX sources to the Python documentation. They now require LaTeX2e (LaTeX 2.09 compatibility is dropped). 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 for a free reader for FrameMaker documents, for some platforms.) Many thanks to Robin Friedrich for the conversion of the Reference Manual to FrameMaker and his work on its index. If you don't have LaTeX, or if you'd rather not format the documentation yourself, you can ftp a tar file containing HTML, PDF, or PostScript versions of all documents. Additional formats may be available. These should be in the same place where you fetched the main Python distribution (try or ). The following are the LaTeX source files: tut.tex The tutorial lib.tex, lib*.tex The library reference ext.tex How to extend Python api.tex Reference for the Python/C API All use the "manual" document class and "python" package, derived from the old "myformat.sty" style file. These contains many macro definitions useful in documenting Python, and set some style parameters. 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 our site, we use lpr. For example: make lib # create lib.dvi and lib.ps xdvi lib # preview lib.dvi lpr lib.ps # print on default printer What if I find a bug? --------------------- First, check that the bug is present in the online version of the documentation at ; we may have already fixed it. If we haven't, tell us about it. We'd like the documentation to be complete and accurate, but have limited time. If you discover any inconsistencies between the documentation and implementation, or just have suggestions as to how to improve the documentation, let is know! Send comments and patches to the Python Documentation Team: python-docs@python.org Thanks! What tools do I need? --------------------- You need to install Python; some of the scripts used to produce the documentation are written in Python. The simplest way to get the rest of the tools in the configuration we used is to install the teTeX TeX distribution, version 0.9. More information is available on teTeX at . This is a UNIX-only TeX distribution at this time. Note that the 0.9 release is still in testing; this documentation release was tested with the 18 Mar 1998 release. We'll be upgrading to the final version when it becomes available. If you don't want to get teTeX, or if you're not using UNIX, here is what you'll need: To create DVI, PDF, or PostScript files: - LaTeX2e, 1995/12/01 or newer. Older versions are likely to choke. - makeindex. This is used to produce the indexes for the library reference and Python/C API reference. To create PDF files: - pdflatex. We used the one in the teTeX 0.9 distribution (version 0.12f at the time of this writing). Versions even a couple of patchlevels different are highly likely to fail due to syntax changes for some of the pdftex primitives. To create PostScript files: - dvips. Most TeX installations include this. If you don't have one, check CTAN (). To create info files: (Note that info is not currently supported. If you need it, please fix or replace tools/partparse.py and send the new version to python-docs@python.org. We'll be glad to provide free copies of the info files to anyone who can support the process. ;-) - makeinfo. This is available from any GNU mirror. - emacs or xemacs. Emacs is available from the same place as makeinfo, and xemacs is available from ftp.xemacs.org. To create HTML files: - Perl 5.004_04 or newer. Find the software at . - LaTeX2HTML 98.1p1, or newer. Releases are available at . What if Times fonts are not available? -------------------------------------- As distributed, the LaTeX documents use PostScript Times fonts. This is done since they are much better looking and produce smaller PostScript files. If, however, your TeX installation does not support them, they may be easily disabled. Edit the file texiinputs/manual.cls and comment out the line that starts "\RequirePackage{times}" using a "%" character at the beginning of the line. An alternative is to install the right fonts and LaTeX style file. What if I want to use A4 paper? ------------------------------- Edit the file texinputs/manual.cls. Change the line that reads: \LoadClass[twoside,openright]{report} to say: \LoadClass[a4paper,twoside,openright]{report} Now do a "make clean all" to generate PostScript files. Making HTML files ----------------- The LaTeX documents can be converted to HTML using Nikos Drakos' LaTeX2HTML converter. See the Makefile; after some twiddling, "make l2h" should do the trick. For the reference manual, we use Harlequin's webmaker. We're not very happy with it and hope that eventually FrameMaker will be able to produce HTML without third party help. What else is in here? --------------------- There is a new LaTeX document class called "howto". This is used for the new series of Python HOWTO documents which is being coordinated by Andrew Kuchling . The file howto.tex is a commented template which may be used an example. A script to "do the right thing" to format a howto document is included as tools/mkhowto.sh. Support for this document class is still new, but is expected to evolve rapidly. Use "mkhowto.sh --help" for information on using the formatting tool. Copyright notice ================ The Python source is copyrighted, but you can freely use and copy it as long as you don't change or remove the copyright notice: ---------------------------------------------------------------------- Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, The Netherlands. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of Stichting Mathematisch Centrum or CWI or Corporation for National Research Initiatives or CNRI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. While CWI is the initial source for this software, a modified version is made available by the Corporation for National Research Initiatives (CNRI) at the Internet address ftp://ftp.python.org. STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ----------------------------------------------------------------------