blob: 12a299878b0e17067c3640f94dac4d60a65ce6d0 [file] [log] [blame]
Fred Drake34eefe51998-03-03 21:41:22 +00001Python main documentation -- in LaTeX
Guido van Rossumcd7bf391992-04-05 15:06:03 +00002-------------------------------------
3
Fred Drake34eefe51998-03-03 21:41:22 +00004This directory contains the LaTeX sources to the Python documentation.
5They now require LaTeX2e (LaTeX 2.09 compatibility is dropped).
Guido van Rossum7f777ed1990-08-09 14:25:15 +00006
Fred Drake34eefe51998-03-03 21:41:22 +00007The Python Reference Manual is no longer maintained in LaTeX. It is
Guido van Rossum71ec03b1996-10-23 16:23:47 +00008now a FrameMaker document. The FrameMaker 5.0 files (ref.book,
9ref*.doc) as well as PostScript generated (ref.ps) from it are in the
Fred Drake71472a51998-03-04 15:21:02 +000010subdirectory ref/. (See <ftp://ftp.adobe.com/pub/adobe/framereader>
11for a free reader for FrameMaker documents, for some platforms.) Many
Guido van Rossuma417b661997-12-08 20:51:26 +000012thanks to Robin Friedrich for the conversion of the Reference Manual
13to FrameMaker and his work on its index.
Guido van Rossum71ec03b1996-10-23 16:23:47 +000014
Fred Drake34eefe51998-03-03 21:41:22 +000015If you don't have LaTeX, or if you'd rather not format the
16documentation yourself, you can ftp a tar file containing HTML, PDF,
17or PostScript versions of all documents. Additional formats may be
18available. These should be in the same place where you fetched the
Fred Drake71472a51998-03-04 15:21:02 +000019main Python distribution (try <http://www.python.org> or
20<ftp://ftp.python.org>).
Guido van Rossumf1245a81995-03-20 13:00:53 +000021
Fred Drake34eefe51998-03-03 21:41:22 +000022The following are the LaTeX source files:
Guido van Rossum7f777ed1990-08-09 14:25:15 +000023
Guido van Rossum676d6da1992-02-11 15:51:36 +000024 tut.tex The tutorial
Guido van Rossum6938f061994-08-01 12:22:53 +000025 lib.tex, lib*.tex The library reference
Guido van Rossum6938f061994-08-01 12:22:53 +000026 ext.tex How to extend Python
Guido van Rossuma417b661997-12-08 20:51:26 +000027 api.tex Reference for the Python/C API
Guido van Rossum7f777ed1990-08-09 14:25:15 +000028
Fred Drake34eefe51998-03-03 21:41:22 +000029All use the "manual" document class and "python" package, derived from
30the old "myformat.sty" style file. These contains many macro
31definitions useful in documenting Python, and set some style parameters.
Guido van Rossum7f777ed1990-08-09 14:25:15 +000032
Fred Drake34eefe51998-03-03 21:41:22 +000033There's a Makefile to call LaTeX and the other utilities in the right
Guido van Rossumf1245a81995-03-20 13:00:53 +000034order and the right number of times. This will produce DVI files for
35each document made; to preview them, use xdvi. PostScript is produced
36by the same Makefile target that produces the DVI files. This uses
Fred Drake71472a51998-03-04 15:21:02 +000037the dvips tool. Printing depends on local conventions; at our site,
38we use lpr. For example:
Guido van Rossum7f777ed1990-08-09 14:25:15 +000039
Guido van Rossum71ec03b1996-10-23 16:23:47 +000040 make lib # create lib.dvi and lib.ps
41 xdvi lib # preview lib.dvi
Fred Drake34eefe51998-03-03 21:41:22 +000042 lpr lib.ps # print on default printer
Guido van Rossumcd7bf391992-04-05 15:06:03 +000043
Guido van Rossumf1245a81995-03-20 13:00:53 +000044
Fred Drake71472a51998-03-04 15:21:02 +000045What if I find a bug?
46---------------------
47
48First, check that the bug is present in the online version of the
49documentation at <http://www.python.org/docs/>; we may have already
50fixed it.
51
52If we haven't, tell us about it. We'd like the documentation to be
53complete and accurate, but have limited time. If you discover any
54inconsistencies between the documentation and implementation, or just
55have suggestions as to how to improve the documentation, let is know!
56Send comments and patches to the Python Documentation Team:
57
58 python-docs@python.org
59
60Thanks!
61
62
Fred Drake34eefe51998-03-03 21:41:22 +000063What tools do I need?
64---------------------
Guido van Rossuma417b661997-12-08 20:51:26 +000065
Fred Drake34eefe51998-03-03 21:41:22 +000066You need to install Python; some of the scripts used to produce the
67documentation are written in Python.
Guido van Rossuma417b661997-12-08 20:51:26 +000068
Fred Drake34eefe51998-03-03 21:41:22 +000069The simplest way to get the rest of the tools in the configuration we
70used is to install the teTeX TeX distribution, version 0.9. More
Fred Drake71472a51998-03-04 15:21:02 +000071information is available on teTeX at <http://www.tug.org/tetex/>.
Fred Drake6355bd41998-03-27 05:17:21 +000072This is a UNIX-only TeX distribution at this time. Note that the 0.9
73release is still in testing; this documentation release was tested
74with the 18 Mar 1998 release. We'll be upgrading to the final version
75when it becomes available.
Fred Drake34eefe51998-03-03 21:41:22 +000076
77If you don't want to get teTeX, or if you're not using UNIX, here is
78what you'll need:
79
80To create DVI, PDF, or PostScript files:
81
82 - LaTeX2e, 1995/12/01 or newer. Older versions are likely to
83 choke.
84
85 - makeindex. This is used to produce the indexes for the
86 library reference and Python/C API reference.
87
88To create PDF files:
89
90 - pdflatex. We used the one in the teTeX 0.9 distribution
Fred Drake6355bd41998-03-27 05:17:21 +000091 (version 0.12f at the time of this writing). Versions even
92 a couple of patchlevels different are highly likely to
93 fail due to syntax changes for some of the pdftex
94 primitives.
Fred Drake34eefe51998-03-03 21:41:22 +000095
96To create PostScript files:
97
98 - dvips. Most TeX installations include this. If you don't
Fred Drake71472a51998-03-04 15:21:02 +000099 have one, check CTAN (<ftp://ctan.tug.org/tex-archive/>).
Fred Drake34eefe51998-03-03 21:41:22 +0000100
101To create info files:
102
Fred Drake45084ed1998-04-09 15:19:41 +0000103 (Note that info is not currently supported. If you need it,
104 please fix or replace tools/partparse.py and send the new
105 version to python-docs@python.org. We'll be glad to provide
106 free copies of the info files to anyone who can support the
107 process. ;-)
108
Fred Drake34eefe51998-03-03 21:41:22 +0000109 - makeinfo. This is available from any GNU mirror.
110
Fred Drake45084ed1998-04-09 15:19:41 +0000111 - emacs or xemacs. Emacs is available from the same place as
112 makeinfo, and xemacs is available from ftp.xemacs.org.
113
Fred Drake34eefe51998-03-03 21:41:22 +0000114To create HTML files:
115
Fred Drake71472a51998-03-04 15:21:02 +0000116 - Perl 5.004_04 or newer. Find the software at
117 <http://language.perl.com/info/software.html>.
Fred Drake34eefe51998-03-03 21:41:22 +0000118
119 - LaTeX2HTML 98.1p1, or newer. Releases are available at
Fred Drake71472a51998-03-04 15:21:02 +0000120 <http://www-dsed.llnl.gov/files/programs/unix/latex2html/>.
Fred Drake34eefe51998-03-03 21:41:22 +0000121
122
123What if Times fonts are not available?
124--------------------------------------
125
126As distributed, the LaTeX documents use PostScript Times fonts. This
127is done since they are much better looking and produce smaller
128PostScript files. If, however, your TeX installation does not support
Fred Drake4912beb1998-03-11 17:07:35 +0000129them, they may be easily disabled. Edit the file
130texiinputs/manual.cls and comment out the line that starts
131"\RequirePackage{times}" using a "%" character at the beginning of the
132line. An alternative is to install the right fonts and LaTeX style
133file.
134
135
136What if I want to use A4 paper?
137-------------------------------
138
139Edit the file texinputs/manual.cls. Change the line that reads:
140
141 \LoadClass[twoside,openright]{report}
142
143to say:
144
145 \LoadClass[a4paper,twoside,openright]{report}
146
147Now do a "make clean all" to generate PostScript files.
Guido van Rossuma417b661997-12-08 20:51:26 +0000148
149
Guido van Rossumf1245a81995-03-20 13:00:53 +0000150Making HTML files
151-----------------
152
Fred Drake34eefe51998-03-03 21:41:22 +0000153The LaTeX documents can be converted to HTML using Nikos Drakos'
154LaTeX2HTML converter. See the Makefile; after some twiddling, "make
Guido van Rossuma417b661997-12-08 20:51:26 +0000155l2h" should do the trick.
Guido van Rossumf1245a81995-03-20 13:00:53 +0000156
Fred Drake71472a51998-03-04 15:21:02 +0000157For the reference manual, we use Harlequin's webmaker. We're not very
Guido van Rossuma417b661997-12-08 20:51:26 +0000158happy with it and hope that eventually FrameMaker will be able to
159produce HTML without third party help.
Fred Drake4912beb1998-03-11 17:07:35 +0000160
161
Fred Drake6355bd41998-03-27 05:17:21 +0000162What else is in here?
163---------------------
164
165There is a new LaTeX document class called "howto". This is used for
166the new series of Python HOWTO documents which is being coordinated by
167Andrew Kuchling <amk@acm.org>. The file howto.tex is a commented
168template which may be used an example. A script to "do the right
169thing" to format a howto document is included as tools/mkhowto.sh.
170Support for this document class is still new, but is expected to
Fred Drake16a19c41998-04-03 05:41:38 +0000171evolve rapidly. Use "mkhowto.sh --help" for information on using the
172formatting tool.
Fred Drake6355bd41998-03-27 05:17:21 +0000173
174
Fred Drake4912beb1998-03-11 17:07:35 +0000175Copyright notice
176================
177
178The Python source is copyrighted, but you can freely use and copy it
179as long as you don't change or remove the copyright notice:
180
181----------------------------------------------------------------------
182Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
183The Netherlands.
184
185 All Rights Reserved
186
187Permission to use, copy, modify, and distribute this software and its
188documentation for any purpose and without fee is hereby granted,
189provided that the above copyright notice appear in all copies and that
190both that copyright notice and this permission notice appear in
191supporting documentation, and that the names of Stichting Mathematisch
192Centrum or CWI or Corporation for National Research Initiatives or
193CNRI not be used in advertising or publicity pertaining to
194distribution of the software without specific, written prior
195permission.
196
197While CWI is the initial source for this software, a modified version
198is made available by the Corporation for National Research Initiatives
199(CNRI) at the Internet address ftp://ftp.python.org.
200
201STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
202REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
203MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
204CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
205DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
206PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
207TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
208PERFORMANCE OF THIS SOFTWARE.
209----------------------------------------------------------------------