blob: a75df9f07b776685f19bf111200b16ea0c9dd11e [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 Drake697c1c71998-08-12 17:13:28 +00004This directory contains the LaTeX sources to the Python documentation
5and tools required to support the formatting process. The documents
6now require LaTeX2e; LaTeX 2.09 compatibility has been dropped.
Guido van Rossum7f777ed1990-08-09 14:25:15 +00007
Fred Drake34eefe51998-03-03 21:41:22 +00008If you don't have LaTeX, or if you'd rather not format the
9documentation yourself, you can ftp a tar file containing HTML, PDF,
10or PostScript versions of all documents. Additional formats may be
11available. These should be in the same place where you fetched the
Fred Drake71472a51998-03-04 15:21:02 +000012main Python distribution (try <http://www.python.org> or
13<ftp://ftp.python.org>).
Guido van Rossumf1245a81995-03-20 13:00:53 +000014
Fred Drake34eefe51998-03-03 21:41:22 +000015The following are the LaTeX source files:
Guido van Rossum7f777ed1990-08-09 14:25:15 +000016
Fred Drake099b76c1998-05-11 16:31:32 +000017 api/*.tex Python/C API Reference Manual
18 ext/*.tex Extending and Embedding the Python Interpreter
19 lib/*.tex Python Library Reference
Fred Drake697c1c71998-08-12 17:13:28 +000020 mac/*.tex Macintosh Library Modules
Fred Drake099b76c1998-05-11 16:31:32 +000021 ref/*.tex Python Reference Manual
22 tut/*.tex Python Tutorial
Guido van Rossum7f777ed1990-08-09 14:25:15 +000023
Fred Drake697c1c71998-08-12 17:13:28 +000024Most use the "manual" document class and "python" package, derived from
25the old "myformat.sty" style file. The Macintosh Library Modules
26document uses the "howto" document class instead. These contains many
27macro definitions useful in documenting Python, and set some style
28parameters.
Guido van Rossum7f777ed1990-08-09 14:25:15 +000029
Fred Drake34eefe51998-03-03 21:41:22 +000030There's a Makefile to call LaTeX and the other utilities in the right
Guido van Rossumf1245a81995-03-20 13:00:53 +000031order and the right number of times. This will produce DVI files for
32each document made; to preview them, use xdvi. PostScript is produced
33by the same Makefile target that produces the DVI files. This uses
Fred Drake71472a51998-03-04 15:21:02 +000034the dvips tool. Printing depends on local conventions; at our site,
35we use lpr. For example:
Guido van Rossum7f777ed1990-08-09 14:25:15 +000036
Fred Drake099b76c1998-05-11 16:31:32 +000037 make lib # create lib.dvi and lib.ps
38 xdvi lib # preview lib.dvi
39 lpr lib.ps # print on default printer
Guido van Rossumcd7bf391992-04-05 15:06:03 +000040
Guido van Rossumf1245a81995-03-20 13:00:53 +000041
Fred Drake71472a51998-03-04 15:21:02 +000042What if I find a bug?
43---------------------
44
45First, check that the bug is present in the online version of the
46documentation at <http://www.python.org/docs/>; we may have already
47fixed it.
48
49If we haven't, tell us about it. We'd like the documentation to be
50complete and accurate, but have limited time. If you discover any
51inconsistencies between the documentation and implementation, or just
52have suggestions as to how to improve the documentation, let is know!
53Send comments and patches to the Python Documentation Team:
54
55 python-docs@python.org
56
57Thanks!
58
59
Fred Drake4190fae1998-05-11 19:05:36 +000060What happened to the Macintosh chapter of the Python Library Reference?
61-----------------------------------------------------------------------
62
63The directory mac/ contains the LaTeX sources for the "Macintosh
Fred Drakebd400941998-08-11 17:41:20 +000064Library Modules" manual; this is built using the standard build
65targets, so check the proper output directory for your chosen format
66and paper size.
Fred Drake4190fae1998-05-11 19:05:36 +000067
68
Fred Drake34eefe51998-03-03 21:41:22 +000069What tools do I need?
70---------------------
Guido van Rossuma417b661997-12-08 20:51:26 +000071
Fred Drake34eefe51998-03-03 21:41:22 +000072You need to install Python; some of the scripts used to produce the
Fred Drakebd400941998-08-11 17:41:20 +000073documentation are written in Python. You don't need this
74documentation to install Python; instructions are included in the
75README file in the Python distribution.
Guido van Rossuma417b661997-12-08 20:51:26 +000076
Fred Drake34eefe51998-03-03 21:41:22 +000077The simplest way to get the rest of the tools in the configuration we
Fred Drake099b76c1998-05-11 16:31:32 +000078used is to install the teTeX TeX distribution, version 0.4 or 0.9. More
Fred Drake71472a51998-03-04 15:21:02 +000079information is available on teTeX at <http://www.tug.org/tetex/>.
Fred Drake6355bd41998-03-27 05:17:21 +000080This is a UNIX-only TeX distribution at this time. Note that the 0.9
81release is still in testing; this documentation release was tested
Fred Drake099b76c1998-05-11 16:31:32 +000082with the 21 Apr 1998 release. We'll be upgrading to the final version
83when it becomes available. Except for the PDF generation, it also works
84with the (stable) teTeX 0.4 release.
Fred Drake34eefe51998-03-03 21:41:22 +000085
Fred Drake099b76c1998-05-11 16:31:32 +000086If you don't want to get teTeX, here is what you'll need:
Fred Drake34eefe51998-03-03 21:41:22 +000087
88To create DVI, PDF, or PostScript files:
89
90 - LaTeX2e, 1995/12/01 or newer. Older versions are likely to
91 choke.
92
93 - makeindex. This is used to produce the indexes for the
94 library reference and Python/C API reference.
95
96To create PDF files:
97
98 - pdflatex. We used the one in the teTeX 0.9 distribution
Fred Drake099b76c1998-05-11 16:31:32 +000099 (version 0.12h at the time of this writing). Versions even
100 a couple of patchlevels earlier are highly likely to fail
101 due to syntax changes for some of the pdftex primitives.
Fred Drake34eefe51998-03-03 21:41:22 +0000102
103To create PostScript files:
104
105 - dvips. Most TeX installations include this. If you don't
Fred Drake71472a51998-03-04 15:21:02 +0000106 have one, check CTAN (<ftp://ctan.tug.org/tex-archive/>).
Fred Drake34eefe51998-03-03 21:41:22 +0000107
108To create info files:
109
Fred Drake45084ed1998-04-09 15:19:41 +0000110 (Note that info is not currently supported. If you need it,
111 please fix or replace tools/partparse.py and send the new
112 version to python-docs@python.org. We'll be glad to provide
113 free copies of the info files to anyone who can support the
114 process. ;-)
115
Fred Drake34eefe51998-03-03 21:41:22 +0000116 - makeinfo. This is available from any GNU mirror.
117
Fred Drake45084ed1998-04-09 15:19:41 +0000118 - emacs or xemacs. Emacs is available from the same place as
119 makeinfo, and xemacs is available from ftp.xemacs.org.
120
Fred Drake34eefe51998-03-03 21:41:22 +0000121To create HTML files:
122
Fred Drake71472a51998-03-04 15:21:02 +0000123 - Perl 5.004_04 or newer. Find the software at
124 <http://language.perl.com/info/software.html>.
Fred Drake34eefe51998-03-03 21:41:22 +0000125
Fred Drake8d7e11a1999-01-04 18:25:38 +0000126 - LaTeX2HTML 98.2b6. Older version will fail with the new
127 directory layout. Version 98.2b8 specifically does not
128 work; it translates `` and '' to &ldquo; and &rdquo;, which
129 are not supported by popular Web browsers. Releases are
130 available at:
Fred Drake3494e4a1998-09-10 17:55:32 +0000131 <http://cdc-server.cdc.informatik.tu-darmstadt.de/~latex2html/>.
Fred Drake34eefe51998-03-03 21:41:22 +0000132
133
134What if Times fonts are not available?
135--------------------------------------
136
137As distributed, the LaTeX documents use PostScript Times fonts. This
138is done since they are much better looking and produce smaller
139PostScript files. If, however, your TeX installation does not support
Fred Drake4912beb1998-03-11 17:07:35 +0000140them, they may be easily disabled. Edit the file
141texiinputs/manual.cls and comment out the line that starts
142"\RequirePackage{times}" using a "%" character at the beginning of the
143line. An alternative is to install the right fonts and LaTeX style
144file.
145
146
147What if I want to use A4 paper?
148-------------------------------
149
Fred Drake099b76c1998-05-11 16:31:32 +0000150Instead of building the PostScript by giving the command "make", give
151the command "make PAPER=a4"; the output will be produced in the
152paper-a4/ subdirectory.
Guido van Rossuma417b661997-12-08 20:51:26 +0000153
154
Guido van Rossumf1245a81995-03-20 13:00:53 +0000155Making HTML files
156-----------------
157
Fred Drake34eefe51998-03-03 21:41:22 +0000158The LaTeX documents can be converted to HTML using Nikos Drakos'
159LaTeX2HTML converter. See the Makefile; after some twiddling, "make
Fred Drake697c1c71998-08-12 17:13:28 +0000160html" should do the trick.
Guido van Rossumf1245a81995-03-20 13:00:53 +0000161
Fred Drake4912beb1998-03-11 17:07:35 +0000162
Fred Drake6355bd41998-03-27 05:17:21 +0000163What else is in here?
164---------------------
165
166There is a new LaTeX document class called "howto". This is used for
Fred Drakebd400941998-08-11 17:41:20 +0000167the new series of Python HOWTO documents which is being coordinated by
168Andrew Kuchling <amk@acm.org>. The file templates/howto.tex is a
169commented example which may be used a template. A script to "do the
170right thing" to format a howto document is included as
Fred Drake00c468b1998-08-12 17:53:46 +0000171tools/mkhowto.sh. These documents can be formatted as HTML, PDF,
172PostScript, or ASCII files. Support for this document class is
173still new, but is expected to evolve rapidly. Use "mkhowto.sh --help"
174for information on using the formatting tool.
Fred Drakebd400941998-08-11 17:41:20 +0000175
176For authors of module documentation, there is a file
177templates/module.tex which may be used as a template for a module
178section. This may be used in conjunction with either the howto or
179manual document class. Create the documentation for a new module by
180copying the template to lib<mymodule>.tex and editing according to the
181instructions in the comments.
Fred Drake6355bd41998-03-27 05:17:21 +0000182
183
Fred Drake4912beb1998-03-11 17:07:35 +0000184Copyright notice
185================
186
187The Python source is copyrighted, but you can freely use and copy it
188as long as you don't change or remove the copyright notice:
189
190----------------------------------------------------------------------
191Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
192The Netherlands.
193
194 All Rights Reserved
195
196Permission to use, copy, modify, and distribute this software and its
197documentation for any purpose and without fee is hereby granted,
198provided that the above copyright notice appear in all copies and that
199both that copyright notice and this permission notice appear in
200supporting documentation, and that the names of Stichting Mathematisch
201Centrum or CWI or Corporation for National Research Initiatives or
202CNRI not be used in advertising or publicity pertaining to
203distribution of the software without specific, written prior
204permission.
205
206While CWI is the initial source for this software, a modified version
207is made available by the Corporation for National Research Initiatives
208(CNRI) at the Internet address ftp://ftp.python.org.
209
210STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
211REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
212MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
213CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
214DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
215PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
216TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
217PERFORMANCE OF THIS SOFTWARE.
218----------------------------------------------------------------------