% generated by GAPDoc2LaTeX from XML source (Frank Luebeck)
\documentclass[a4paper,11pt]{report}

\usepackage{a4wide}
\sloppy
\pagestyle{myheadings}
\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\makeindex
\usepackage{color}
\definecolor{FireBrick}{rgb}{0.5812,0.0074,0.0083}
\definecolor{RoyalBlue}{rgb}{0.0236,0.0894,0.6179}
\definecolor{RoyalGreen}{rgb}{0.0236,0.6179,0.0894}
\definecolor{RoyalRed}{rgb}{0.6179,0.0236,0.0894}
\definecolor{LightBlue}{rgb}{0.8544,0.9511,1.0000}
\definecolor{Black}{rgb}{0.0,0.0,0.0}

\definecolor{linkColor}{rgb}{0.0,0.0,0.554}
\definecolor{citeColor}{rgb}{0.0,0.0,0.554}
\definecolor{fileColor}{rgb}{0.0,0.0,0.554}
\definecolor{urlColor}{rgb}{0.0,0.0,0.554}
\definecolor{promptColor}{rgb}{0.0,0.0,0.589}
\definecolor{brkpromptColor}{rgb}{0.589,0.0,0.0}
\definecolor{gapinputColor}{rgb}{0.589,0.0,0.0}
\definecolor{gapoutputColor}{rgb}{0.0,0.0,0.0}

%%  for a long time these were red and blue by default,
%%  now black, but keep variables to overwrite
\definecolor{FuncColor}{rgb}{0.0,0.0,0.0}
%% strange name because of pdflatex bug:
\definecolor{Chapter }{rgb}{0.0,0.0,0.0}
\definecolor{DarkOlive}{rgb}{0.1047,0.2412,0.0064}


\usepackage{fancyvrb}

\usepackage{mathptmx,helvet}
\usepackage[T1]{fontenc}
\usepackage{textcomp}


\usepackage[
            pdftex=true,
            bookmarks=true,        
            a4paper=true,
            pdftitle={Written with GAPDoc},
            pdfcreator={LaTeX with hyperref package / GAPDoc},
            colorlinks=true,
            backref=page,
            breaklinks=true,
            linkcolor=linkColor,
            citecolor=citeColor,
            filecolor=fileColor,
            urlcolor=urlColor,
            pdfpagemode={UseNone}, 
           ]{hyperref}

\newcommand{\maintitlesize}{\fontsize{50}{55}\selectfont}

% write page numbers to a .pnr log file for online help
\newwrite\pagenrlog
\immediate\openout\pagenrlog =\jobname.pnr
\immediate\write\pagenrlog{PAGENRS := [}
\newcommand{\logpage}[1]{\protect\write\pagenrlog{#1, \thepage,}}
%% were never documented, give conflicts with some additional packages

\newcommand{\GAP}{\textsf{GAP}}

%% nicer description environments, allows long labels
\usepackage{enumitem}
\setdescription{style=nextline}

%% depth of toc
\setcounter{tocdepth}{1}





%% command for ColorPrompt style examples
\newcommand{\gapprompt}[1]{\color{promptColor}{\bfseries #1}}
\newcommand{\gapbrkprompt}[1]{\color{brkpromptColor}{\bfseries #1}}
\newcommand{\gapinput}[1]{\color{gapinputColor}{#1}}


\begin{document}

\logpage{[ 0, 0, 0 ]}
\begin{titlepage}
\mbox{}\vfill

\begin{center}{\maintitlesize \textbf{Automatic Documentation \mbox{}}}\\
\vfill

\hypersetup{pdftitle=Automatic Documentation }
\markright{\scriptsize \mbox{}\hfill Automatic Documentation  \hfill\mbox{}}
{\Huge \textbf{a nice way to create documentations\mbox{}}}\\
\vfill

{\Huge Version 2012.08.03\mbox{}}\\[1cm]
{July 2012\mbox{}}\\[1cm]
\mbox{}\\[2cm]
{\Large \textbf{Mohamed Barakat\\
    \mbox{}}}\\
{\Large \textbf{Sebastian Gutsche\\
    \mbox{}}}\\
\hypersetup{pdfauthor=Mohamed Barakat\\
    ; Sebastian Gutsche\\
    }
\mbox{}\\[2cm]
\begin{minipage}{12cm}\noindent
(\emph{this manual is still under construction}) \\
\\
 This manual is best viewed as an \textsc{HTML} document. An \textsc{offline} version should be included in the documentation subfolder of the package. \\
\\
 \href{http://www.github.com/sebasguts/AutoDoc} {\texttt{http://www.github.com/sebasguts/AutoDoc}} \end{minipage}

\end{center}\vfill

\mbox{}\\
{\mbox{}\\
\small \noindent \textbf{Mohamed Barakat\\
    }  Email: \href{mailto://barakat@mathematik.uni-kl.de} {\texttt{barakat@mathematik.uni-kl.de}}\\
  Homepage: \href{http://www.mathematik.uni-kl.de/~barakat/} {\texttt{http://www.mathematik.uni-kl.de/\texttt{\symbol{126}}barakat/}}\\
  Address: \begin{minipage}[t]{8cm}\noindent
 Department of Mathematics, \\
 University of Kaiserslautern, \\
 67653 Kaiserslautern, \\
 Germany \end{minipage}
}\\
{\mbox{}\\
\small \noindent \textbf{Sebastian Gutsche\\
    }  Email: \href{mailto://sebastian.gutsche@rwth-aachen.de} {\texttt{sebastian.gutsche@rwth-aachen.de}}\\
  Homepage: \href{http://wwwb.math.rwth-aachen.de/~gutsche/} {\texttt{http://wwwb.math.rwth-aachen.de/\texttt{\symbol{126}}gutsche/}}\\
  Address: \begin{minipage}[t]{8cm}\noindent
 Lehrstuhl B f{\"u}r Mathematik, RWTH Aachen, Templergraben 64, 52056 Aachen,
Germany \end{minipage}
}\\
\end{titlepage}

\newpage\setcounter{page}{2}
{\small 
\section*{Copyright}
\logpage{[ 0, 0, 1 ]}
 {\copyright} 2012 by Mohamed Barakat and Sebastian Gutsche

 This package may be distributed under the terms and conditions of the GNU
Public License Version 2. \mbox{}}\\[1cm]
\newpage

\def\contentsname{Contents\logpage{[ 0, 0, 2 ]}}

\tableofcontents
\newpage

 \index{\textsf{AutoDoc}}   
\chapter{\textcolor{Chapter }{Introduction}}\label{intro}
\logpage{[ 1, 0, 0 ]}
\hyperdef{L}{X7DFB63A97E67C0A1}{}
{
  
\section{\textcolor{Chapter }{What is the idea of the \textsf{AutoDoc} package?}}\label{AutoDoc_exp}
\logpage{[ 1, 1, 0 ]}
\hyperdef{L}{X7DD0624C83C11F65}{}
{
  This package is supposed to help creating documentations for \textsf{GAP} packages. It makes it possible to create documentation without writing .xml.
It is not in any way a substitution for GAPDoc, but needs it to compile it's
output. }

  }

    
\chapter{\textcolor{Chapter }{The main functions in the \textsf{AutoDoc} Package}}\label{main_functions}
\logpage{[ 2, 0, 0 ]}
\hyperdef{L}{X7F4A3637844C73BE}{}
{
  
\section{\textcolor{Chapter }{The functions}}\label{functions}
\logpage{[ 2, 1, 0 ]}
\hyperdef{L}{X8173135A7D187358}{}
{
  

\subsection{\textcolor{Chapter }{AUTOMATIC{\textunderscore}DOCUMENTATION}}
\logpage{[ 2, 1, 1 ]}\nobreak
\hyperdef{L}{X85FE8A148090985E}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{AUTOMATIC{\textunderscore}DOCUMENTATION\index{AUTOMATICDOCUMENTATION@\texttt{AUT}\-\texttt{O}\-\texttt{M}\-\texttt{A}\-\texttt{T}\-\texttt{I}\-\texttt{C{\textunderscore}}\-\texttt{D}\-\texttt{O}\-\texttt{C}\-\texttt{U}\-\texttt{M}\-\texttt{E}\-\texttt{N}\-\texttt{T}\-\texttt{A}\-\texttt{TION}}
\label{AUTOMATICDOCUMENTATION}
}\hfill{\scriptsize (global variable)}}\\


 This global variable stores all the streams and some additional data, like
chapter names. }

 

\subsection{\textcolor{Chapter }{CreateAutoDoc}}
\logpage{[ 2, 1, 2 ]}\nobreak
\hyperdef{L}{X87E8381784333A1A}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{CreateAutoDoc({\mdseries\slshape package{\textunderscore}name, documentation{\textunderscore}file, path{\textunderscore}to{\textunderscore}xml{\textunderscore}file, create{\textunderscore}full{\textunderscore}docu[, section{\textunderscore}intros]})\index{CreateAutoDoc@\texttt{CreateAutoDoc}}
\label{CreateAutoDoc}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true}



 This is the main method of the package. After loading the package, run it with
the name of the pacckage you want to create a documentation of as first
argument, with an (empty) filepath (everything will be overwritten) as second
argument. Make sure you have included this file as source if you run your
GAPDoc documentation creating script. The third argument is a path to the
directory where it can store the GAPDoc XML files. The path MUST end with a
slash. It will produce several files out of the Declare*WithDocumentation
declarations you have used in your package \mbox{\texttt{\mdseries\slshape package{\textunderscore}name}}, and one named AutoDocMainFile.xml, which you can simply
include to your documentation. \mbox{\texttt{\mdseries\slshape create{\textunderscore}full{\textunderscore}docu}} can either be true or false. If true, a full documentation with title file is
created. The only thing left for you to do is run GAPDoc and provide a
bibliography. \mbox{\texttt{\mdseries\slshape section{\textunderscore}intros}} is optional, it must be a list containing lists of of either two or three
strings. If two are given, first one must be a chapter title, with underscores
instead of spaces, and the second one a string which will be displayed in the
documentation at the beginning of the chapter. If three are given, first one
must be a chapter, second a section, third the description. }

 

\subsection{\textcolor{Chapter }{DeclareCategoryWithDocumentation}}
\logpage{[ 2, 1, 3 ]}\nobreak
\hyperdef{L}{X813266C082A412F9}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{DeclareCategoryWithDocumentation({\mdseries\slshape name, filter, description[, arguments][, chapter{\textunderscore}and{\textunderscore}section]})\index{DeclareCategoryWithDocumentation@\texttt{DeclareCategoryWithDocumentation}}
\label{DeclareCategoryWithDocumentation}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true}



 This method declares a category, like DeclareCategory( \mbox{\texttt{\mdseries\slshape name}}, \mbox{\texttt{\mdseries\slshape filter}} ) would do. The description string is added to the documentation if
CreateAutoDoc is called. \mbox{\texttt{\mdseries\slshape arguments}} is an optional string which is displayed in the documentation as attribute of
the tester. \mbox{\texttt{\mdseries\slshape chapter{\textunderscore}and{\textunderscore}section}} is an optional arguments which must be a list with two strings, naming the
chapter and the section in which this category should be displayed in the
automatic generated documentation. There are no spaces allowed in this string,
underscores will be converted to spaces in the header of the chapter or the
section. }

 

\subsection{\textcolor{Chapter }{DeclareOperationWithDocumentation}}
\logpage{[ 2, 1, 4 ]}\nobreak
\hyperdef{L}{X82FAF5637E4A651F}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{DeclareOperationWithDocumentation({\mdseries\slshape name, list{\textunderscore}of{\textunderscore}filters, description, return{\textunderscore}value[, arguments][, chapter{\textunderscore}and{\textunderscore}section]})\index{DeclareOperationWithDocumentation@\texttt{DeclareOperationWithDocumentation}}
\label{DeclareOperationWithDocumentation}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true}



 This method declares a operation, like DeclareOperation( \mbox{\texttt{\mdseries\slshape name}}, \mbox{\texttt{\mdseries\slshape list{\textunderscore}of{\textunderscore}filters}} ) would do. The description string is added to the documentation if
CreateAutoDoc is called. \mbox{\texttt{\mdseries\slshape return{\textunderscore}value}} is a string displayed as the return value of the method. It is not optional. \mbox{\texttt{\mdseries\slshape arguments}} is an optional string which is displayed in the documentation as attributes of
the operation. \mbox{\texttt{\mdseries\slshape chapter{\textunderscore}and{\textunderscore}section}} is an optional arguments which must be a list with two strings, naming the
chapter and the section in which this method should be displayed in the
automatic generated documentation. There are no spaces allowed in this string,
underscores will be converted to spaces in the header of the chapter or the
section. }

 

\subsection{\textcolor{Chapter }{DeclareAttributeWithDocumentation}}
\logpage{[ 2, 1, 5 ]}\nobreak
\hyperdef{L}{X833A38277FA4848A}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{DeclareAttributeWithDocumentation({\mdseries\slshape name, filter, description, return{\textunderscore}value[, argument][, chapter{\textunderscore}and{\textunderscore}section]})\index{DeclareAttributeWithDocumentation@\texttt{DeclareAttributeWithDocumentation}}
\label{DeclareAttributeWithDocumentation}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true}



 This method declares an attribute, like DeclareAttribute( \mbox{\texttt{\mdseries\slshape name}}, \mbox{\texttt{\mdseries\slshape filter}} ) would do. The description string is added to the documentation if
CreateAutoDoc is called. \mbox{\texttt{\mdseries\slshape return{\textunderscore}value}} is a string displayed as the return value of the attribute. It is not
optional. \mbox{\texttt{\mdseries\slshape argument}} is an optional string which is displayed in the documentation as attribute of
the attribute. \mbox{\texttt{\mdseries\slshape chapter{\textunderscore}and{\textunderscore}section}} is an optional arguments which must be a list with two strings, naming the
chapter and the section in which this attribute should be displayed in the
automatic generated documentation. There are no spaces allowed in this string,
underscores will be converted to spaces in the header of the chapter or the
section. }

 

\subsection{\textcolor{Chapter }{DeclarePropertyWithDocumentation}}
\logpage{[ 2, 1, 6 ]}\nobreak
\hyperdef{L}{X7E376CD17AA0566F}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{DeclarePropertyWithDocumentation({\mdseries\slshape name, filter, description[, arguments][, chapter{\textunderscore}and{\textunderscore}section]})\index{DeclarePropertyWithDocumentation@\texttt{DeclarePropertyWithDocumentation}}
\label{DeclarePropertyWithDocumentation}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true}



 This method declares a property, like DeclareProperty( \mbox{\texttt{\mdseries\slshape name}}, \mbox{\texttt{\mdseries\slshape filter}} ) would do. The description string is added to the documentation if
CreateAutoDoc is called. \mbox{\texttt{\mdseries\slshape arguments}} is an optional string which is displayed in the documentation as attribute of
the tester. \mbox{\texttt{\mdseries\slshape chapter{\textunderscore}and{\textunderscore}section}} is an optional arguments which must be a list with two strings, naming the
chapter and the section in which this property should be displayed in the
automatic generated documentation. There are no spaces allowed in this string,
underscores will be converted to spaces in the header of the chapter or the
section. }

 

\subsection{\textcolor{Chapter }{DeclareGlobalFunctionWithDocumentation}}
\logpage{[ 2, 1, 7 ]}\nobreak
\hyperdef{L}{X7B8162A87F499094}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{DeclareGlobalFunctionWithDocumentation({\mdseries\slshape name, description, return{\textunderscore}value[, arguments][, chapter{\textunderscore}and{\textunderscore}section]})\index{DeclareGlobalFunctionWithDocumentation@\texttt{Declare}\-\texttt{Global}\-\texttt{Function}\-\texttt{With}\-\texttt{Documentation}}
\label{DeclareGlobalFunctionWithDocumentation}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true}



 This method declares a global function like DeclareGlobalFunction( \mbox{\texttt{\mdseries\slshape name}} ) would do. The description string is added to the documentation if
CreateAutoDoc is called. \mbox{\texttt{\mdseries\slshape return{\textunderscore}value}} is a string displayed as the return value of the function. It is not optional. \mbox{\texttt{\mdseries\slshape arguments}} is an optional string which is displayed in the documentation as attributes of
the operation. \mbox{\texttt{\mdseries\slshape chapter{\textunderscore}and{\textunderscore}section}} is an optional arguments which must be a list with two strings, naming the
chapter and the section in which this function should be displayed in the
automatic generated documentation. There are no spaces allowed in this string,
underscores will be converted to spaces in the header of the chapter or the
section. }

 

\subsection{\textcolor{Chapter }{DeclareGlobalVariableWithDocumentation}}
\logpage{[ 2, 1, 8 ]}\nobreak
\hyperdef{L}{X7CADC9C87BEF79D8}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\ \ \texttt{DeclareGlobalVariableWithDocumentation({\mdseries\slshape name, description[, chapter{\textunderscore}and{\textunderscore}section]})\index{DeclareGlobalVariableWithDocumentation@\texttt{Declare}\-\texttt{Global}\-\texttt{Variable}\-\texttt{With}\-\texttt{Documentation}}
\label{DeclareGlobalVariableWithDocumentation}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true}



 This method declares a global variable like DeclareGlobalVariable( \mbox{\texttt{\mdseries\slshape name}} ) would do. The description string is added to the documentation if
CreateAutoDoc is called. \mbox{\texttt{\mdseries\slshape chapter{\textunderscore}and{\textunderscore}section}} is an optional arguments which must be a list with two strings, naming the
chapter and the section in which this variable should be displayed in the
automatic generated documentation. There are no spaces allowed in this string,
underscores will be converted to spaces in the header of the chapter or the
section. }

  }

 }

 \def\indexname{Index\logpage{[ "Ind", 0, 0 ]}
\hyperdef{L}{X83A0356F839C696F}{}
}

\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Index}


\printindex

\newpage
\immediate\write\pagenrlog{["End"], \arabic{page}];}
\immediate\closeout\pagenrlog
\end{document}
