blob: 5970874e8fbf37d49bf876eab44bb38d239df155 [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
Greg Ward0862f802000-04-28 16:53:36 +000023 inst/*.tex Installing Python Modules
24 dist/*.tex Distributing Python Modules
Guido van Rossum7f777ed1990-08-09 14:25:15 +000025
Fred Drake697c1c71998-08-12 17:13:28 +000026Most use the "manual" document class and "python" package, derived from
27the old "myformat.sty" style file. The Macintosh Library Modules
28document uses the "howto" document class instead. These contains many
29macro definitions useful in documenting Python, and set some style
30parameters.
Guido van Rossum7f777ed1990-08-09 14:25:15 +000031
Fred Drake34eefe51998-03-03 21:41:22 +000032There's a Makefile to call LaTeX and the other utilities in the right
Guido van Rossumf1245a81995-03-20 13:00:53 +000033order and the right number of times. This will produce DVI files for
34each document made; to preview them, use xdvi. PostScript is produced
35by the same Makefile target that produces the DVI files. This uses
Fred Drake71472a51998-03-04 15:21:02 +000036the dvips tool. Printing depends on local conventions; at our site,
37we use lpr. For example:
Guido van Rossum7f777ed1990-08-09 14:25:15 +000038
Fred Drake099b76c1998-05-11 16:31:32 +000039 make lib # create lib.dvi and lib.ps
40 xdvi lib # preview lib.dvi
41 lpr lib.ps # print on default printer
Guido van Rossumcd7bf391992-04-05 15:06:03 +000042
Guido van Rossumf1245a81995-03-20 13:00:53 +000043
Fred Drake71472a51998-03-04 15:21:02 +000044What if I find a bug?
45---------------------
46
47First, check that the bug is present in the online version of the
48documentation at <http://www.python.org/docs/>; we may have already
49fixed it.
50
51If we haven't, tell us about it. We'd like the documentation to be
52complete and accurate, but have limited time. If you discover any
53inconsistencies between the documentation and implementation, or just
54have suggestions as to how to improve the documentation, let is know!
55Send comments and patches to the Python Documentation Team:
56
57 python-docs@python.org
58
59Thanks!
60
61
Fred Drake4190fae1998-05-11 19:05:36 +000062What happened to the Macintosh chapter of the Python Library Reference?
63-----------------------------------------------------------------------
64
65The directory mac/ contains the LaTeX sources for the "Macintosh
Fred Drakebd400941998-08-11 17:41:20 +000066Library Modules" manual; this is built using the standard build
67targets, so check the proper output directory for your chosen format
68and paper size.
Fred Drake4190fae1998-05-11 19:05:36 +000069
70
Fred Drake34eefe51998-03-03 21:41:22 +000071What tools do I need?
72---------------------
Guido van Rossuma417b661997-12-08 20:51:26 +000073
Fred Drake34eefe51998-03-03 21:41:22 +000074You need to install Python; some of the scripts used to produce the
Fred Drakebd400941998-08-11 17:41:20 +000075documentation are written in Python. You don't need this
76documentation to install Python; instructions are included in the
77README file in the Python distribution.
Guido van Rossuma417b661997-12-08 20:51:26 +000078
Fred Drake34eefe51998-03-03 21:41:22 +000079The simplest way to get the rest of the tools in the configuration we
Fred Drake7e861bd2000-08-31 15:29:38 +000080used is to install the teTeX TeX distribution, versions 0.9 or newer.
81More information is available on teTeX at <http://www.tug.org/tetex/>.
82This is a Unix-only TeX distribution at this time. This documentation
83release was tested with the 1.0.7 release, but there have been no
84substantial changes since late in the 0.9 series, which we used
85extensively for previous versions without any difficulty.
Fred Drake34eefe51998-03-03 21:41:22 +000086
Fred Drake099b76c1998-05-11 16:31:32 +000087If you don't want to get teTeX, here is what you'll need:
Fred Drake34eefe51998-03-03 21:41:22 +000088
89To create DVI, PDF, or PostScript files:
90
91 - LaTeX2e, 1995/12/01 or newer. Older versions are likely to
92 choke.
93
94 - makeindex. This is used to produce the indexes for the
95 library reference and Python/C API reference.
96
97To create PDF files:
98
Fred Drake7e861bd2000-08-31 15:29:38 +000099 - pdflatex. We used the one in the teTeX distribution (pdfTeX
100 version 3.14159-13d (Web2C 7.3.1) at the time of this
101 writing). Versions even a couple of patchlevels earlier are
102 highly likely to fail due to syntax changes for some of the
103 pdftex primitives.
Fred Drake34eefe51998-03-03 21:41:22 +0000104
105To create PostScript files:
106
107 - dvips. Most TeX installations include this. If you don't
Fred Drake71472a51998-03-04 15:21:02 +0000108 have one, check CTAN (<ftp://ctan.tug.org/tex-archive/>).
Fred Drake34eefe51998-03-03 21:41:22 +0000109
110To create info files:
111
Fred Drakeda71e311999-01-13 23:02:38 +0000112 Note that info support is currently being revised using new
113 conversion tools by Michael Ernst <mernst@cs.washington.edu>.
Fred Drake45084ed1998-04-09 15:19:41 +0000114
Fred Drake34eefe51998-03-03 21:41:22 +0000115 - makeinfo. This is available from any GNU mirror.
116
Fred Drake45084ed1998-04-09 15:19:41 +0000117 - emacs or xemacs. Emacs is available from the same place as
118 makeinfo, and xemacs is available from ftp.xemacs.org.
119
Fred Drakeda71e311999-01-13 23:02:38 +0000120 - Perl. Find the software at
121 <http://language.perl.com/info/software.html>.
122
Fred Drake95669882000-10-26 19:01:46 +0000123 - HTML::Element. If you don't have this installed, you can get
124 this from CPAN. Use the command:
125
126 perl -e 'use CPAN; CPAN::install("HTML::Element");'
127
128 You may need to be root to do this.
129
Fred Drake34eefe51998-03-03 21:41:22 +0000130To create HTML files:
131
Fred Drake71472a51998-03-04 15:21:02 +0000132 - Perl 5.004_04 or newer. Find the software at
133 <http://language.perl.com/info/software.html>.
Fred Drake34eefe51998-03-03 21:41:22 +0000134
Fred Drakee7aa5dc2000-07-31 17:56:58 +0000135 - LaTeX2HTML 99.2b8. Older versions are not supported; each
136 version changes enough that supporting multiple versions is not
137 likely to work. Many older versions don't work with Perl
138 5.6 as well. This also screws up code fragments. ;-(
139 Releases are available at:
Fred Drake95669882000-10-26 19:01:46 +0000140 <http://saftsack.fs.uni-bayreuth.de/~latex2ht/current/>.
Fred Drake34eefe51998-03-03 21:41:22 +0000141
142
143What if Times fonts are not available?
144--------------------------------------
145
146As distributed, the LaTeX documents use PostScript Times fonts. This
147is done since they are much better looking and produce smaller
148PostScript files. If, however, your TeX installation does not support
Fred Drake4912beb1998-03-11 17:07:35 +0000149them, they may be easily disabled. Edit the file
150texiinputs/manual.cls and comment out the line that starts
Fred Drake41dee841999-03-03 21:39:19 +0000151"\RequirePackage{times}" by inserting a "%" character at the beginning
152of the line. An alternative is to install the right fonts and LaTeX
153style file.
Fred Drake4912beb1998-03-11 17:07:35 +0000154
155
156What if I want to use A4 paper?
157-------------------------------
158
Fred Drake099b76c1998-05-11 16:31:32 +0000159Instead of building the PostScript by giving the command "make", give
160the command "make PAPER=a4"; the output will be produced in the
161paper-a4/ subdirectory.
Guido van Rossuma417b661997-12-08 20:51:26 +0000162
163
Guido van Rossumf1245a81995-03-20 13:00:53 +0000164Making HTML files
165-----------------
166
Fred Drake34eefe51998-03-03 21:41:22 +0000167The LaTeX documents can be converted to HTML using Nikos Drakos'
168LaTeX2HTML converter. See the Makefile; after some twiddling, "make
Fred Drake697c1c71998-08-12 17:13:28 +0000169html" should do the trick.
Guido van Rossumf1245a81995-03-20 13:00:53 +0000170
Fred Drake4912beb1998-03-11 17:07:35 +0000171
Fred Drake6355bd41998-03-27 05:17:21 +0000172What else is in here?
173---------------------
174
175There is a new LaTeX document class called "howto". This is used for
Fred Drakebd400941998-08-11 17:41:20 +0000176the new series of Python HOWTO documents which is being coordinated by
177Andrew Kuchling <amk@acm.org>. The file templates/howto.tex is a
178commented example which may be used a template. A script to "do the
179right thing" to format a howto document is included as
Fred Drake41dee841999-03-03 21:39:19 +0000180tools/mkhowto. These documents can be formatted as HTML, PDF,
Fred Drake00c468b1998-08-12 17:53:46 +0000181PostScript, or ASCII files. Support for this document class is
Fred Drake41dee841999-03-03 21:39:19 +0000182still new, but is expected to evolve rapidly. Use "mkhowto --help"
Fred Drake00c468b1998-08-12 17:53:46 +0000183for information on using the formatting tool.
Fred Drakebd400941998-08-11 17:41:20 +0000184
185For authors of module documentation, there is a file
186templates/module.tex which may be used as a template for a module
187section. This may be used in conjunction with either the howto or
188manual document class. Create the documentation for a new module by
189copying the template to lib<mymodule>.tex and editing according to the
190instructions in the comments.
Fred Drake6355bd41998-03-27 05:17:21 +0000191
192
Fred Drake4912beb1998-03-11 17:07:35 +0000193Copyright notice
194================
195
196The Python source is copyrighted, but you can freely use and copy it
197as long as you don't change or remove the copyright notice:
198
199----------------------------------------------------------------------
200Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
201The Netherlands.
202
203 All Rights Reserved
204
Guido van Rossumfd71b9e2000-06-30 23:50:40 +0000205Copyright (c) 2000, BeOpen.com.
206Copyright (c) 1995-2000, Corporation for National Research Initiatives.
207Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
208All rights reserved.
Fred Drake4912beb1998-03-11 17:07:35 +0000209
Guido van Rossumfd71b9e2000-06-30 23:50:40 +0000210See the file "Misc/COPYRIGHT" for information on usage and
211redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Fred Drake4912beb1998-03-11 17:07:35 +0000212----------------------------------------------------------------------