% Program functions chapter.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Alphabetical listing of user functions}

The following is a listing with descriptions of all the user functions\index{user functions} available within the relax prompt and scripting environments.
These are simply an alphabetical list of the docstrings which can normally be viewed in prompt mode by typing \prompt{help(function)}\index{help system}.




% A warning about the formatting.
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

\section{A warning about the formatting}

The following documentation of the user functions\index{user functions} has been automatically generated by a script which extracts and formats the docstring associated with each function.
There may therefore be instances where the formatting has failed or where there are inconsistencies.



% The list of functions.
%~~~~~~~~~~~~~~~~~~~~~~~

\section{The list of functions}

Each user function\index{user functions} is presented within it's own subsection with the documentation broken into multiple parts:  the synopsis, the default arguments, and the sections from the function's docstring.


% The synopsis.
\subsection{The synopsis}

The synopsis presents a brief description of the function.
It is taken as the first line of the docstring when browsing the help system\index{help system}.


% Defaults.
\subsection{Defaults}

This section lists all the arguments taken by the function and their default values.
To invoke the function type the function name then in brackets type a comma separated list of arguments.

The first argument printed is always `self' but you can safely ignore it.
`self' is part of the object oriented programming within Python and is automatically prefixed to the list of arguments you supply.
Therefore you can't provide `self' as the first argument even if you do try.


% Docstring sectioning.
\subsection{Docstring sectioning}

All other sections are created from the sectioning of the user function docstring.


\begin{latexonly}
   \newpage
   \raggedbottom
   \twocolumn
   {\scriptsize
   \input{docstring}
   }
   \onecolumn
\end{latexonly}
\begin{htmlonly}
   \input{docstring}
\end{htmlonly}
