blob: 6e7a52d7690fa06a8dd7ad47278f8e07ca2b8943 [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 +00007If you don't have LaTeX, or if you'd rather not format the
8documentation yourself, you can ftp a tar file containing HTML, PDF,
9or PostScript versions of all documents. Additional formats may be
10available. These should be in the same place where you fetched the
Fred Drake71472a51998-03-04 15:21:02 +000011main Python distribution (try <http://www.python.org> or
12<ftp://ftp.python.org>).
Guido van Rossumf1245a81995-03-20 13:00:53 +000013
Fred Drake34eefe51998-03-03 21:41:22 +000014The following are the LaTeX source files:
Guido van Rossum7f777ed1990-08-09 14:25:15 +000015
Fred Drake099b76c1998-05-11 16:31:32 +000016 api/*.tex Python/C API Reference Manual
17 ext/*.tex Extending and Embedding the Python Interpreter
18 lib/*.tex Python Library Reference
19 ref/*.tex Python Reference Manual
20 tut/*.tex Python Tutorial
Guido van Rossum7f777ed1990-08-09 14:25:15 +000021
Fred Drake34eefe51998-03-03 21:41:22 +000022All use the "manual" document class and "python" package, derived from
23the old "myformat.sty" style file. These contains many macro
24definitions useful in documenting Python, and set some style parameters.
Guido van Rossum7f777ed1990-08-09 14:25:15 +000025
Fred Drake34eefe51998-03-03 21:41:22 +000026There's a Makefile to call LaTeX and the other utilities in the right
Guido van Rossumf1245a81995-03-20 13:00:53 +000027order and the right number of times. This will produce DVI files for
28each document made; to preview them, use xdvi. PostScript is produced
29by the same Makefile target that produces the DVI files. This uses
Fred Drake71472a51998-03-04 15:21:02 +000030the dvips tool. Printing depends on local conventions; at our site,
31we use lpr. For example:
Guido van Rossum7f777ed1990-08-09 14:25:15 +000032
Fred Drake099b76c1998-05-11 16:31:32 +000033 make lib # create lib.dvi and lib.ps
34 xdvi lib # preview lib.dvi
35 lpr lib.ps # print on default printer
Guido van Rossumcd7bf391992-04-05 15:06:03 +000036
Guido van Rossumf1245a81995-03-20 13:00:53 +000037
Fred Drake71472a51998-03-04 15:21:02 +000038What if I find a bug?
39---------------------
40
41First, check that the bug is present in the online version of the
42documentation at <http://www.python.org/docs/>; we may have already
43fixed it.
44
45If we haven't, tell us about it. We'd like the documentation to be
46complete and accurate, but have limited time. If you discover any
47inconsistencies between the documentation and implementation, or just
48have suggestions as to how to improve the documentation, let is know!
49Send comments and patches to the Python Documentation Team:
50
51 python-docs@python.org
52
53Thanks!
54
55
Fred Drake34eefe51998-03-03 21:41:22 +000056What tools do I need?
57---------------------
Guido van Rossuma417b661997-12-08 20:51:26 +000058
Fred Drake34eefe51998-03-03 21:41:22 +000059You need to install Python; some of the scripts used to produce the
60documentation are written in Python.
Guido van Rossuma417b661997-12-08 20:51:26 +000061
Fred Drake34eefe51998-03-03 21:41:22 +000062The simplest way to get the rest of the tools in the configuration we
Fred Drake099b76c1998-05-11 16:31:32 +000063used is to install the teTeX TeX distribution, version 0.4 or 0.9. More
Fred Drake71472a51998-03-04 15:21:02 +000064information is available on teTeX at <http://www.tug.org/tetex/>.
Fred Drake6355bd41998-03-27 05:17:21 +000065This is a UNIX-only TeX distribution at this time. Note that the 0.9
66release is still in testing; this documentation release was tested
Fred Drake099b76c1998-05-11 16:31:32 +000067with the 21 Apr 1998 release. We'll be upgrading to the final version
68when it becomes available. Except for the PDF generation, it also works
69with the (stable) teTeX 0.4 release.
Fred Drake34eefe51998-03-03 21:41:22 +000070
Fred Drake099b76c1998-05-11 16:31:32 +000071If you don't want to get teTeX, here is what you'll need:
Fred Drake34eefe51998-03-03 21:41:22 +000072
73To create DVI, PDF, or PostScript files:
74
75 - LaTeX2e, 1995/12/01 or newer. Older versions are likely to
76 choke.
77
78 - makeindex. This is used to produce the indexes for the
79 library reference and Python/C API reference.
80
81To create PDF files:
82
83 - pdflatex. We used the one in the teTeX 0.9 distribution
Fred Drake099b76c1998-05-11 16:31:32 +000084 (version 0.12h at the time of this writing). Versions even
85 a couple of patchlevels earlier are highly likely to fail
86 due to syntax changes for some of the pdftex primitives.
Fred Drake34eefe51998-03-03 21:41:22 +000087
88To create PostScript files:
89
90 - dvips. Most TeX installations include this. If you don't
Fred Drake71472a51998-03-04 15:21:02 +000091 have one, check CTAN (<ftp://ctan.tug.org/tex-archive/>).
Fred Drake34eefe51998-03-03 21:41:22 +000092
93To create info files:
94
Fred Drake45084ed1998-04-09 15:19:41 +000095 (Note that info is not currently supported. If you need it,
96 please fix or replace tools/partparse.py and send the new
97 version to python-docs@python.org. We'll be glad to provide
98 free copies of the info files to anyone who can support the
99 process. ;-)
100
Fred Drake34eefe51998-03-03 21:41:22 +0000101 - makeinfo. This is available from any GNU mirror.
102
Fred Drake45084ed1998-04-09 15:19:41 +0000103 - emacs or xemacs. Emacs is available from the same place as
104 makeinfo, and xemacs is available from ftp.xemacs.org.
105
Fred Drake34eefe51998-03-03 21:41:22 +0000106To create HTML files:
107
Fred Drake71472a51998-03-04 15:21:02 +0000108 - Perl 5.004_04 or newer. Find the software at
109 <http://language.perl.com/info/software.html>.
Fred Drake34eefe51998-03-03 21:41:22 +0000110
111 - LaTeX2HTML 98.1p1, or newer. Releases are available at
Fred Drake71472a51998-03-04 15:21:02 +0000112 <http://www-dsed.llnl.gov/files/programs/unix/latex2html/>.
Fred Drake34eefe51998-03-03 21:41:22 +0000113
114
115What if Times fonts are not available?
116--------------------------------------
117
118As distributed, the LaTeX documents use PostScript Times fonts. This
119is done since they are much better looking and produce smaller
120PostScript files. If, however, your TeX installation does not support
Fred Drake4912beb1998-03-11 17:07:35 +0000121them, they may be easily disabled. Edit the file
122texiinputs/manual.cls and comment out the line that starts
123"\RequirePackage{times}" using a "%" character at the beginning of the
124line. An alternative is to install the right fonts and LaTeX style
125file.
126
127
128What if I want to use A4 paper?
129-------------------------------
130
Fred Drake099b76c1998-05-11 16:31:32 +0000131Instead of building the PostScript by giving the command "make", give
132the command "make PAPER=a4"; the output will be produced in the
133paper-a4/ subdirectory.
Guido van Rossuma417b661997-12-08 20:51:26 +0000134
135
Guido van Rossumf1245a81995-03-20 13:00:53 +0000136Making HTML files
137-----------------
138
Fred Drake34eefe51998-03-03 21:41:22 +0000139The LaTeX documents can be converted to HTML using Nikos Drakos'
140LaTeX2HTML converter. See the Makefile; after some twiddling, "make
Guido van Rossuma417b661997-12-08 20:51:26 +0000141l2h" should do the trick.
Guido van Rossumf1245a81995-03-20 13:00:53 +0000142
Fred Drake4912beb1998-03-11 17:07:35 +0000143
Fred Drake6355bd41998-03-27 05:17:21 +0000144What else is in here?
145---------------------
146
147There is a new LaTeX document class called "howto". This is used for
148the new series of Python HOWTO documents which is being coordinated by
149Andrew Kuchling <amk@acm.org>. The file howto.tex is a commented
Fred Drake099b76c1998-05-11 16:31:32 +0000150example which may be used a template. A script to "do the right
Fred Drake6355bd41998-03-27 05:17:21 +0000151thing" to format a howto document is included as tools/mkhowto.sh.
152Support for this document class is still new, but is expected to
Fred Drake16a19c41998-04-03 05:41:38 +0000153evolve rapidly. Use "mkhowto.sh --help" for information on using the
154formatting tool.
Fred Drake6355bd41998-03-27 05:17:21 +0000155
156
Fred Drake4912beb1998-03-11 17:07:35 +0000157Copyright notice
158================
159
160The Python source is copyrighted, but you can freely use and copy it
161as long as you don't change or remove the copyright notice:
162
163----------------------------------------------------------------------
164Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
165The Netherlands.
166
167 All Rights Reserved
168
169Permission to use, copy, modify, and distribute this software and its
170documentation for any purpose and without fee is hereby granted,
171provided that the above copyright notice appear in all copies and that
172both that copyright notice and this permission notice appear in
173supporting documentation, and that the names of Stichting Mathematisch
174Centrum or CWI or Corporation for National Research Initiatives or
175CNRI not be used in advertising or publicity pertaining to
176distribution of the software without specific, written prior
177permission.
178
179While CWI is the initial source for this software, a modified version
180is made available by the Corporation for National Research Initiatives
181(CNRI) at the Internet address ftp://ftp.python.org.
182
183STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
184REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
185MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
186CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
187DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
188PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
189TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
190PERFORMANCE OF THIS SOFTWARE.
191----------------------------------------------------------------------