Fixed a lot of the smaller nits identified in Guido's comments.
Filled in some of the "blank" areas, and added another large blank area for a LaTeX primer. (Still a lot to be done.)
This commit is contained in:
parent
825df2a14d
commit
2c4e009b66
|
@ -33,6 +33,9 @@ This document describes the document classes and special markup used
|
||||||
in the Python documentation. Authors may use this guide, in
|
in the Python documentation. Authors may use this guide, in
|
||||||
conjunction with the template files provided with the
|
conjunction with the template files provided with the
|
||||||
distribution, to create or maintain whole documents or sections.
|
distribution, to create or maintain whole documents or sections.
|
||||||
|
|
||||||
|
[Notes and questions in brackets, like this, are notes to myself while
|
||||||
|
developing this document.]
|
||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
|
@ -53,9 +56,22 @@ distribution, to create or maintain whole documents or sections.
|
||||||
from the community have proved useful during the time I've been
|
from the community have proved useful during the time I've been
|
||||||
involved in maintaining the documentation.
|
involved in maintaining the documentation.
|
||||||
|
|
||||||
[Who is this document for?]
|
This document is aimed at authors and potential authors of
|
||||||
|
documentation for Python. Among this group, it is aimed primarily
|
||||||
|
at people contributing to the standard documentation and developing
|
||||||
|
additional documents using the same tools as the standard
|
||||||
|
documents. This guide will be less useful for authors using the
|
||||||
|
Python documentation tools for topics other than Python, and less
|
||||||
|
useful still for authors not using the tools at all.
|
||||||
|
|
||||||
[What does it cover?]
|
The material in this guide is intended to assist authors using the
|
||||||
|
Python documentation tools. It includes information on the source
|
||||||
|
distribution of the standard documentation, a discussion of the
|
||||||
|
Python document classes, reference material on the markup defined in
|
||||||
|
the document classes, a list of the tools need for processing
|
||||||
|
documents, and reference material on the tools provided with the
|
||||||
|
documentation resources. At the end, there is also a section
|
||||||
|
discussing future directions for the Python documentation.
|
||||||
|
|
||||||
\section{Directory Structure}
|
\section{Directory Structure}
|
||||||
|
|
||||||
|
@ -69,7 +85,7 @@ distribution, to create or maintain whole documents or sections.
|
||||||
|
|
||||||
The documentation sources are usually placed within the Python
|
The documentation sources are usually placed within the Python
|
||||||
source distribution as the top-level subdirectory \file{Doc/}, but
|
source distribution as the top-level subdirectory \file{Doc/}, but
|
||||||
is independent of the Python source distribution.
|
are independent of the Python source distribution.
|
||||||
|
|
||||||
The \file{Doc/} directory contains a few files and several
|
The \file{Doc/} directory contains a few files and several
|
||||||
subdirectories. The files are mostly self-explanatory, including a
|
subdirectories. The files are mostly self-explanatory, including a
|
||||||
|
@ -83,12 +99,12 @@ distribution, to create or maintain whole documents or sections.
|
||||||
three-character names.
|
three-character names.
|
||||||
|
|
||||||
\term{Format-Specific Output}
|
\term{Format-Specific Output}
|
||||||
Most output formats have a directory provided which contains a
|
Most output formats have a directory which contains a
|
||||||
\file{Makefile} which controls the generation of that format
|
\file{Makefile} which controls the generation of that format
|
||||||
and provides storage for the formatted documents. The only
|
and provides storage for the formatted documents. The only
|
||||||
variation within this category is the Portable Document Format
|
variations within this category are the Portable Document
|
||||||
(PDF) and PostScript versions are placed in the directories
|
Format (PDF) and PostScript versions are placed in the
|
||||||
\file{paper-a4/} and \file{paper-letter/}.
|
directories \file{paper-a4/} and \file{paper-letter/}.
|
||||||
|
|
||||||
\term{Supplemental Files}
|
\term{Supplemental Files}
|
||||||
Some additional directories are used to store supplemental
|
Some additional directories are used to store supplemental
|
||||||
|
@ -99,6 +115,13 @@ distribution, to create or maintain whole documents or sections.
|
||||||
the formatting processes.
|
the formatting processes.
|
||||||
\end{definitions}
|
\end{definitions}
|
||||||
|
|
||||||
|
|
||||||
|
\section{\LaTeX{} Syntax Primer \label{latex-primer}}
|
||||||
|
|
||||||
|
[This section will discuss what the markup looks like, and explain
|
||||||
|
the difference between an environment and a macro.]
|
||||||
|
|
||||||
|
|
||||||
\section{Document Classes}
|
\section{Document Classes}
|
||||||
|
|
||||||
Two \LaTeX{} document classes are defined specifically for use with
|
Two \LaTeX{} document classes are defined specifically for use with
|
||||||
|
@ -129,6 +152,10 @@ distribution, to create or maintain whole documents or sections.
|
||||||
|
|
||||||
\section{Python-specific Markup}
|
\section{Python-specific Markup}
|
||||||
|
|
||||||
|
The Python document classes define a lot of new environments and
|
||||||
|
macros. This section contains the reference material for these
|
||||||
|
facilities.
|
||||||
|
|
||||||
\subsection{Information Units \label{info-units}}
|
\subsection{Information Units \label{info-units}}
|
||||||
|
|
||||||
Most of the environments should be described here: \env{excdesc},
|
Most of the environments should be described here: \env{excdesc},
|
||||||
|
@ -185,9 +212,9 @@ distribution, to create or maintain whole documents or sections.
|
||||||
Access to the SPAM facility}
|
Access to the SPAM facility}
|
||||||
|
|
||||||
\declaremodule{extension}{spam}
|
\declaremodule{extension}{spam}
|
||||||
\platform{SomeOS}
|
\platform{Unix}
|
||||||
\modulesynopsis{Access to the SPAM facility of SomeOS.}
|
\modulesynopsis{Access to the SPAM facility of Unix.}
|
||||||
\moduleauthor{John Doe}{john.doe@frobnication.org}
|
\moduleauthor{Jane Doe}{jane.doe@frobnitz.org}
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
\begin{macrodesc}{declaremodule}{{[}\var{key}{]}\{\var{type}\}\{\var{name}\}}
|
\begin{macrodesc}{declaremodule}{{[}\var{key}{]}\{\var{type}\}\{\var{name}\}}
|
||||||
|
@ -195,9 +222,9 @@ distribution, to create or maintain whole documents or sections.
|
||||||
extension), and the module name. An optional parameter should be
|
extension), and the module name. An optional parameter should be
|
||||||
given as the basis for the module's ``key'' used for linking to or
|
given as the basis for the module's ``key'' used for linking to or
|
||||||
referencing the section. The ``key'' should only be given if the
|
referencing the section. The ``key'' should only be given if the
|
||||||
module's name contains underscores, and should be the name with the
|
module's name contains any underscores, and should be the name
|
||||||
underscore's stripped. This should be the first thing after the
|
with the underscores stripped. This should be the first thing
|
||||||
\macro{section} used to introduce the module.
|
after the \macro{section} used to introduce the module.
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
\begin{macrodesc}{platform}{\{\var{specifier}\}}
|
\begin{macrodesc}{platform}{\{\var{specifier}\}}
|
||||||
|
@ -234,7 +261,7 @@ distribution, to create or maintain whole documents or sections.
|
||||||
the same purpose.
|
the same purpose.
|
||||||
|
|
||||||
\begin{macrodesc}{localmoduletable}{}
|
\begin{macrodesc}{localmoduletable}{}
|
||||||
No parameters. If a \file{.syn} file exists for the current
|
If a \file{.syn} file exists for the current
|
||||||
chapter (or for the entire document in \code{howto} documents), a
|
chapter (or for the entire document in \code{howto} documents), a
|
||||||
\env{synopsistable} is created with the contents loaded from the
|
\env{synopsistable} is created with the contents loaded from the
|
||||||
\file{.syn} file.
|
\file{.syn} file.
|
||||||
|
@ -251,16 +278,17 @@ distribution, to create or maintain whole documents or sections.
|
||||||
be used for an advantage when the documents are processed using
|
be used for an advantage when the documents are processed using
|
||||||
the tools for Python documentation processing. In particular, the
|
the tools for Python documentation processing. In particular, the
|
||||||
generated HTML looks good! There is also an advantage for the
|
generated HTML looks good! There is also an advantage for the
|
||||||
eventual conversion of the documentation to SGML; see Section
|
eventual conversion of the documentation to SGML (see Section
|
||||||
\ref{futures}, ``Future Directions.''
|
\ref{futures}, ``Future Directions'').
|
||||||
|
|
||||||
Each environment is named \env{table\var{cols}}, where \var{cols}
|
Each environment is named \env{table\var{cols}}, where \var{cols}
|
||||||
is the number of columns in the table specified in lower-case
|
is the number of columns in the table specified in lower-case
|
||||||
Roman numerals. Within each of these environments, an additional
|
Roman numerals. Within each of these environments, an additional
|
||||||
macro, \macro{line\var{cols}}, is defined, where \var{cols}
|
macro, \macro{line\var{cols}}, is defined, where \var{cols}
|
||||||
matches the \var{cols} value of the corresponding table
|
matches the \var{cols} value of the corresponding table
|
||||||
environment. These environments are all built on top of the
|
environment. These are supported for \var{cols} values of
|
||||||
\env{tabular} environment.
|
\code{ii}, \code{iii}, and \code{iv}. These environments are all
|
||||||
|
built on top of the \env{tabular} environment.
|
||||||
|
|
||||||
\begin{envdesc}{tableii}{\{\var{colspec}\}\{\var{col1font}\}\{\var{heading1}\}\{\var{heading2}\}}
|
\begin{envdesc}{tableii}{\{\var{colspec}\}\{\var{col1font}\}\{\var{heading1}\}\{\var{heading2}\}}
|
||||||
Create a two-column table using the \LaTeX{} column specifier
|
Create a two-column table using the \LaTeX{} column specifier
|
||||||
|
@ -346,11 +374,11 @@ distribution, to create or maintain whole documents or sections.
|
||||||
the creation of indexes. Much of the difficulty arises in the
|
the creation of indexes. Much of the difficulty arises in the
|
||||||
area of terminology: including the terms an expert would use for a
|
area of terminology: including the terms an expert would use for a
|
||||||
concept is not sufficient. Coming up with the terms that a novice
|
concept is not sufficient. Coming up with the terms that a novice
|
||||||
would look up is fairly difficult for an author who, hopefully, is
|
would look up is fairly difficult for an author who, typically, is
|
||||||
an expert in the area she is writing on.
|
an expert in the area she is writing on.
|
||||||
|
|
||||||
The truly difficult aspects of index generation are not something
|
The truly difficult aspects of index generation are not areas with
|
||||||
which the documentation tools can help with, unfortunately. Ease
|
which the documentation tools can help. However, ease
|
||||||
of producing the index once content decisions are make is within
|
of producing the index once content decisions are make is within
|
||||||
the scope of the tools. Markup is provided which the processing
|
the scope of the tools. Markup is provided which the processing
|
||||||
software is able to use to generate a variety of kinds of index
|
software is able to use to generate a variety of kinds of index
|
||||||
|
@ -377,18 +405,27 @@ distribution, to create or maintain whole documents or sections.
|
||||||
programming languages or even Python.
|
programming languages or even Python.
|
||||||
|
|
||||||
\begin{macrodesc}{bifuncindex}{\{\var{name}\}}
|
\begin{macrodesc}{bifuncindex}{\{\var{name}\}}
|
||||||
|
Add a index entry referring to a built-in function named
|
||||||
|
\var{name}; parenthesis should not be included after
|
||||||
|
\var{name}.
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
\begin{macrodesc}{exindex}{\{\var{exception}\}}
|
\begin{macrodesc}{exindex}{\{\var{exception}\}}
|
||||||
|
Add a reference to an exception named \var{exception}. The
|
||||||
|
exception may be either string- or class-based.
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
\begin{macrodesc}{kwindex}{\{\var{keyword}\}}
|
\begin{macrodesc}{kwindex}{\{\var{keyword}\}}
|
||||||
|
Add a reference to a language keyword (not a keyword parameter
|
||||||
|
in a function or method call).
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
\begin{macrodesc}{obindex}{\{\var{object type}\}}
|
\begin{macrodesc}{obindex}{\{\var{object type}\}}
|
||||||
|
Add an index entry for a built-in object type.
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
\begin{macrodesc}{opindex}{\{\var{operator}\}}
|
\begin{macrodesc}{opindex}{\{\var{operator}\}}
|
||||||
|
Add a reference to an operator, such as \samp{+}.
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
\begin{macrodesc}{refmodindex}{{[}\var{key}{]}\{\var{module}\}}
|
\begin{macrodesc}{refmodindex}{{[}\var{key}{]}\{\var{module}\}}
|
||||||
|
@ -419,6 +456,9 @@ distribution, to create or maintain whole documents or sections.
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
\begin{macrodesc}{stindex}{\{\var{statement}\}}
|
\begin{macrodesc}{stindex}{\{\var{statement}\}}
|
||||||
|
Add an index entry for a statement type, such as \keyword{print}
|
||||||
|
or \keyword{try}/\keyword{finally}. [XXX Need better examples
|
||||||
|
of difference from \macro{kwindex}.
|
||||||
\end{macrodesc}
|
\end{macrodesc}
|
||||||
|
|
||||||
|
|
||||||
|
@ -486,7 +526,7 @@ distribution, to create or maintain whole documents or sections.
|
||||||
\item[\program{dvips}]
|
\item[\program{dvips}]
|
||||||
This program is a typical part of \TeX{} installations. It is
|
This program is a typical part of \TeX{} installations. It is
|
||||||
used to generate PostScript from the ``device independent''
|
used to generate PostScript from the ``device independent''
|
||||||
\file{.dvi} files. It is only needed for the conversion to
|
\file{.dvi} files. It is needed for the conversion to
|
||||||
PostScript.
|
PostScript.
|
||||||
|
|
||||||
\item[\program{emacs}]
|
\item[\program{emacs}]
|
||||||
|
@ -494,7 +534,7 @@ distribution, to create or maintain whole documents or sections.
|
||||||
fine kitchen sink it is. It also comes with some of the
|
fine kitchen sink it is. It also comes with some of the
|
||||||
processing needed to support the proper menu structures for
|
processing needed to support the proper menu structures for
|
||||||
Texinfo documents when an info conversion is desired. This is
|
Texinfo documents when an info conversion is desired. This is
|
||||||
only needed for the info conversion. Using \program{xemacs}
|
needed for the info conversion. Using \program{xemacs}
|
||||||
instead of FSF \program{emacs} may lead to instability in the
|
instead of FSF \program{emacs} may lead to instability in the
|
||||||
conversion, but that's because nobody seems to maintain the
|
conversion, but that's because nobody seems to maintain the
|
||||||
Emacs Texinfo code in a portable manner.
|
Emacs Texinfo code in a portable manner.
|
||||||
|
@ -543,7 +583,7 @@ distribution, to create or maintain whole documents or sections.
|
||||||
\item[\program{perl}]
|
\item[\program{perl}]
|
||||||
Perl is required for \LaTeX2HTML{} and one of the scripts used
|
Perl is required for \LaTeX2HTML{} and one of the scripts used
|
||||||
to post-process \LaTeX2HTML output, as well as the
|
to post-process \LaTeX2HTML output, as well as the
|
||||||
HTML-to-Texinfo conversion. This is only required for
|
HTML-to-Texinfo conversion. This is required for
|
||||||
the HTML and GNU info conversions.
|
the HTML and GNU info conversions.
|
||||||
|
|
||||||
\item[\program{python}]
|
\item[\program{python}]
|
||||||
|
@ -558,7 +598,7 @@ distribution, to create or maintain whole documents or sections.
|
||||||
|
|
||||||
This section describes the various scripts that are used to
|
This section describes the various scripts that are used to
|
||||||
implement various stages of document processing or to orchestrate
|
implement various stages of document processing or to orchestrate
|
||||||
entire build sequences. Most of these tools are still only useful
|
entire build sequences. Most of these tools are only useful
|
||||||
in the context of building the standard documentation, but some
|
in the context of building the standard documentation, but some
|
||||||
are more general.
|
are more general.
|
||||||
|
|
||||||
|
@ -602,7 +642,7 @@ distribution, to create or maintain whole documents or sections.
|
||||||
questions: Can we do this more easily? and, Can we do this
|
questions: Can we do this more easily? and, Can we do this
|
||||||
better? After a great deal of discussion with the community, we
|
better? After a great deal of discussion with the community, we
|
||||||
have determined that actively pursuing modern structured
|
have determined that actively pursuing modern structured
|
||||||
documentation systems worth some investment of time.
|
documentation systems is worth some investment of time.
|
||||||
|
|
||||||
There appear to be two real contenders in this arena: the Standard
|
There appear to be two real contenders in this arena: the Standard
|
||||||
General Markup Language (SGML), and the Extensible Markup Language
|
General Markup Language (SGML), and the Extensible Markup Language
|
||||||
|
@ -639,6 +679,6 @@ distribution, to create or maintain whole documents or sections.
|
||||||
|
|
||||||
Comments and bug reports on the standard documents should be sent
|
Comments and bug reports on the standard documents should be sent
|
||||||
to \email{python-docs@python.org}. This may include comments
|
to \email{python-docs@python.org}. This may include comments
|
||||||
about formatting, content, or grammatical errors.
|
about formatting, content, grammatical errors, or this document.
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
Loading…
Reference in New Issue