| % Template for a library manual section. |
| % PLEASE REMOVE THE COMMENTS AFTER USING THE TEMPLATE |
| |
| % ==== 0. ==== |
| % Copy this file to <mydir>/lib<mymodule>.tex, and edit that file |
| % according to the instructions below. |
| |
| |
| % ==== 1. ==== |
| % The section prologue. Give the section a title and provide some |
| % meta-information. References to the module should use |
| % \refbimodindex, \refstmodindex, \refexmodindex or \refmodindex, as |
| % appropriate. |
| |
| \section{\module{spam} --- |
| Short descrition, for section title} |
| |
| % Choose one of these to specify the module module name. If there's |
| % an underscore in the name, use |
| % \declaremodule[modname]{...}{mod_name} instead. |
| % |
| \declaremodule{builtin}{spam} % standard library, in C |
| \declaremodule{standard}{spam} % standard library, in Python |
| \declaremodule{extension}{spam} % not standard, in C |
| \declaremodule{}{spam} % not standard, in Python |
| |
| % Portability statement: Uncomment and fill in the parameter to specify the |
| % availability of the module. The parameter can be Unix, IRIX, SunOS, Mac, |
| % Windows, or lots of other stuff. When ``Mac'' is specified, the availability |
| % statement will say ``Macintosh'' and the Module Index may say ``Mac''. |
| % Please use a name that has already been used whenever applicable. If this |
| % is omitted, no availability statement is produced or implied. |
| % |
| % \platform{UNIX} |
| |
| % These apply to all modules: |
| |
| \moduleauthor{name}{email} % Author of the module code; |
| % omit if not known. |
| \sectionauthor{name}{email} % Author of the documentation, |
| % even if not a module section. |
| |
| |
| % Leave at least one blank line after this, to simplify ad-hoc tools |
| % that are sometimes used to massage these files. |
| \modulesynopsis{This is a one-line descrition, for the chapter header.} |
| |
| |
| % ==== 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 \module{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. |
| |
| |
| % ==== 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 \module{spam} module defines the following functions: |
| |
| % ---- 3.1. ---- |
| % 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\optional{, 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.2. ---- |
| % 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 \function{open()} function has been called. |
| \end{datadesc} |
| |
| % --- 3.3. --- |
| % Exceptions are described using a ``excdesc'' block. This has only |
| % one parameter: the exception name. Exceptions defined as classes in |
| % the source code should be documented using this environment, but |
| % constructor parameters must be ommitted. |
| |
| \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.4. ---- |
| % Other standard environments: |
| % |
| % classdesc - Python classes; same arguments are funcdesc |
| % methoddesc - methods, like funcdesc but has an optional parameter |
| % to give the type name: \begin{methoddesc}[mytype]{name}{args} |
| % By default, the type name will be the name of the |
| % last class defined using classdesc. The type name |
| % is required if the type is implemented in C (because |
| % there's no classdesc) or if the class isn't directly |
| % documented (if it's private). |
| % memberdesc - data members, like datadesc, but with an optional |
| % type name like methoddesc. |
| |
| |
| % ==== 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.) |
| |
| \subsection{Example \label{spam-example}} |
| |
| The following example demonstrates how to open a can of spam using the |
| \module{spam} module. |
| |
| \begin{verbatim} |
| >>> import spam |
| >>> can = spam.open('/etc/passwd') |
| >>> can.empty() |
| >>> can.close() |
| \end{verbatim} |
| % Note that there is no trailing ">>> " prompt shown. |
| |
| % ==== 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. |
| |
| \subsection{Spam Objects} |
| \label{spam-objects} |
| % This label is generally useful for referencing this section, but is |
| % also used to give a filename when generating HTML. |
| |
| Spam objects, as returned by \function{open()} above, have the |
| following methods: |
| |
| \begin{methoddesc}[spam]{empty}{} |
| Empty the can into the trash. |
| \end{methoddesc} |