Producing LOOPS documentation with GAPDoc
------------------------------------------

There are only two source files:

pkg/loops/doc/loops.xml
pkg/loops/doc/loops.bib

Everything else is generated by GAPDoc.

The following "style" files should be present in the pkg/loops/doc folder:

lefttoc.css
manual.css
nocolorprompt.css
ragged.css
times.css
toggless.css
gapdoc.dtd
chooser.html

When files are ready, run the following in GAP:

# path to files, change as needed
path := Directory("c:/cygwin64/opt/gap4r7/pkg/loops/doc");;
main := "loops.xml";;
files := [];;
bookname := "loops";;

# translate bibtex to BibXMLext (only call when loops.bib changes or loops_bib.xml does not exist)
b:=ParseBibFiles( Filename(path, "loops.bib") );;
WriteBibXMLextFile( Filename(path, "loops_bib.xml") ,b);
HeuristicTranslationsLaTeX2XML.ApplyToFile( Filename(path, "loops_bib.xml") );

# produce inline help and latex
doc := ComposedDocument("GAPDoc", path, main, files, true);;
r := ParseTreeXMLString(doc[1], doc[2]);;
CheckAndCleanGapDocTree(r);
t := GAPDoc2Text(r, path);;
GAPDoc2TextPrintTextFiles(t, path);
l := GAPDoc2LaTeX(r);;
FileString(Filename(path, Concatenation(bookname, ".tex")), l);

# now call pddlatex, bibtex, pdflatex, makeindex, pdflatex with argument <loops>

# produce html
AddPageNumbersToSix(r, Filename(path, "loops.pnr"));
PrintSixFile(Filename(path, "manual.six"), r, bookname);
h := GAPDoc2HTML(r, path, "MathJax");;
GAPDoc2HTMLPrintHTMLFiles(h, path);
# optional html without MathJax
# h := GAPDoc2HTML(r, path );;
# GAPDoc2HTMLPrintHTMLFiles(h, path);

# now produce .ps, .dvi from .tex,
# and copy loops.* as manual.* for extensions pdf, ps, dvi

# delete auxiliary files
