blob: 5aa37fc755fe09559f2198b614e555492c58e273 [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 Drake4190fae1998-05-11 19:05:36 +000056What happened to the Macintosh chapter of the Python Library Reference?
57-----------------------------------------------------------------------
58
59The directory mac/ contains the LaTeX sources for the "Macintosh
Fred Drakebd400941998-08-11 17:41:20 +000060Library Modules" manual; this is built using the standard build
61targets, so check the proper output directory for your chosen format
62and paper size.
Fred Drake4190fae1998-05-11 19:05:36 +000063
64
Fred Drake34eefe51998-03-03 21:41:22 +000065What tools do I need?
66---------------------
Guido van Rossuma417b661997-12-08 20:51:26 +000067
Fred Drake34eefe51998-03-03 21:41:22 +000068You need to install Python; some of the scripts used to produce the
Fred Drakebd400941998-08-11 17:41:20 +000069documentation are written in Python. You don't need this
70documentation to install Python; instructions are included in the
71README file in the Python distribution.
Guido van Rossuma417b661997-12-08 20:51:26 +000072
Fred Drake34eefe51998-03-03 21:41:22 +000073The simplest way to get the rest of the tools in the configuration we
Fred Drake099b76c1998-05-11 16:31:32 +000074used is to install the teTeX TeX distribution, version 0.4 or 0.9. More
Fred Drake71472a51998-03-04 15:21:02 +000075information is available on teTeX at <http://www.tug.org/tetex/>.
Fred Drake6355bd41998-03-27 05:17:21 +000076This is a UNIX-only TeX distribution at this time. Note that the 0.9
77release is still in testing; this documentation release was tested
Fred Drake099b76c1998-05-11 16:31:32 +000078with the 21 Apr 1998 release. We'll be upgrading to the final version
79when it becomes available. Except for the PDF generation, it also works
80with the (stable) teTeX 0.4 release.
Fred Drake34eefe51998-03-03 21:41:22 +000081
Fred Drake099b76c1998-05-11 16:31:32 +000082If you don't want to get teTeX, here is what you'll need:
Fred Drake34eefe51998-03-03 21:41:22 +000083
84To create DVI, PDF, or PostScript files:
85
86 - LaTeX2e, 1995/12/01 or newer. Older versions are likely to
87 choke.
88
89 - makeindex. This is used to produce the indexes for the
90 library reference and Python/C API reference.
91
92To create PDF files:
93
94 - pdflatex. We used the one in the teTeX 0.9 distribution
Fred Drake099b76c1998-05-11 16:31:32 +000095 (version 0.12h at the time of this writing). Versions even
96 a couple of patchlevels earlier are highly likely to fail
97 due to syntax changes for some of the pdftex primitives.
Fred Drake34eefe51998-03-03 21:41:22 +000098
99To create PostScript files:
100
101 - dvips. Most TeX installations include this. If you don't
Fred Drake71472a51998-03-04 15:21:02 +0000102 have one, check CTAN (<ftp://ctan.tug.org/tex-archive/>).
Fred Drake34eefe51998-03-03 21:41:22 +0000103
104To create info files:
105
Fred Drake45084ed1998-04-09 15:19:41 +0000106 (Note that info is not currently supported. If you need it,
107 please fix or replace tools/partparse.py and send the new
108 version to python-docs@python.org. We'll be glad to provide
109 free copies of the info files to anyone who can support the
110 process. ;-)
111
Fred Drake34eefe51998-03-03 21:41:22 +0000112 - makeinfo. This is available from any GNU mirror.
113
Fred Drake45084ed1998-04-09 15:19:41 +0000114 - emacs or xemacs. Emacs is available from the same place as
115 makeinfo, and xemacs is available from ftp.xemacs.org.
116
Fred Drake34eefe51998-03-03 21:41:22 +0000117To create HTML files:
118
Fred Drake71472a51998-03-04 15:21:02 +0000119 - Perl 5.004_04 or newer. Find the software at
120 <http://language.perl.com/info/software.html>.
Fred Drake34eefe51998-03-03 21:41:22 +0000121
Fred Drake8f7abed1998-07-29 04:45:53 +0000122 - LaTeX2HTML 98.2b2 or newer. Older version will fail with
Fred Drakee0a0fcd1998-05-15 17:03:00 +0000123 the new directory layout. Releases are available at
124 <http://dc-server.cdc.informatik.tu-darmstadt.de/~latex2html/>.
Fred Drake34eefe51998-03-03 21:41:22 +0000125
126
127What if Times fonts are not available?
128--------------------------------------
129
130As distributed, the LaTeX documents use PostScript Times fonts. This
131is done since they are much better looking and produce smaller
132PostScript files. If, however, your TeX installation does not support
Fred Drake4912beb1998-03-11 17:07:35 +0000133them, they may be easily disabled. Edit the file
134texiinputs/manual.cls and comment out the line that starts
135"\RequirePackage{times}" using a "%" character at the beginning of the
136line. An alternative is to install the right fonts and LaTeX style
137file.
138
139
140What if I want to use A4 paper?
141-------------------------------
142
Fred Drake099b76c1998-05-11 16:31:32 +0000143Instead of building the PostScript by giving the command "make", give
144the command "make PAPER=a4"; the output will be produced in the
145paper-a4/ subdirectory.
Guido van Rossuma417b661997-12-08 20:51:26 +0000146
147
Guido van Rossumf1245a81995-03-20 13:00:53 +0000148Making HTML files
149-----------------
150
Fred Drake34eefe51998-03-03 21:41:22 +0000151The LaTeX documents can be converted to HTML using Nikos Drakos'
152LaTeX2HTML converter. See the Makefile; after some twiddling, "make
Guido van Rossuma417b661997-12-08 20:51:26 +0000153l2h" should do the trick.
Guido van Rossumf1245a81995-03-20 13:00:53 +0000154
Fred Drake4912beb1998-03-11 17:07:35 +0000155
Fred Drake6355bd41998-03-27 05:17:21 +0000156What else is in here?
157---------------------
158
159There is a new LaTeX document class called "howto". This is used for
Fred Drakebd400941998-08-11 17:41:20 +0000160the new series of Python HOWTO documents which is being coordinated by
161Andrew Kuchling <amk@acm.org>. The file templates/howto.tex is a
162commented example which may be used a template. A script to "do the
163right thing" to format a howto document is included as
164tools/mkhowto.sh. Support for this document class is still new, but
165is expected to evolve rapidly. Use "mkhowto.sh --help" for
166information on using the formatting tool.
167
168For authors of module documentation, there is a file
169templates/module.tex which may be used as a template for a module
170section. This may be used in conjunction with either the howto or
171manual document class. Create the documentation for a new module by
172copying the template to lib<mymodule>.tex and editing according to the
173instructions in the comments.
Fred Drake6355bd41998-03-27 05:17:21 +0000174
175
Fred Drake4912beb1998-03-11 17:07:35 +0000176Copyright notice
177================
178
179The Python source is copyrighted, but you can freely use and copy it
180as long as you don't change or remove the copyright notice:
181
182----------------------------------------------------------------------
183Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
184The Netherlands.
185
186 All Rights Reserved
187
188Permission to use, copy, modify, and distribute this software and its
189documentation for any purpose and without fee is hereby granted,
190provided that the above copyright notice appear in all copies and that
191both that copyright notice and this permission notice appear in
192supporting documentation, and that the names of Stichting Mathematisch
193Centrum or CWI or Corporation for National Research Initiatives or
194CNRI not be used in advertising or publicity pertaining to
195distribution of the software without specific, written prior
196permission.
197
198While CWI is the initial source for this software, a modified version
199is made available by the Corporation for National Research Initiatives
200(CNRI) at the Internet address ftp://ftp.python.org.
201
202STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
203REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
204MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
205CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
206DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
207PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
208TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
209PERFORMANCE OF THIS SOFTWARE.
210----------------------------------------------------------------------