cpython/Doc/templates/module.tex

128 lines
4.3 KiB
TeX
Raw Normal View History

1995-03-01 10:07:08 -04:00
% Template for a library manual section.
% PLEASE REMOVE THE COMMENTS AFTER USING THE TEMPLATE
% ==== 1. ====
% Choose one of the following section headers and index entries;
% \section{} generates the section header,
% \bimodindex{} or \stmodindex{} generates an index entry for this
% module. Note that these should only be used for the defining entry
% for the module. Other references to the module should use
% \refbimodindex{} or \refstmodindex{}.
1997-07-18 18:07:34 -03:00
% The \label{module-spam} line is for the \seealso{} command.
1995-03-01 10:07:08 -04:00
\section{Built-in Module \sectcode{spam}} % If implemented in C
1995-10-10 08:57:49 -03:00
\bimodindex{spam}
1995-03-01 10:07:08 -04:00
\section{Standard module \sectcode{spam}} % If implemented in Python
\stmodindex{spam}
1997-07-18 18:07:34 -03:00
\label{module-spam}
1995-03-01 10:07:08 -04:00
% ==== 2. ====
% Give a short overview of what the module does.
% If it is platform specific, mention this.
% Mention other important restrictions or general operating principles.
% For example:
The \code{spam} module defines operations for handling cans of Spam.
It knows the four generally available Spam varieties and understands
both can sizes.
Because spamification requires \UNIX{} process management, the module
is only available on genuine \UNIX{} systems.
1995-03-01 10:07:08 -04:00
% ==== 3. ====
% List the public functions defined by the module. Begin with a
% standard phrase. You may also list the exceptions and other data
% items defined in the module, insofar as they are important for the
% user.
The \code{spam} module defines the following functions:
% ---- 3.1. ----
1995-03-01 11:38:16 -04:00
% Redefine the ``indexsubitem'' macro to point to this module
% (alternatively, you can put this at the top of the file):
1995-03-01 10:07:08 -04:00
\renewcommand{\indexsubitem}{(in module spam)}
% ---- 3.2. ----
% For each function, use a ``funcdesc'' block. This has exactly two
% parameters (each parameters is contained in a set of curly braces):
% the first parameter is the function name (this automatically
% generates an index entry); the second parameter is the function's
% argument list. If there are no arguments, use an empty pair of
% curly braces. If there is more than one argument, separate the
% arguments with backslash-comma. Optional parts of the parameter
% list are contained in \optional{...} (this generates a set of square
% brackets around its parameter). Arguments are automatically set in
% italics in the parameter list. Each argument should be mentioned at
% least once in the description; each usage (even inside \code{...})
% should be enclosed in \var{...}.
\begin{funcdesc}{open}{filename\optional{\, mode\, buffersize}}
Open the file \var{filename} as a can of Spam. The optional
\var{mode} and \var{buffersize} arguments specify the read-write mode
(\code{'r'} (default) or \code{'w'}) and the buffer size (default:
system dependent).
\end{funcdesc}
% ---- 3.3. ----
% Data items are described using a ``datadesc'' block. This has only
% one parameter: the item's name.
\begin{datadesc}{cansize}
The default can size, in ounces. Legal values are 7 and 12. The
default varies per supermarket. This variable should not be changed
once the \code{open()} function has been called.
\end{datadesc}
% --- 3.4. ---
% Exceptions are described using a ``excdesc'' block. This has only
% one parameter: the exception name.
\begin{excdesc}{error}
Exception raised when an operation fails for a Spam specific reason.
The exception argument is a string describing the reason of the
failure.
\end{excdesc}
% ---- 3.5. ----
% There is no standard block type for classes. I generally use
% ``funcdesc'' blocks, since class instantiation looks very much like
% a function call.
% ==== 4. ====
% Now is probably a good time for a complete example. (Alternatively,
% an example giving the flavor of the module may be given before the
% detailed list of functions.)
Example:
\bcode\begin{verbatim}
1995-03-01 10:07:08 -04:00
>>> import spam
>>> can = spam.open('/etc/passwd')
>>> can.empty()
>>> can.close()
\end{verbatim}\ecode
%
1995-03-01 10:07:08 -04:00
% ==== 5. ====
% If your module defines new object types (for a built-in module) or
% classes (for a module written in Python), you should list the
% methods and instance variables (if any) of each type or class in a
% separate subsection. It is important to redefine ``indexsubitem''
% for each subsection.
\subsection{Spam Objects}
1995-03-01 10:07:08 -04:00
Spam objects (returned by \code{open()} above) have the following
methods.
\renewcommand{\indexsubitem}{(spam method)}
\begin{funcdesc}{empty}{}
Empty the can into the trash.
\end{funcdesc}