1 Python standard documentation -- in LaTeX
2 -----------------------------------------
4 This directory contains the LaTeX sources to the Python documentation
5 and tools required to support the formatting process. The documents
6 now require LaTeX2e; LaTeX 2.09 compatibility has been dropped.
8 If you don't have LaTeX, or if you'd rather not format the
9 documentation yourself, you can ftp a tar file containing HTML, PDF,
10 or PostScript versions of all documents. Additional formats may be
11 available. These should be in the same place where you fetched the
12 main Python distribution (try <http://www.python.org/> or
13 <ftp://ftp.python.org/pub/python/>).
15 The following are the LaTeX source files:
17 api/*.tex Python/C API Reference Manual
18 doc/*.tex Documenting Python
19 ext/*.tex Extending and Embedding the Python Interpreter
20 lib/*.tex Python Library Reference
21 mac/*.tex Macintosh Library Modules
22 ref/*.tex Python Reference Manual
23 tut/*.tex Python Tutorial
24 inst/*.tex Installing Python Modules
25 dist/*.tex Distributing Python Modules
27 Most use the "manual" document class and "python" package, derived from
28 the old "myformat.sty" style file. The Macintosh Library Modules
29 document uses the "howto" document class instead. These contains many
30 macro definitions useful in documenting Python, and set some style
33 There's a Makefile to call LaTeX and the other utilities in the right
34 order and the right number of times. By default, it will build the
35 HTML version of the documentation, but DVI, PDF, and PostScript can
36 also be made. To view the generated HTML, point your favorite browser
37 at the top-level index (html/index.html) after running "make".
39 The Makefile can also produce DVI files for each document made; to
40 preview them, use xdvi. PostScript is produced by the same Makefile
41 target that produces the DVI files. This uses the dvips tool.
42 Printing depends on local conventions; at our site, we use lpr. For
45 make paper-letter/lib.ps # create lib.dvi and lib.ps
46 xdvi paper-letter/lib.dvi # preview lib.dvi
47 lpr paper-letter/lib.ps # print on default printer
53 First, check that the bug is present in the development version of the
54 documentation at <http://www.python.org/dev/doc/devel/>; we may
55 have already fixed it.
57 If we haven't, tell us about it. We'd like the documentation to be
58 complete and accurate, but have limited time. If you discover any
59 inconsistencies between the documentation and implementation, or just
60 have suggestions as to how to improve the documentation, let is know!
61 Specific bugs and patches should be reported using our bug & patch
64 http://sourceforge.net/projects/python
66 Other suggestions or questions should be sent to the Python
77 You need to install Python; some of the scripts used to produce the
78 documentation are written in Python. You don't need this
79 documentation to install Python; instructions are included in the
80 README file in the Python distribution.
82 The simplest way to get the rest of the tools in the configuration we
83 used is to install the teTeX TeX distribution, versions 0.9 or newer.
84 More information is available on teTeX at <http://www.tug.org/tetex/>.
85 This is a Unix-only TeX distribution at this time. This documentation
86 release was tested with the 1.0.7 release, but there have been no
87 substantial changes since late in the 0.9 series, which we used
88 extensively for previous versions without any difficulty.
90 If you don't want to get teTeX, here is what you'll need:
92 To create DVI, PDF, or PostScript files:
94 - LaTeX2e, 1995/12/01 or newer. Older versions are likely to
97 - makeindex. This is used to produce the indexes for the
98 library reference and Python/C API reference.
102 - pdflatex. We used the one in the teTeX distribution (pdfTeX
103 version 3.14159-13d (Web2C 7.3.1) at the time of this
104 writing). Versions even a couple of patchlevels earlier are
105 highly likely to fail due to syntax changes for some of the
108 To create PostScript files:
110 - dvips. Most TeX installations include this. If you don't
111 have one, check CTAN (<ftp://ctan.tug.org/tex-archive/>).
113 To create info files:
115 Note that info support is currently being revised using new
116 conversion tools by Michael Ernst <mernst@cs.washington.edu>.
118 - makeinfo. This is available from any GNU mirror.
120 - emacs or xemacs. Emacs is available from the same place as
121 makeinfo, and xemacs is available from ftp.xemacs.org.
123 - Perl. Find the software at
124 <http://language.perl.com/info/software.html>.
126 - HTML::Element. If you don't have this installed, you can get
127 this from CPAN. Use the command:
129 perl -e 'use CPAN; CPAN::install("HTML::Element");'
131 You may need to be root to do this.
133 To create HTML files:
135 - Perl 5.6.0 or newer. Find the software at
136 <http://language.perl.com/info/software.html>.
138 - LaTeX2HTML 99.2b8 or newer. Older versions are not
139 supported; each version changes enough that supporting
140 multiple versions is not likely to work. Many older
141 versions don't work with Perl 5.6 as well. This also screws
142 up code fragments. ;-( Releases are available at:
143 <http://www.latex2html.org/>.
146 I got a make error: "make: don't know how to make commontex/patchlevel.tex."
147 ----------------------------------------------------------------------------
149 Your version of make doesn't support the 'shell' function. You will need to
150 use a version which does, e.g. GNU make.
153 LaTeX (or pdfLaTeX) ran out of memory; how can I fix it?
154 --------------------------------------------------------
156 This is known to be a problem at least on Mac OS X, but it has been
157 observed on other systems in the past.
159 On some systems, the default sizes of some of the memory pools
160 allocated by TeX needs to be changed; this is a configuration setting
161 for installations based on web2c (most if not all installations).
162 This is usually set in a file named texmf/web2c/texmf.cnf (where the
163 top-level texmf/ directory is part of the TeX installation). If you
164 get a "buffer overflow" warning from LaTeX, open that configuration
165 file and look for the "main_memory.pdflatex" setting. If there is not
166 one, you can add a line with the setting. The value 1500000 seems to
167 be sufficient for formatting the Python documetantion.
170 What if Times fonts are not available?
171 --------------------------------------
173 As distributed, the LaTeX documents use PostScript Times fonts. This
174 is done since they are much better looking and produce smaller
175 PostScript files. If, however, your TeX installation does not support
176 them, they may be easily disabled. Edit the file
177 texinputs/pypaper.sty and comment out the line that starts
178 "\RequirePackage{times}" by inserting a "%" character at the beginning
179 of the line. If you're formatting the docs for A4 paper instead of
180 US-Letter paper, change paper-a4/pypaper.sty instead. An alternative
181 is to install the right fonts and LaTeX style file.
184 What if I want to use A4 paper?
185 -------------------------------
187 Instead of building the PostScript by giving the command "make ps",
188 give the command "make PAPER=a4 ps"; the output will be produced in
189 the paper-a4/ subdirectory. (You can use "make PAPER=a4 pdf" if you'd
190 rather have PDF output.)
196 The LaTeX documents can be converted to HTML using Nikos Drakos'
197 LaTeX2HTML converter. See the Makefile; after some twiddling, "make"
201 What else is in here?
202 ---------------------
204 There is a new LaTeX document class called "howto". This is used for
205 the new series of Python HOWTO documents which is being coordinated by
206 Andrew Kuchling <akuchlin@mems-exchange.org>. The file
207 templates/howto.tex is a commented example which may be used as a
208 template. A Python script to "do the right thing" to format a howto
209 document is included as tools/mkhowto. These documents can be
210 formatted as HTML, PDF, PostScript, or ASCII files. Use "mkhowto
211 --help" for information on using the formatting tool.
213 For authors of module documentation, there is a file
214 templates/module.tex which may be used as a template for a module
215 section. This may be used in conjunction with either the howto or
216 manual document class. Create the documentation for a new module by
217 copying the template to lib<mymodule>.tex and editing according to the
218 instructions in the comments.
220 Documentation on the authoring Python documentation, including
221 information about both style and markup, is available in the
222 "Documenting Python" manual.
228 The Python source is copyrighted, but you can freely use and copy it
229 as long as you don't change or remove the copyright notice:
231 ----------------------------------------------------------------------
232 Copyright (c) 2000-2006 Python Software Foundation.
235 Copyright (c) 2000 BeOpen.com.
238 Copyright (c) 1995-2000 Corporation for National Research Initiatives.
241 Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
244 See the file "commontex/license.tex" for information on usage and
245 redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
246 ----------------------------------------------------------------------