\documentclass{book}
%\newcommand{\VolumeName}{Volume 2: Axiom Users Guide}
%\input{bookheader.tex}
\pagenumbering{arabic}
\mainmatter
\setcounter{chapter}{0} % Chapter 1

\usepackage{makeidx}
\makeindex
\begin{document}
\begin{verbatim}
\start
Date: Fri, 4 Jul 2008 18:44:52 -0500
From: Tim Daly
To: list
Subject: 20080701.01.tpd.patch (update faq for X11 libs)

Bring the faq up to date with recent X11 lib information

=====================================================================
diff --git a/changelog b/changelog
index 2c5cacc..a9949d1 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20080701 tpd faq update with new info on X11 libs
 20080621 wxh books/bookvol8 default to close if read fails
 20080620 tpd src/input/Makefile test direct product multiply
 20080620 tpd src/input/directproduct.input test direct product multiply
diff --git a/faq b/faq
index 4cbe9af..095810f 100644
--- a/faq
+++ b/faq
@@ -1,5 +1,5 @@
 FAQ  0: How do I use Axiom?
-FAQ  1: Xlib.h is not found
+FAQ  1: X11 libraries not found
 FAQ  2: axiom.sty is not found
 FAQ  3: make hangs
 FAQ  4: noweb needs to be rebuilt
@@ -62,7 +62,7 @@ Either way, it will show up in
 (yourpath)/axiom/mnt/linux/doc/book.dvi
 
 ===================================================================
-FAQ 1: Xlib.h is not found
+FAQ 1: X11 libraries not found
 ===================================================================
 
 You need to have Xlib.h to build the graphics. If you are building
@@ -72,6 +72,10 @@ on a RedHat 8 system you need to install the following RPM:
 
 On Debian GNU/Linux, the package 'xlibs-dev' is needed.
 
+On Fedora 9: 
+  yum install xorg-x11-proto-devel 
+  rpm -i --nodeps libXt-devel-1.0.4-5.fc9.i386.rpm (for Intrinsics.h)
+
 ===================================================================
 FAQ 2: axiom.sty is not found
 ===================================================================

\start
Date: Fri, 4 Jul 2008 18:51:42 -0500
From: Tim Daly
To: list
Subject: 20080704.01.tpd.patch (add Samantha Goldrich to credits)

Add Samantha Goldrich to credits
========================================================================
diff --git a/changelog b/changelog
index a9949d1..e666ae0 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20080704 tpd readme add Samantha Goldrich to credits
+20080704 tpd src/interp/setq.lisp add Samantha Goldrich to credits
 20080701 tpd faq update with new info on X11 libs
 20080621 wxh books/bookvol8 default to close if read fails
 20080620 tpd src/input/Makefile test direct product multiply
diff --git a/readme b/readme
index 406ac65..b2e20ab 100644
--- a/readme
+++ b/readme
@@ -201,10 +201,11 @@ at the axiom command prompt will prettyprint the list.
 "Brian Ford             Albrecht Fortenbacher  George Frances"
 "Constantine Frangos    Timothy Freeman        Korrinn Fu"
 "Marc Gaetano           Rudiger Gebauer        Kathy Gerber"
-"Patricia Gianni        Holger Gollan          Teresa Gomez-Diaz"
-"Laureano Gonzalez-Vega Stephen Gortler        Johannes Grabmeier"
-"Matt Grayson           Klaus Ebbe Grue        James Griesmer"
-"Vladimir Grinberg      Oswald Gschnitzer      Jocelyn Guidry"
+"Patricia Gianni        Samantha Goldrich      Holger Gollan"
+"Teresa Gomez-Diaz      Laureano Gonzalez-Vega Stephen Gortler"
+"Johannes Grabmeier     Matt Grayson           Klaus Ebbe Grue"
+"James Griesmer         Vladimir Grinberg      Oswald Gschnitzer"
+"Jocelyn Guidry"
 "Steve Hague            Satoshi Hamaguchi      Mike Hansen"
 "Richard Harke          Vilya Harvey           Martin Hassner"
 "Arthur S. Hathaway     Dan Hatton             Waldek Hebisch"
diff --git a/src/interp/setq.lisp.pamphlet b/src/interp/setq.lisp.pamphlet
index 6954079..f6e1c05 100644
--- a/src/interp/setq.lisp.pamphlet
+++ b/src/interp/setq.lisp.pamphlet
@@ -612,10 +612,11 @@
 "Brian Ford             Albrecht Fortenbacher  George Frances"
 "Constantine Frangos    Timothy Freeman        Korrinn Fu"
 "Marc Gaetano           Rudiger Gebauer        Kathy Gerber"
-"Patricia Gianni        Holger Gollan          Teresa Gomez-Diaz"
-"Laureano Gonzalez-Vega Stephen Gortler        Johannes Grabmeier"
-"Matt Grayson           Klaus Ebbe Grue        James Griesmer"
-"Vladimir Grinberg      Oswald Gschnitzer      Jocelyn Guidry"
+"Patricia Gianni        Samantha Goldrich      Holger Gollan"
+"Teresa Gomez-Diaz      Laureano Gonzalez-Vega Stephen Gortler"
+"Johannes Grabmeier     Matt Grayson           Klaus Ebbe Grue"
+"James Griesmer         Vladimir Grinberg      Oswald Gschnitzer"
+"Jocelyn Guidry"
 "Steve Hague            Satoshi Hamaguchi      Mike Hansen"
 "Richard Harke          Vilya Harvey           Martin Hassner"
 "Arthur S. Hathaway     Dan Hatton             Waldek Hebisch"

\start
Date: Mon, 7 Jul 2008 19:36:33 -0400
From: Bill Page
To: David Joyner
Subject: SIGSAM article on Axiom

David,

Thank you for your excellent article on Axiom in:

http://www.sigsam.org/cca/issues/issue164.html

\start
Date: Tue, 8 Jul 2008 17:05:39 +0200 (CEST)
From: Fabio Stumbo
To: list
Subject: About axiom.sty

I have a (small) problem with axiom.sty: I am writing a pamphlet file 
considering it a as tex file, using the chunck enviroment.
For this, of course, I use the package axiom.sty.

Everything works right, with the only minor problem that when I use also 
the amsmath package there are two new commands from axiom.sty which 
conflict with amsmath, namely \eth and \boxed.

I worked around this simply by commenting out the relative definitions in 
axiom.sty.

I just wanted to know if this is known, and thus accepted, so I must stay 
with my modified style, or not, in which case you might consider modifying 
it (it seems to me we can assume that quite often amsmath is a loaded 
package)

\start
Date: Tue, 8 Jul 2008 15:35:51 -0400
From: Tim Daly
To: list
Subject: Re: About axiom.sty recognized.

axiom.sty should be placed last in the include list.
axiom.sty uses \providecommand which will define the macro only
if it does not already exist so it will not cause redefinition conflicts.

\start
Date: Wed, 9 Jul 2008 09:40:30 +0200 (CEST)
From: Fabio Stumbo
To: list
Subject: Re: About axiom.sty

> axiom.sty should be placed last in the include list.
> axiom.sty uses \providecommand which will define the macro only
> if it does not already exist so it will not cause redefinition conflicts.

You are right. Many thanks and please forgive me for a try that I should 
have done before posting. I can only say I had memory that I already 
tried this and didn't work.

\start
Date: Tue, 15 Jul 2008 15:22:07 -0400
From: Bill Page
To: Gregory Vanuxem
Subject: Re: [Axiom-mail] Two hyperdoc questions

SGkgR3JlZywKCkkgYW0gc3VyZSB0aGF0IHRoZSBGcmlDQVMsIE9wZW5BeGlvbSBhbmQvb3IgQXhp
b20gcHJvamVjdHMgd291bGQKd2VsY29tZSBhIGNvbW1pdCBjb250YWluaW5nIHRoaXMgcGF0Y2gg
dG8gYSByZXBvc2l0b3J5Li4uIDotKQoKUmVnYXJkcywKQmlsbCBQYWdlLgoKPj4gT24gV2VkLCBK
dWwgOSwgMjAwOCBhdCA3OjAzIFBNLCBBbGFzZGFpciBNY0FuZHJldyB3cm90ZToKPj4gPiAxKSBJ
cyBpdCBwb3NzaWJsZSB0byBjb25maWd1cmUgaHlwZXJkb2Mgc28gdGhhdCBpdCByZXNwb25kcyB0
byB0aGUgbW91c2UKPj4gPiB3aGVlbCBmb3Igc2Nyb2xsaW5nPwo+Pgo+IExlIG1lcmNyZWRpIDA5
IGp1aWxsZXQgMjAwOCDDoCAyMDoxMyAtMDQwMCwgQmlsbCBQYWdlIGEgw6ljcml0IDoKPj4gU2Vl
ICJFeHBlcmltZW50YWwgc3VwcG9ydCBvZiB0aGUgbW91c2Ugd2hlZWwgaW4gSHlwZXJkb2MiIGF0
Cj4+Cj4+IGh0dHA6Ly9saXN0cy5ub25nbnUub3JnL2FyY2hpdmUvaHRtbC9heGlvbS1kZXZlbG9w
ZXIvMjAwNi0xMS9tc2cwMDQxMS5odG1sCj4KT24gVGh1LCBKdWwgMTAsIDIwMDggYXQgMToxOCBQ
TSwgR3JlZ29yeSBWYW51eGVtIHdyb3RlOgo+IFRoYW5rcyBCaWxsIGZvciByZXN1cnJlY3Rpbmcg
dGhpcyBtYWlsLiBJbiBjYXNlIHlvdSBhcHBseSB0aGlzIHBhdGNoIGFuZAo+IHVzZSBpdCBbMV0s
IHBsZWFzZSwgbGV0IG1lIGtub3cgaWYgeW91IGVuY291bnRlciBhbnkgYnVncy4KPgo+IEdyZWcK
Pgo+IFsxXSDvu79JIG5vIGxvbmdlciBjb25zaWRlciBpdCBhcyBleHBlcmltZW50YWwgYW5kIGFt
IHVzaW5nIGl0Cj4K

\start
Date: Tue, 15 Jul 2008 15:26:47 -0500
From: Tim Daly
To: list
Subject: 20080715.01.tpd.patch (bookvol7.1 hyperdoc pages)

As of this patch all of the hyperdoc programs are built directly from
bookvol7.pamphlet. All of the hyperdoc pages are built from 
bookvol7.1.pamphlet.

Thus all of hyperdoc is now in book form. 

The PDFs have a table of contents and extensive index entries, all of
which are hyperlinks.

The hyperdoc programs need code review and deep documentation.  The
hyperdoc pages need updating. A review of the pages shows that it is a
forest of trees, but only one tree can be reached from the
rootpage. Some of the pages are out of date.

The remaining files from src/hyper will be removed shortly.

The patch is too large to attach.

\start
Date: Tue, 15 Jul 2008 17:27:14 -0500
From: Tim Daly
To: list
Subject: 20080715.03.gxv.patch (mousewheel handling by Greg Vanuxem)

Greg Vanuxem added mousewheel handling to hyperdoc.

=======================================================================
diff --git a/books/bookvol7.pamphlet b/books/bookvol7.pamphlet
index f72ae09..ca3be16 100644
--- a/books/bookvol7.pamphlet
+++ b/books/bookvol7.pamphlet
@@ -8598,6 +8598,20 @@ static void handleButton(int button, XButtonEvent * event) {
     HyperLink *link;
     HyperDocPage *page = NULL;
     char *page_name;
+
+    /* handle mouse wheel (Gregory Vanuxem) */    
+    if (event->window == gWindow->fMainWindow ||
+        event->window == gWindow->fScrollWindow) {
+      if (button == 4) {
+        scrollUp();
+        return;
+      }
+      else if (button == 5) {
+        scrollDown();
+        return;
+      }
+    }
+
     /* find page name from sub-window handle */
     link = getHyperLink(event);
     if (link == NULL) {       /* user clicked on an inactive area */
diff --git a/changelog b/changelog
index 3779e6a..49034fa 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20080715 gxv books/bookvol7 add scroll wheel handling
 20080715 tpd src/Makefile add bookvol7.1
 20080715 tpd books/bookvol7 move htadd to bookvol7.1
 20080715 tpd books/bookvol7.1 construct hypertex pages

\start
Date: Wed, 16 Jul 2008 00:34:52 -0500
From: Tim Daly
To: list
Subject: 20080715.04.tpd.patch (remove ht.db from bookvol7)

The ht.db processing stanza was removed and the all: stanza
no longer requests the processing. 

====================================================================
diff --git a/books/bookvol7.pamphlet b/books/bookvol7.pamphlet
index ca3be16..6f2724b 100644
--- a/books/bookvol7.pamphlet
+++ b/books/bookvol7.pamphlet
@@ -20590,9 +20590,6 @@ IN=     ${SRC}/hyper
 HYPER=${MNT}/${SYS}/doc/hypertex
 BMAPS=${HYPER}/bitmaps
 
-# this is where the hyperdoc pages are
-PAGES=${HYPER}/pages
-
 CFLAGS= ${CCF} 
 LDFLAGS= -L${LIB} -lspad ${LDF}
 
@@ -20605,7 +20602,7 @@ HYPER_LIBS=${LIBS} ${LIB}/pixmap.o ${LIB}/spadcolors.o ${LIB}/util.o
 
 all: ${OUTLIB}/spadbuf ${OUTLIB}/ex2ht ${OUTBIN}/htadd ${OUTLIB}/hthits \
      ${OUTLIB}/htsearch ${OUTLIB}/presea ${OUTBIN}/hypertex \
-     ${PAGES}/ht.db ${HYPER}/axbook \
+     ${HYPER}/axbook \
      ${HYPER}/bigbayou.png ${HYPER}/doctitle.png
 	@cp ${IN}/bitmaps/* ${HYPER}/bitmaps
 	@ echo 0 finished ${BOOK}
@@ -20663,19 +20660,6 @@ ${HYPER}/axbook: ${IN}/axbook.tgz
 	@ echo 10 making ${HYPER}/axbook/xhtml from ${IN}/axbook.tgz
 	@( cd ${HYPER} ; tar -zxf ${IN}/axbook.tgz )
 
-${PAGES}/ht.db: ${IN}/pages/*.ht ${IN}/pages/*.pht
-	@echo 11 making ${PAGES} from ${SRC}/pages directory
-	@ mkdir -p ${PAGES}
-	@ mkdir -p ${BMAPS}
-	@ cp -pr ${IN}/pages/*.ht ${PAGES}
-	@ cp -pr ${IN}/pages/*.pht ${PAGES}
-	@ (cd ${PAGES} ; \
-           rm -f ht.db ; \
-           rm -f *~ ; \
-	   htadd *.ht *.pht )
-	@ cp -pr ${IN}/bitmaps ${HYPER}
-	@ cp -pr ${IN}/viewports ${MNT}/${SYS}/doc
-
 @
 \eject
 \begin{thebibliography}{99}
diff --git a/changelog b/changelog
index 49034fa..2c353c7 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20090715 tpd books/bookvol7 remove ht.db processing
 20080715 gxv books/bookvol7 add scroll wheel handling
 20080715 tpd src/Makefile add bookvol7.1
 20080715 tpd books/bookvol7 move htadd to bookvol7.1

\start
Date: Wed, 16 Jul 2008 10:14:48 -0500
From: Tim Daly
To: list
Subject: Version Numbers and Linus

I found this truly amusing, especially the comments:

<http://linux.slashdot.org/linux/08/07/16/1310239.shtml>

Quoting:

  In a recent thread it was asked what it would take for an 'unstable' 2.7
  development tree to be created, to which Linus replied: 'Nothing. I'm not 
  going back to the old model. The new model is so much better that its not
  even worth entertaining as a theory to go back. That said, I_am_ considering
  changing just the numbering. Not to go back to the old model, but because
  a constantly increasing minor number leads to big numbers. I'm not all that
  thrilled with "26" as a number: it's hard to remember. I think the 
  time-based releases (ie the "2 weeks of merge window until -rc1, followed
  by roughly two months of stabilization") has been so successful that I'd
  prefer to skip the version numbering model too. We don't do releases based
  on "features" any more, so why should we do version_numbering_ based on
  "features"?

Needless to say, the comments are quite funny. 

As you know, the Axiom releases are "numbered" by Month-Year as in "May 2008".
I've been releasing Axiom every 2 months for the last few years (modulo
some storms) so the "version" refers to the month and year of the release.
Development is done in git so particular versions can be exactly recovered
from the git HEAD numbers.

\start
Date: Wed, 16 Jul 2008 18:11:17 -0500
From: Tim Daly
To: list
Subject: SVN failure on Sourceforge.net

All axiom development is done in git. The silver version
is available in git at axiom-developer.org. The "released
gold" version is on github.

I maintain a shadow copy of the axiom development tree
on sourceforge in SVN, the so-called silver version.

SVN has failed, yet again. Now it won't let me do updates due to:

  OPTIONS request failed on '/svnroot/axiom/trunk/axiom'

which failed in mid-commit so the SVN silver version on sourceforge is
bent. Do not use it until further notice.

About every 5th time I try to commit to SVN it fails.  SVN is a
worthless pile of broken code. It is slow, unreliable, keeps duplicate
copies of the repository, cannot handle obvious tasks like deleting a
subdirectory, and fails on some merging cases. 

I have used git for over a year and it has not failed once.

I will try over the next day or so to recover the SVN tree.
If that fails then I'll abandon SVN completely. Axiom is available
in git, cvs and arch.

Source code control programs should "just work" and SVN does not.
What a horrible waste of good development cycles.

\start
Date: Wed, 16 Jul 2008 21:39:31 -0500
From: Gabriel Dos Reis
To: Tim Daly
Subject: Re: SVN failure on Sourceforge.net

On Wed, Jul 16, 2008 at 6:11 PM,  Tim Daly wrote:
> All axiom development is done in git. The silver version
> is available in git at axiom-developer.org. The "released
> gold" version is on github.
>
> I maintain a shadow copy of the axiom development tree
> on sourceforge in SVN, the so-called silver version.
>
> SVN has failed, yet again. Now it won't let me do updates due to:

I'm sure as a project manager hosted a SF, you received an email
from SF suggesting that you should be aware of migration ahead
and that you should have a t look at

http://sourceforge.net/community/forum/forum.php?id=11&page


which among other things has:

   Subversion migration on track for 2008-07-16

`date` on my machine (CST) says that we are on July 16, 2008.

I would not be surprised if the migration is not finished yet
.
Programmers know when to blame the tools, not the
operators.

\start
Date: Thu, 17 Jul 2008 00:59:55 -0400
From: Tim Daly
To: Gabriel Dos Reis
Subject: Re: SVN failure on Sourceforge.net

>> All axiom development is done in git. The silver version
>> is available in git at axiom-developer.org. The "released
>> gold" version is on github.
>>
>> I maintain a shadow copy of the axiom development tree
>> on sourceforge in SVN, the so-called silver version.
>>
>> SVN has failed, yet again. Now it won't let me do updates due to:
>
>I'm sure as a project manager hosted a SF, you received an email
>from SF suggesting that you should be aware of migration ahead
>and that you should have a t look at
>
>http://sourceforge.net/community/forum/forum.php?id=11&page
>
>
>which among other things has:
>
>   Subversion migration on track for 2008-07-16
>
>`date` on my machine (CST) says that we are on July 16, 2008.
>
>I would not be surprised if the migration is not finished yet
>.
>Programmers know when to blame the tools, not the
>operators.

Excellent point. A possible cause. Mea culpa.

If this were the only SVN failure I'd experienced in the last
year I'd be quite mistaken. Note, however, that I've done an
update on the average of once every few days. SVN fails
quite frequently. When you consider that my basic sequence is

  patch -p1 <latest-git-patch-file
  svn status
  svn commit -Flatest-git-commit-msg

I'm not using it for anything but recording changes. For me it 
simply implies that the level of code quality in SVN is nowhere 
near what it needs to be. I really try hard not to leave broken
code in public repositories.

The git code, written over a few weeks time by Linus, 
gets used much more heavily because I do local 
branches/adds/resets/pulls/commits/pushs all day long.
git has yet to fail.

You only notice a tool when it breaks. And I have direct 
comparative results of these tools. git never breaks. SVN does.
At least for me. You may not have seen SVN fail.

The SVN silver repo on sourceforge is now current again.

\start
Date: Wed, 16 Jul 2008 22:41:48 -0500
From: Tim Daly
To: list
Subject: Hyperdoc and scroll wheel

I bought a scroll wheel mouse today and tested the patch to hyperdoc
by Greg. It works.

\start
Date: Wed, 16 Jul 2008 23:42:02 -0500
From: Gabriel Dos Reis
To: Tim Daly
Subject: Re: SVN failure on Sourceforge.net

On Wed, Jul 16, 2008 at 11:59 PM, Tim Daly wrote:

> If this were the only SVN failure I'd experienced in the last
> year I'd be quite mistaken. Note, however, that I've done an
> update on the average of once every few days. SVN fails
> quite frequently. When you consider that my basic sequence is
>
>  patch -p1 <latest-git-patch-file
>  svn status
>  svn commit -Flatest-git-commit-msg
>
> I'm not using it for anything but recording changes. For me it
> simply implies that the level of code quality in SVN is nowhere
> near what it needs to be. I really try hard not to leave broken
> code in public repositories.

I do not deny your failure reports.  In fact, they always trouble me.
I believe I do fairly frequent commits to the OpenAxiom SVN repo
at SF, and I don't think I have had that success rate of negative experience
as your reports -- yet, I think do more complicated manipulations that the
above basic commit commands.  Maybe it is something personal
between you and SVN :-)

-- Gaby, in the middle of syncing all his SVN repos, before hitting the road.

\start
Date: Thu, 17 Jul 2008 00:24:05 -0500
From: Tim Daly
To: list
Subject: 20080717.03.tpd.patch (remove src/graph)

The src/graph directory is no longer used and is removed.
All of the code now lives in books/bookvol8.pamphlet

It turns out that by using literate programming the idea of
include files simply disappears. You can achieve the same goal
by extracting chunks. Due to system constraints you still need
to include standard include files like <stdio.h>, etc.

You also don't need many small, separate C files as they can all
be extracted out to form a single executable program. 

So now hypertex is a single source file, as is htadd etc.

=========================================================================
diff --git a/src/graph/Makefile.pamphlet b/src/graph/Makefile.pamphlet
deleted file mode 100644
index 69f0647..0000000
--- a/src/graph/Makefile.pamphlet
+++ /dev/null
@@ -1,136 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/graph Makefile}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{Directory overview}
-\subsection{Environment variables}
-DIRS is a list of directories with the suffix {\bf dir}.
-
-Thus if we have a new directory {\bf foo} add it to the {\bf DIRS}
-variable as {\bf foodir}. It will automatically be added to {\bf DOCS}
-as {\bf foodocument} and {\bf CLNS} as {\bf fooclean}.
-
-These variables are used to drive the make, make document, and
-make clean processes, respectively.
-
-<<environment>>=
-BOOK=${SPD}/books/bookvol8.pamphlet
-DIRS=viewmandir gdrawsdir view2ddir view3ddir viewalonedir
-
-@
-\subsection{The viewman directory}
-<<viewmandir>>=
-viewmandir: ${INT}/graph/viewman/Makefile
-	@ echo 1 making ${INT}/graph/viewman 
-	@ mkdir -p ${OBJ}/${SYS}/graph/viewman
-	@ mkdir -p ${OBJ}/${SYS}/lib
-	@ mkdir -p ${MNT}/${SYS}/lib
-	@ mkdir -p ${MNT}/${SYS}/doc/src/graph
-	@(cd ${INT}/graph/viewman ; ${ENV} ${MAKE} )
-
-${INT}/graph/viewman/Makefile: ${BOOK}
-	@ echo 2 making ${INT}/graph/viewman/Makefile from ${BOOK}
-	@ mkdir -p ${INT}/graph/viewman
-	@( cd ${INT}/graph/viewman ; \
-	  ${TANGLE} -t8 -R"viewman/Makefile" ${BOOK} >Makefile )
-
-@
-\subsection{The gdraws directory}
-<<gdrawsdir>>=
-gdrawsdir: ${INT}/graph/gdraws/Makefile
-	@echo 5 making ${INT}/graph/gdraws
-	@mkdir -p ${OBJ}/${SYS}/graph/gdraws
-	@mkdir -p ${MNT}/${SYS}/lib
-	@mkdir -p ${MNT}/${SYS}/lib/graph
-	@mkdir -p ${MNT}/${SYS}/doc/src/graph
-	@(cd ${INT}/graph/gdraws ; ${ENV} ${MAKE} )
-
-${INT}/graph/gdraws/Makefile: ${BOOK} 
-	@echo 6 making ${INT}/graph/gdraws/Makefile from ${BOOK} 
-	@mkdir -p ${INT}/graph/gdraws
-	@( cd ${INT}/graph/gdraws ; \
-	  ${TANGLE} -t8 -R"gdraws/Makefile" ${BOOK} >Makefile )
-
-@
-\subsection{The view3d directory}
-<<view3ddir>>=
-view3ddir: ${SRC}/graph/view3d/Makefile
-	@echo 9 making ${SRC}/graph/view3d
-	@mkdir -p ${OBJ}/${SYS}/graph/view3d
-	@mkdir -p ${OBJ}/${SYS}/lib
-	@mkdir -p ${OBJ}/${SYS}/graph/gdraws
-	@mkdir -p ${MNT}/${SYS}/lib
-	@mkdir -p ${MNT}/${SYS}/doc/src/graph
-	@(cd ${INT}/graph/view3d ; ${ENV} ${MAKE} )
-
-${SRC}/graph/view3d/Makefile: ${BOOK}
-	@echo 10 making ${SRC}/graph/view3d/Makefile from ${BOOK}
-	@mkdir -p ${INT}/graph/view3d
-	@( cd ${INT}/graph/view3d ; \
-	  ${TANGLE} -t8 -R"view3d/Makefile" ${BOOK} >Makefile )
-
-@
-\subsection{The view2d directory}
-<<view2ddir>>=
-view2ddir: ${INT}/graph/view2d/Makefile
-	@echo 13 making bookvol8 view2d
-	@mkdir -p ${OBJ}/${SYS}/graph/view2d
-	@mkdir -p ${OBJ}/${SYS}/lib
-	@mkdir -p ${MNT}/${SYS}/lib
-	@mkdir -p ${MNT}/${SYS}/doc/src/graph
-	@(cd ${INT}/graph/view2d ; ${ENV} ${MAKE} )
-
-${INT}/graph/view2d/Makefile: ${BOOK}
-	@echo 14 making ${SRC}/graph/view2d/Makefile from ${BOOK}
-	@mkdir -p ${INT}/graph/view2d
-	@( cd ${INT}/graph/view2d ; \
-	  ${TANGLE} -t8 -R"view2d/Makefile" ${BOOK} >Makefile )
-
-@
-\subsection{The viewalone directory}
-<<viewalonedir>>=
-viewalonedir: ${SRC}/graph/viewalone/Makefile
-	@echo 17 making ${SRC}/graph/viewalone
-	@mkdir -p ${OBJ}/${SYS}/graph/viewalone
-	@mkdir -p ${MNT}/${SYS}/bin
-	@mkdir -p ${MNT}/${SYS}/doc/src/graph
-	@(cd ${INT}/graph/viewalone ; ${ENV} ${MAKE} )
-
-${SRC}/graph/viewalone/Makefile: ${BOOK} 
-	@echo 18 making ${SRC}/graph/viewalone/Makefile from ${BOOK} 
-	@mkdir -p ${INT}/graph/viewalone
-	@( cd ${INT}/graph/viewalone ; \
-	  ${TANGLE} -t8 -R"viewalone/Makefile" ${BOOK} >Makefile )
-
-@
-<<*>>=
-<<environment>>
-
-all: ${DIRS} 
-	@ echo 24 finished ${IN}
-
-<<viewmandir>>
-<<gdrawsdir>>
-<<view3ddir>>
-<<view2ddir>>
-<<viewalonedir>>
-
-clean: ${CLNS}
-	@ echo 25 cleaning ${SRC}/graph
-
-document: ${DIRS}
-	@ echo 26 documenting graph
-
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/graph/include/actions.h b/src/graph/include/actions.h
deleted file mode 100755
index 4d614b4..0000000
--- a/src/graph/include/actions.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define makeAViewport -1
-
-
-/* Viewport Types */
-#define view3DType     1
-#define viewGraphType  2
-#define view2DType     3
-#define viewTubeType   4
-
-/* 2D Viewport */
-
-#define translate2D   0
-#define scale2D       1
-#define pointsOnOff   2
-#define connectOnOff  3
-#define spline2D      4
-#define reset2D       5
-#define hideControl2D 6
-#define closeAll2D    7
-#define axesOnOff2D   8
-#define unitsOnOff2D  9
-#define pick2D        10
-#define drop2D        11
-#define clear2D       12
-#define ps2D          13
-#define graph1        14
-#define graph2        15
-#define graph3        16
-#define graph4        17
-#define graph5        18
-#define graph6        19
-#define graph7        20
-#define graph8        21
-#define graph9        22
-#define graphSelect1  23
-#define graphSelect2  24
-#define graphSelect3  25
-#define graphSelect4  26
-#define graphSelect5  27
-#define graphSelect6  28
-#define graphSelect7  29
-#define graphSelect8  30
-#define graphSelect9  31
-#define query2D       32
-#define zoom2Dx       33
-#define zoom2Dy       34
-#define translate2Dx  35
-#define translate2Dy  36
-
-#define maxButtons2D 37
-
-#define graphStart    14  /* the index of graph1 */
-#define graphSelectStart (graphStart+maxGraphs)
-
-/* 3D Viewport */
-
-#define controlButtonsStart3D 0
-
-#define rotate       0
-#define zoom         1
-#define translate    2
-#define render       3
-#define hideControl  4
-#define closeAll     5
-#define axesOnOff    6
-#define opaqueMesh   7
-#define resetView    8
-#define transparent  9 
-
-#define lighting     10
-#define viewVolume   11
-#define region3D     12
-#define outlineOnOff 13
-
-#define zoomx        14
-#define zoomy        15
-#define zoomz        16      
-#define originr      17   
-#define objectr      18
-#define xy           19
-#define xz           20
-#define yz           21
-#define smooth       22
-#define saveit       23
-#define bwColor      24
-
-#define maxControlButtons3D 25
-#define controlButtonsEnd3D (controlButtonsStart3D + maxControlButtons3D)
-
-#define graphStart3D  25  /* the index of g1 */
-#define graphSelectStart3D (graphStart3D+maxGraphs)
-
-/* these should be maxControlButtons3D+1.. (be sure to modify view3d.spad) */
-#define diagOnOff            (maxControlButtons3D+1)
-#define perspectiveOnOff     (maxControlButtons3D+2)
-#define clipRegionOnOff      66
-#define clipSurfaceOnOff     67
-
-#define query       11
-
-
-/* misc */
-
-#define spadPressedAButton 100  /* used for communications with the .AXIOM file */
-#define colorDef           101
-#define moveViewport       102
-#define resizeViewport     103
-#define changeTitle        104
-#define showing2D          105
-#define putGraph           106 /* for 2D */
-#define getGraph           107 /* for 2D */
-#define lightDef           108 /* for 3D */
-#define translucenceDef    109 /* for 3D */
-#define writeView          110 /* for both */
-#define eyeDistanceData    111 /* for 3D */
-#define axesColor2D        112 /* for 2D */  
-#define unitsColor2D       113 /* for 2D */
-#define modifyPOINT        114 /* for 3D */
-#define hitherPlaneData    116 /* for 3D */
-
-
-
-
diff --git a/src/graph/include/all-2d.h1 b/src/graph/include/all-2d.h1
deleted file mode 100755
index eeda246..0000000
--- a/src/graph/include/all-2d.h1
+++ /dev/null
@@ -1,11 +0,0 @@
-/* declarations in view2d */
-#include "buttons2d.h1"
-#include "control2d.h1"
-#include "graph2d.h1"
-#include "main2d.h1"
-#include "pot2d.h1"
-#include "process2d.h1"
-#include "spadaction2d.h1"
-#include "stuff2d.h1"
-#include "viewport2d.h1"
-#include "write2d.h1"
diff --git a/src/graph/include/all-3d.h1 b/src/graph/include/all-3d.h1
deleted file mode 100755
index 0ca3920..0000000
--- a/src/graph/include/all-3d.h1
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "stuff3d.h1"
-#include "buttons3d.h1"
-#include "write3d.h1"
-#include "volume3d.h1"
-#include "control3d.h1"
-#include "transform3d.h1"
-#include "closeview3d.h1"
-#include "illuminate3d.h1"
-#include "msort3d.h1"
-#include "surface3d.h1"
-#include "mesh3d.h1"
-#include "project3d.h1"
-#include "lighting3d.h1"
-#include "lightbut3d.h1"
-#include "spadaction3d.h1"
-#include "viewport3d.h1"
-#include "pot3d.h1"
-#include "process3d.h1"
-#include "quitbut3d.h1"
-#include "quit3d.h1"
-#include "component3d.h1"
-#include "smoothshade3d.h1"
-#include "savebut3d.h1"
-#include "save3d.h1"
-#include "main3d.h1"
diff --git a/src/graph/include/all-alone.h1 b/src/graph/include/all-alone.h1
deleted file mode 100755
index be7a5d0..0000000
--- a/src/graph/include/all-alone.h1
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "spoon2d.h1"
-#include "spooncomp.h1"
-#include "viewalone.h1"
diff --git a/src/graph/include/bitmaps/hand.bitmap b/src/graph/include/bitmaps/hand.bitmap
deleted file mode 100755
index aa504da..0000000
--- a/src/graph/include/bitmaps/hand.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define hand_width 16
-#define hand_height 16
-#define hand_x_hot 5
-#define hand_y_hot 1
-static char hand_bits[] = {
-   0x00, 0x00, 0x60, 0x00, 0x90, 0x00, 0x10, 0x01, 0x10, 0x07, 0x10, 0x09,
-   0x0c, 0x39, 0x1a, 0x51, 0x32, 0x50, 0x22, 0x40, 0x22, 0x40, 0x04, 0x60,
-   0x04, 0x30, 0xf8, 0x1f, 0x04, 0x20, 0xf8, 0x1f};
diff --git a/src/graph/include/bitmaps/light11.bitmap b/src/graph/include/bitmaps/light11.bitmap
deleted file mode 100755
index d79dd52..0000000
--- a/src/graph/include/bitmaps/light11.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define lightBitmap_width 16
-#define lightBitmap_height 16
-#define lightBitmap_x_hot 8
-#define lightBitmap_y_hot 0
-static char lightBitmap_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0x40, 0xc8, 0x27, 0x20, 0x08,
-   0x10, 0x10, 0x16, 0x10, 0x10, 0xd0, 0x10, 0x10, 0x24, 0x08, 0x42, 0x44,
-   0x40, 0x84, 0x80, 0x02, 0x80, 0x02, 0x00, 0x01};
diff --git a/src/graph/include/bitmaps/light11.mask b/src/graph/include/bitmaps/light11.mask
deleted file mode 100755
index 4fffa96..0000000
--- a/src/graph/include/bitmaps/light11.mask
+++ /dev/null
@@ -1,8 +0,0 @@
-#define lightMask_width 16
-#define lightMask_height 16
-#define lightMask_x_hot 8
-#define lightMask_y_hot 0
-static char lightMask_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0x40, 0xc8, 0x27, 0x20, 0x08,
-   0x10, 0x11, 0x96, 0x12, 0x90, 0xd2, 0x90, 0x10, 0x24, 0x09, 0x42, 0x45,
-   0x40, 0x85, 0x80, 0x03, 0x80, 0x02, 0x00, 0x01};
diff --git a/src/graph/include/bitmaps/mouse11.bitmap b/src/graph/include/bitmaps/mouse11.bitmap
deleted file mode 100755
index 231c663..0000000
--- a/src/graph/include/bitmaps/mouse11.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define mouseBitmap_width 16
-#define mouseBitmap_height 16
-#define mouseBitmap_x_hot 8
-#define mouseBitmap_y_hot 0
-static char mouseBitmap_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x80, 0x02, 0x40, 0x04, 0xc0, 0x06, 0x20, 0x08,
-   0x20, 0x08, 0x30, 0x18, 0x50, 0x14, 0x58, 0x34, 0x90, 0x12, 0x20, 0x08,
-   0xc0, 0x47, 0x00, 0x21, 0x80, 0x10, 0x00, 0x0f};
diff --git a/src/graph/include/bitmaps/mouse11.mask b/src/graph/include/bitmaps/mouse11.mask
deleted file mode 100755
index 6e5621f..0000000
--- a/src/graph/include/bitmaps/mouse11.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-#define mouseMask_width 16
-#define mouseMask_height 16
-static char mouseMask_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0xc0, 0x07, 0xe0, 0x0f,
-   0xe0, 0x0f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf8, 0x3f, 0xf0, 0x1f, 0xe0, 0x0f,
-   0xc0, 0x47, 0x00, 0x21, 0x80, 0x10, 0x00, 0x0f};
diff --git a/src/graph/include/bitmaps/spad11.bitmap b/src/graph/include/bitmaps/spad11.bitmap
deleted file mode 100755
index 0be6b15..0000000
--- a/src/graph/include/bitmaps/spad11.bitmap
+++ /dev/null
@@ -1,9 +0,0 @@
-#define spadBitmap_width 30
-#define spadBitmap_height 16
-static char spadBitmap_bits[] = {
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x00,
-   0x12, 0x70, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
-   0x28, 0x00, 0x00, 0x00, 0xa8, 0x39, 0xb7, 0x1d, 0x24, 0xa6, 0x59, 0x12,
-   0x34, 0xa6, 0x4e, 0x12, 0x2c, 0xa6, 0x48, 0x12, 0x46, 0xa5, 0x48, 0x12,
-   0x42, 0xa9, 0x48, 0x12, 0xc1, 0x58, 0x67, 0x36, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/bitmaps/spad11.mask b/src/graph/include/bitmaps/spad11.mask
deleted file mode 100755
index 05329be..0000000
--- a/src/graph/include/bitmaps/spad11.mask
+++ /dev/null
@@ -1,11 +0,0 @@
-#define spad11_width 30
-#define spad11_height 16
-#define spad11_x_hot -1
-#define spad11_y_hot -1
-static char spad11_bits[] = {
-   0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x39, 0xb6, 0x1d,
-   0x32, 0x26, 0x49, 0x12, 0x21, 0xa6, 0x50, 0x12, 0x21, 0xa6, 0x50, 0x12,
-   0x61, 0xa5, 0x50, 0x12, 0x51, 0x29, 0x49, 0x12, 0xde, 0x58, 0x6e, 0x36,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
-   0x00, 0x20, 0x00, 0x00};
diff --git a/src/graph/include/bitmaps/volume.bitmap b/src/graph/include/bitmaps/volume.bitmap
deleted file mode 100755
index c5b65e2..0000000
--- a/src/graph/include/bitmaps/volume.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeBitmap_width 16
-#define volumeBitmap_height 16
-#define volumeBitmap_x_hot 5
-#define volumeBitmap_y_hot 1
-static char volumeBitmap_bits[] = {
-   0x00, 0x00, 0x60, 0x00, 0x90, 0x00, 0x10, 0x01, 0x10, 0x07, 0x10, 0x09,
-   0x0c, 0x39, 0x1a, 0x51, 0x32, 0x50, 0x22, 0x40, 0x22, 0x40, 0x04, 0x60,
-   0x04, 0x30, 0xf8, 0x1f, 0x04, 0x20, 0xf8, 0x1f};
diff --git a/src/graph/include/bitmaps/volume.mask b/src/graph/include/bitmaps/volume.mask
deleted file mode 100755
index 98e377d..0000000
--- a/src/graph/include/bitmaps/volume.mask
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeMask_width 16
-#define volumeMask_height 16
-#define volumeMask_x_hot 5
-#define volumeMask_y_hot 1
-static char volumeMask_bits[] = {
-   0x00, 0x00, 0x60, 0x00, 0xf0, 0x00, 0xf0, 0x01, 0xf0, 0x07, 0xf0, 0x0f,
-   0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x7f,
-   0xfc, 0x3f, 0xf8, 0x1f, 0x04, 0x20, 0xf8, 0x1f};
diff --git a/src/graph/include/bitmaps/volume2.bitmap b/src/graph/include/bitmaps/volume2.bitmap
deleted file mode 100755
index 36705a4..0000000
--- a/src/graph/include/bitmaps/volume2.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeBitmap_width 16
-#define volumeBitmap_height 16
-#define volumeBitmap_x_hot 8
-#define volumeBitmap_y_hot 0
-static char volumeBitmap_bits[] = {
-   0x00, 0x01, 0xc0, 0x03, 0x30, 0x0e, 0x0c, 0x18, 0x64, 0x36, 0x44, 0x62,
-   0x14, 0x48, 0x74, 0x4e, 0xcc, 0x43, 0x18, 0x70, 0x30, 0x1c, 0xe0, 0x07,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/bitmaps/volume2.mask b/src/graph/include/bitmaps/volume2.mask
deleted file mode 100755
index f8cddbe..0000000
--- a/src/graph/include/bitmaps/volume2.mask
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeMask_width 16
-#define volumeMask_height 16
-#define volumeMask_x_hot 8
-#define volumeMask_y_hot 0
-static char volumeMask_bits[] = {
-   0x00, 0x01, 0xc0, 0x03, 0x30, 0x0e, 0x0c, 0x18, 0x64, 0x36, 0x44, 0x62,
-   0x14, 0x48, 0x74, 0x4e, 0xcc, 0x43, 0x18, 0x70, 0x30, 0x1c, 0xe0, 0x07,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/buttons2d.h1 b/src/graph/include/buttons2d.h1
deleted file mode 100755
index c2a59cb..0000000
--- a/src/graph/include/buttons2d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int initButtons(buttonStruct * );
diff --git a/src/graph/include/buttons3d.h1 b/src/graph/include/buttons3d.h1
deleted file mode 100755
index c2a59cb..0000000
--- a/src/graph/include/buttons3d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int initButtons(buttonStruct * );
diff --git a/src/graph/include/cleanup.h1 b/src/graph/include/cleanup.h1
deleted file mode 100755
index 1ce6c21..0000000
--- a/src/graph/include/cleanup.h1
+++ /dev/null
@@ -1,5 +0,0 @@
-extern void brokenPipe(int sig);
-extern void endChild(int sig);
-extern void rmViewMgr(viewManager * slotPtr);
-extern void closeChildViewport(viewManager * slotPtr);
-extern void goodbye(int sig);
diff --git a/src/graph/include/closeview3d.h1 b/src/graph/include/closeview3d.h1
deleted file mode 100755
index 2b973ac..0000000
--- a/src/graph/include/closeview3d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern void closeViewport(void);
diff --git a/src/graph/include/colors.h b/src/graph/include/colors.h
deleted file mode 100755
index d2d659c..0000000
--- a/src/graph/include/colors.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-/*
-  colors.h
-  created on 25 November 1992, Jim Wen
-  (same as the browser/src/color.h file - maybe should share?)
-  */
-
-/*  The Hues */
-#define red0		0
-#define red1		1
-#define red2		2
-#define orange0		3
-#define orange1		4
-#define orange2		5
-#define tan0		6
-#define tan1		7
-#define tan2		8
-#define yellow0		9
-#define yellow1		10
-#define yellow2		11
-#define green0		12
-#define green1		13
-#define green2		14
-#define cyan0		15
-#define cyan1		16
-#define cyan2		17
-#define blue0		18
-#define blue1		19
-#define blue2		20
-#define indigo0		21
-#define indigo1		22
-#define indigo2		23
-#define violet0		24
-#define violet1		25
-#define violet2		26
-
-/*
-  The Shades
-  */
-#define dark	0
-#define dim	1
-#define normal	2
-#define bright	3
-#define pastel  3
-#define light	4
-
-/*
-  The macros
-  */
-#define moColor(h,s) ((mono)?foregroundColor:XSolidColor(h,s))
-#define moColor_BG(h,s) ((mono)?backgroundColor:XSolidColor(h,s))
diff --git a/src/graph/include/component.h b/src/graph/include/component.h
deleted file mode 100755
index 0f01936..0000000
--- a/src/graph/include/component.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-/*
-  Copyright The Numerical Algorithms Group Limited 1991.
-  */
-
-/* 
-   This file contains the definitions for the generalized point
-   structures in 3D.
-   */
-
-#include "tube.h"
-
-/* viewman's and viewAlone's refPt */
-#define refPt(v,x) ((v).points + (x))
-/* view3d's refPt - allows reference into new, dynamically generated points
-   a function called traverse(n) is expected - it returns the nth point in
-   the resevoir. note that x should be zero based (if numOfPoints is 10,
-   then x=10 would access the first point on the resevoir list).
-   */
-#define refPt3D(v,x) ( (x)>(v).numOfPoints?traverse(resMax - ((x)-((v).numOfPoints-1))):(v).points + (x) )
-
-typedef struct _componentProp {
-  int closed,
-    solid;
-} componentProp;
-
-typedef struct _LPoint { /* meaning list of points */
-  componentProp prop;
-  int numOfPoints;
-  int *indices;
-} LPoint;
-
-typedef struct _LLPoint { /* meaning list of list of points */
-  /* for the current 3D stuff:
-     functions of 2 variables - closed is false (xmax does not close
-     back to xmin) parametric surfaces of one variable (tubes) - closed
-     is user defined (from AXIOM)
-     */
-  componentProp prop;
-  int numOfLists;
-  LPoint *lp;
-  int meshColor;   /* not used */
-} LLPoint;
-
-
-typedef struct _LLLPoint { /* meaning list of list of list of points */
-  /* for the current 3D stuff -- that is functions of 2 variables and
-     parametric surfaces of one variable (tubes) -- there would be
-     only one component
-     */
-  int numOfComponents;
-  LLPoint *llp;
-} LLLPoint;
-
-
diff --git a/src/graph/include/component3d.h1 b/src/graph/include/component3d.h1
deleted file mode 100755
index c6ede68..0000000
--- a/src/graph/include/component3d.h1
+++ /dev/null
@@ -1,7 +0,0 @@
-extern void scaleComponents(void);
-extern void makeTriangle(int  , int  , int );
-extern void triangulate(void);
-extern void readComponentsFromViewman(void);
-extern void calcNormData(void);
-extern viewPoints * make3DComponents(void);
-extern void draw3DComponents(int );
diff --git a/src/graph/include/control2d.h1 b/src/graph/include/control2d.h1
deleted file mode 100755
index 21dbbe8..0000000
--- a/src/graph/include/control2d.h1
+++ /dev/null
@@ -1,8 +0,0 @@
-extern void writeControlTitle(void );
-extern void makeMessageFromData(int );
-extern void writeControlMessage(void );
-extern void drawControlPanel(void );
-extern controlXY getControlXY(int );
-extern controlPanelStruct * makeControlPanel(void );
-extern void putControlPanelSomewhere(int );
-extern void clearControlMessage(void );
diff --git a/src/graph/include/control3d.h1 b/src/graph/include/control3d.h1
deleted file mode 100755
index 39a67c8..0000000
--- a/src/graph/include/control3d.h1
+++ /dev/null
@@ -1,8 +0,0 @@
-extern void drawColorMap(void);
-extern void writeControlTitle(Window );
-extern void clearControlMessage(void);
-extern void writeControlMessage(void);
-extern void drawControlPanel(void);
-extern controlXY getControlXY(int );
-extern controlPanelStruct * makeControlPanel(void);
-extern void putControlPanelSomewhere(int );
diff --git a/src/graph/include/fun2d.h1 b/src/graph/include/fun2d.h1
deleted file mode 100755
index ab5b510..0000000
--- a/src/graph/include/fun2d.h1
+++ /dev/null
@@ -1,5 +0,0 @@
-extern void funView2D(int viewCommand);
-extern void sendGraphToView2D(int i ,int there,viewManager * viewType,
-                              graphStateStruct * doGraphStateArray);
-extern void forkView2D(void);
-
diff --git a/src/graph/include/fun3d.h1 b/src/graph/include/fun3d.h1
deleted file mode 100755
index 3624731..0000000
--- a/src/graph/include/fun3d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern void funView3D(int viewCommand);
-extern void forkView3D(int typeOfViewport);
diff --git a/src/graph/include/g.h b/src/graph/include/g.h
deleted file mode 100755
index c72dd3b..0000000
--- a/src/graph/include/g.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef _G_H_
-#define _G_H_ 1
-
-
-
-
-#define Xoption		0	/* Gdraw routine option */
-#define PSoption		1	/* Gdraw routine option */
-
-#define psError		-1	/* error return status */
-
-/* Black and white definitions of PS */
-
-#define psBlack		0.0	/* def for black in PS */
-#define psWhite		1.0	/* def for white in PS */
-
-/* Foreground and background definition */
-
-#define psForeground	psBlack /* foreground color: black */
-#define psBackground	psWhite /* background color: white */
-
-/* Gray scale defintions -- same as that in src/XShade.h for XShadeMax */
-
-#define psShadeMax	17.0	/* same as XShadeMax */
-#define psShadeMul	(1.0/(psShadeMax-1.0))	/* white and 16 gray shades */
-
-#define psNormalWidth	1	/* def for line width */
-
-/* These are all the line join styles available in PS */
-
-#define psMiterJoin	0
-#define psRoundJoin	1
-#define psBevelJoin	2
-
-/* These are all the line cap styles available in PS */
-
-#define psButtCap	0
-#define psRoundCap	1
-#define psPSqCap	2
-
-
-
-/*
- * Structures
- */
-
-/*
- * This is used to keep track of GC name in character and in unsigned long
- */
-
-typedef struct _GCstruct {
-  GC	 GCint;
-  char		 GCchar[10];
-  struct _GCstruct *next;
-} GCstruct, *GCptr;
-
-
-/*
- * These global variables are expected to be declared somewehere in the
- * client application source, eg, in main.c for view2d and view3d.
- */
-
-extern char *PSfilename;  /* User-definable output file name. */
-
-extern int   psInit;	  /* Flag for one-time PS initialization routine. */
-
-extern GCptr GChead;      /* Points to the head of GCstruct linked list. */
-
-#endif
diff --git a/src/graph/include/gfun.h1 b/src/graph/include/gfun.h1
deleted file mode 100755
index 2349d40..0000000
--- a/src/graph/include/gfun.h1
+++ /dev/null
@@ -1,38 +0,0 @@
-extern int PSCreateFile(int , Window , Window , char * );
-extern int Gdraws_drawFrame(int , Window , Window , char * );
-extern int Gdraws_setDimension(Window , Window );
-extern int GDrawImageString(GC , Window , int , int , char * , int , int );
-extern int GDrawArc(GC , Window , int , int , unsigned int , unsigned int , int , int , int );
-extern int GDrawLine(GC , Window , int , int , int , int , int );
-extern int GDrawLines(GC , Window , XPoint * , int , int , int );
-extern int GDrawPoint(Window , GC , int , int , int );
-extern int GDrawString(GC , Window , int , int , char * , int , int );
-extern int GFillArc(GC , Window , int , int , unsigned int , unsigned int , int , int , int );
-extern int PSGlobalInit(void );
-extern int PSInit(Window , Window );
-extern int PSCreateContext(GC , char * , int , int , int , float , float );
-extern char * PSfindGC(GC );
-extern int GSetForeground(GC , float , int );
-extern int GSetBackground(GC , float , int );
-extern int GSetLineAttributes(GC , int , int , int , int , int );
-extern int PSClose(void );
-extern int centerX(GC , char * , int , int );
-extern int centerY(GC , int );
-extern int PSColorPolygon(float , float , float , XPoint * , int );
-extern int PSColorwOutline(float , float , float , XPoint * , int );
-extern int PSDrawColor(float , float , float , XPoint * , int );
-extern int PSFillPolygon(GC , XPoint * , int );
-extern int PSFillwOutline(GC , XPoint * , int );
-extern HashTable * XCreateAssocTable(int );
-extern void XMakeAssoc(Display * , HashTable * , Window , int * );
-extern int * XLookUpAssoc(Display * , HashTable * , Window );
-extern void XDeleteAssoc(Display * , HashTable * , Window );
-extern int GDrawRectangle(GC , Window , short , short , short , short , int );
-extern int GDraw3DButtonOut(GC , Window , short , short , short , short , int );
-extern int GDraw3DButtonIn(GC , Window , short , short , short , short , int );
-extern int GDrawPushButton(Display * , GC , GC , GC , Window , short , short , short , short , int , char * , unsigned long , unsigned long , int );
-#ifdef _GFUN_C
-static void filecopy(FILE * , FILE * );
-static int TrivEqual(Window , Window );
-static int TrivHash_code(Window , int );
-#endif
diff --git a/src/graph/include/graph2d.h1 b/src/graph/include/graph2d.h1
deleted file mode 100755
index ad54320..0000000
--- a/src/graph/include/graph2d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern void getGraphFromViewman(int );
-extern void freeGraph(int );
diff --git a/src/graph/include/illuminate3d.h1 b/src/graph/include/illuminate3d.h1
deleted file mode 100755
index f59b9a7..0000000
--- a/src/graph/include/illuminate3d.h1
+++ /dev/null
@@ -1,5 +0,0 @@
-extern float phong(triple  , float [3]);
-extern int hueValue(float );
-extern int getHue(float );
-extern float Value(float  , float  , float );
-extern RGB hlsTOrgb(float  , float  , float );
diff --git a/src/graph/include/light11.bitmap b/src/graph/include/light11.bitmap
deleted file mode 100755
index d79dd52..0000000
--- a/src/graph/include/light11.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define lightBitmap_width 16
-#define lightBitmap_height 16
-#define lightBitmap_x_hot 8
-#define lightBitmap_y_hot 0
-static char lightBitmap_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0x40, 0xc8, 0x27, 0x20, 0x08,
-   0x10, 0x10, 0x16, 0x10, 0x10, 0xd0, 0x10, 0x10, 0x24, 0x08, 0x42, 0x44,
-   0x40, 0x84, 0x80, 0x02, 0x80, 0x02, 0x00, 0x01};
diff --git a/src/graph/include/light11.mask b/src/graph/include/light11.mask
deleted file mode 100755
index 4fffa96..0000000
--- a/src/graph/include/light11.mask
+++ /dev/null
@@ -1,8 +0,0 @@
-#define lightMask_width 16
-#define lightMask_height 16
-#define lightMask_x_hot 8
-#define lightMask_y_hot 0
-static char lightMask_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0x40, 0xc8, 0x27, 0x20, 0x08,
-   0x10, 0x11, 0x96, 0x12, 0x90, 0xd2, 0x90, 0x10, 0x24, 0x09, 0x42, 0x45,
-   0x40, 0x85, 0x80, 0x03, 0x80, 0x02, 0x00, 0x01};
diff --git a/src/graph/include/lightbut3d.h1 b/src/graph/include/lightbut3d.h1
deleted file mode 100755
index ffe488d..0000000
--- a/src/graph/include/lightbut3d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int initLightButtons(buttonStruct * );
diff --git a/src/graph/include/lighting3d.h1 b/src/graph/include/lighting3d.h1
deleted file mode 100755
index 9b1f972..0000000
--- a/src/graph/include/lighting3d.h1
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int makeLightingPanel(void);
-extern void drawLightingAxes(void);
-extern void drawLightTransArrow(void);
-extern void drawLightingPanel(void);
-
diff --git a/src/graph/include/main2d.h1 b/src/graph/include/main2d.h1
deleted file mode 100755
index cbb4d43..0000000
--- a/src/graph/include/main2d.h1
+++ /dev/null
@@ -1,3 +0,0 @@
-extern int main(void);
-extern void mergeDatabases(void);
-
diff --git a/src/graph/include/main3d.h1 b/src/graph/include/main3d.h1
deleted file mode 100755
index df2230e..0000000
--- a/src/graph/include/main3d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern int main(void);
-extern void mergeDatabases(void);
diff --git a/src/graph/include/make2d.h1 b/src/graph/include/make2d.h1
deleted file mode 100755
index 6634c3f..0000000
--- a/src/graph/include/make2d.h1
+++ /dev/null
@@ -1,3 +0,0 @@
-extern void makeView2DFromSpadData(view2DStruct * viewdata , 
-                                   graphStateStruct graphState[]);
-
diff --git a/src/graph/include/make3d.h1 b/src/graph/include/make3d.h1
deleted file mode 100755
index 86cae50..0000000
--- a/src/graph/include/make3d.h1
+++ /dev/null
@@ -1,3 +0,0 @@
-extern void makeView3DFromSpadData(view3DStruct * viewdata, 
-                                   int typeOfViewport);
-
diff --git a/src/graph/include/makegraph.h1 b/src/graph/include/makegraph.h1
deleted file mode 100755
index a1d9b74..0000000
--- a/src/graph/include/makegraph.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern graphStruct * makeGraphFromSpadData(void);
-extern void discardGraph(graphStruct * theGraph);
diff --git a/src/graph/include/mesh3d.h1 b/src/graph/include/mesh3d.h1
deleted file mode 100755
index e642481..0000000
--- a/src/graph/include/mesh3d.h1
+++ /dev/null
@@ -1,5 +0,0 @@
-extern void getMeshNormal(float, float, float, float, float, float,
-                          float, float, float, float, float, float [3]);
-extern void normalizeVector(float * );
-extern float dotProduct(float *  , float *  , int );
-
diff --git a/src/graph/include/mode.h b/src/graph/include/mode.h
deleted file mode 100755
index 4d0c923..0000000
--- a/src/graph/include/mode.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define spadActionMode
-/* define spadEventMode */
-#define components
diff --git a/src/graph/include/mouse11.bitmap b/src/graph/include/mouse11.bitmap
deleted file mode 100755
index 231c663..0000000
--- a/src/graph/include/mouse11.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define mouseBitmap_width 16
-#define mouseBitmap_height 16
-#define mouseBitmap_x_hot 8
-#define mouseBitmap_y_hot 0
-static char mouseBitmap_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x80, 0x02, 0x40, 0x04, 0xc0, 0x06, 0x20, 0x08,
-   0x20, 0x08, 0x30, 0x18, 0x50, 0x14, 0x58, 0x34, 0x90, 0x12, 0x20, 0x08,
-   0xc0, 0x47, 0x00, 0x21, 0x80, 0x10, 0x00, 0x0f};
diff --git a/src/graph/include/mouse11.mask b/src/graph/include/mouse11.mask
deleted file mode 100755
index 6e5621f..0000000
--- a/src/graph/include/mouse11.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-#define mouseMask_width 16
-#define mouseMask_height 16
-static char mouseMask_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0xc0, 0x07, 0xe0, 0x0f,
-   0xe0, 0x0f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf8, 0x3f, 0xf0, 0x1f, 0xe0, 0x0f,
-   0xc0, 0x47, 0x00, 0x21, 0x80, 0x10, 0x00, 0x0f};
diff --git a/src/graph/include/msort3d.h1 b/src/graph/include/msort3d.h1
deleted file mode 100755
index 6c0de1f..0000000
--- a/src/graph/include/msort3d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern poly * merge(poly *  , poly *  , int (*)(poly *  , poly * ));
-extern poly * msort(poly *  , int  , int  , int (*)(poly *  , poly * ));
diff --git a/src/graph/include/nox10.h b/src/graph/include/nox10.h
deleted file mode 100755
index 5c4e077..0000000
--- a/src/graph/include/nox10.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-#ifndef _X10_H_
-#define _X10_H_
-
-/* Used in XDraw and XDrawFilled */
-
-typedef struct _Vertex {
-  short x, y;
-  unsigned short flags;
-} Vertex;
-
-/* The meanings of the flag bits.  If the bit is 1 the predicate is true */
-
-#define VertexRelative		0x0001		/* else absolute */
-#define VertexDontDraw		0x0002		/* else draw */
-#define VertexCurved		0x0004		/* else straight */
-#define VertexStartClosed	0x0008		/* else not */
-#define VertexEndClosed		0x0010		/* else not */
-
-/*
-  The VertexDrawLastPoint option has not been implemented in XDraw and 
-  XDrawFilled so it shouldn't be defined. 
-*/
-
-/*
-  XAssoc - Associations used in the XAssocTable data structure.  The 
-  associations are used as circular queue entries in the association table
-  which is contains an array of circular queues (buckets).
-  */
-typedef struct _XAssoc {
-  struct _XAssoc *next;	/* Next object in this bucket. */
-  struct _XAssoc *prev;	/* Previous obejct in this bucket. */
-  Display *display;	/* Display which ownes the id. */
-  XID x_id;		/* X Window System id. */
-  char *data;		/* Pointer to untyped memory. */
-} XAssoc;
-
-/* 
-   XAssocTable - X Window System id to data structure pointer association
-   table.  An XAssocTable is a hash table whose buckets are circular
-   queues of XAssoc's.  The XAssocTable is constructed from an array of
-   XAssoc's which are the circular queue headers (bucket headers).  
-   An XAssocTable consists an XAssoc pointer that points to the first
-   bucket in the bucket array and an integer that indicates the number
-   of buckets in the array.
- */
-typedef struct _XAssocTable {
-  XAssoc **buckets;		/* Pointer to first bucket in bucket array.*/
-  int size;			/* Table size (number of buckets). */
-} XAssocTable;
-
-
-#endif /* _X10_H_ */
-
diff --git a/src/graph/include/override.h b/src/graph/include/override.h
deleted file mode 100755
index 70b5936..0000000
--- a/src/graph/include/override.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define overrideManager False   
-/* override_redirect setting for overriding the window manager's directives. 
-   the window manager tends to stick its nose into too much - to the point 
-   where you can't even say where to put a new window. overriding it allows 
-   predictable placements of things like the control panel but also loses all
-   features all the window manager (possibly things like resizing). there is 
-   no good solution to this, because certain window managers go as far as 
-   not allowing placement of windows on top of other windows while others 
-   do not allow windows to be resized unless they have window manager given
-   title bars. */
-
diff --git a/src/graph/include/pot2d.h1 b/src/graph/include/pot2d.h1
deleted file mode 100755
index 7cebbff..0000000
--- a/src/graph/include/pot2d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern mouseCoord getPotValue(short  , short  , short  , short );
diff --git a/src/graph/include/pot3d.h1 b/src/graph/include/pot3d.h1
deleted file mode 100755
index 2a9c0f5..0000000
--- a/src/graph/include/pot3d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern mouseCoord getPotValue(short  , short  , short  , short );
-extern mouseCoord getLinearPotValue(short  , short  , short  , short );
diff --git a/src/graph/include/process2d.h1 b/src/graph/include/process2d.h1
deleted file mode 100755
index 0053011..0000000
--- a/src/graph/include/process2d.h1
+++ /dev/null
@@ -1,9 +0,0 @@
-extern void doPick(int  , int );
-extern void doDrop(int  , int );
-extern void clickedOnGraph(int  , int );
-extern void buttonAction(int );
-extern void processEvents(void);
-extern void clickedOnGraphSelect(int  , int );
-#ifdef _PROCESS2D_C
-static void drawControlPushButton(int  , int );
-#endif
diff --git a/src/graph/include/process3d.h1 b/src/graph/include/process3d.h1
deleted file mode 100755
index 4b97aa3..0000000
--- a/src/graph/include/process3d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern void buttonAction(int );
-extern void processEvents(void);
diff --git a/src/graph/include/project3d.h1 b/src/graph/include/project3d.h1
deleted file mode 100755
index 4822b69..0000000
--- a/src/graph/include/project3d.h1
+++ /dev/null
@@ -1,7 +0,0 @@
-extern void project(viewTriple *  , XPoint *  , int );
-extern void projectAPoint(viewTriple * );
-extern void projectAllPoints(void);
-extern void projectAllPolys(poly * );
-extern void projectAPoly(poly * );
-extern void projectStuff(float, float, float, int *, int *, float *);
-
diff --git a/src/graph/include/purty/hand.bitmap b/src/graph/include/purty/hand.bitmap
deleted file mode 100755
index aa504da..0000000
--- a/src/graph/include/purty/hand.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define hand_width 16
-#define hand_height 16
-#define hand_x_hot 5
-#define hand_y_hot 1
-static char hand_bits[] = {
-   0x00, 0x00, 0x60, 0x00, 0x90, 0x00, 0x10, 0x01, 0x10, 0x07, 0x10, 0x09,
-   0x0c, 0x39, 0x1a, 0x51, 0x32, 0x50, 0x22, 0x40, 0x22, 0x40, 0x04, 0x60,
-   0x04, 0x30, 0xf8, 0x1f, 0x04, 0x20, 0xf8, 0x1f};
diff --git a/src/graph/include/purty/light11.bitmap b/src/graph/include/purty/light11.bitmap
deleted file mode 100755
index d79dd52..0000000
--- a/src/graph/include/purty/light11.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define lightBitmap_width 16
-#define lightBitmap_height 16
-#define lightBitmap_x_hot 8
-#define lightBitmap_y_hot 0
-static char lightBitmap_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0x40, 0xc8, 0x27, 0x20, 0x08,
-   0x10, 0x10, 0x16, 0x10, 0x10, 0xd0, 0x10, 0x10, 0x24, 0x08, 0x42, 0x44,
-   0x40, 0x84, 0x80, 0x02, 0x80, 0x02, 0x00, 0x01};
diff --git a/src/graph/include/purty/light11.mask b/src/graph/include/purty/light11.mask
deleted file mode 100755
index 4fffa96..0000000
--- a/src/graph/include/purty/light11.mask
+++ /dev/null
@@ -1,8 +0,0 @@
-#define lightMask_width 16
-#define lightMask_height 16
-#define lightMask_x_hot 8
-#define lightMask_y_hot 0
-static char lightMask_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0x40, 0xc8, 0x27, 0x20, 0x08,
-   0x10, 0x11, 0x96, 0x12, 0x90, 0xd2, 0x90, 0x10, 0x24, 0x09, 0x42, 0x45,
-   0x40, 0x85, 0x80, 0x03, 0x80, 0x02, 0x00, 0x01};
diff --git a/src/graph/include/purty/mouse11.bitmap b/src/graph/include/purty/mouse11.bitmap
deleted file mode 100755
index 231c663..0000000
--- a/src/graph/include/purty/mouse11.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define mouseBitmap_width 16
-#define mouseBitmap_height 16
-#define mouseBitmap_x_hot 8
-#define mouseBitmap_y_hot 0
-static char mouseBitmap_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x80, 0x02, 0x40, 0x04, 0xc0, 0x06, 0x20, 0x08,
-   0x20, 0x08, 0x30, 0x18, 0x50, 0x14, 0x58, 0x34, 0x90, 0x12, 0x20, 0x08,
-   0xc0, 0x47, 0x00, 0x21, 0x80, 0x10, 0x00, 0x0f};
diff --git a/src/graph/include/purty/mouse11.mask b/src/graph/include/purty/mouse11.mask
deleted file mode 100755
index 6e5621f..0000000
--- a/src/graph/include/purty/mouse11.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-#define mouseMask_width 16
-#define mouseMask_height 16
-static char mouseMask_bits[] = {
-   0x00, 0x01, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0xc0, 0x07, 0xe0, 0x0f,
-   0xe0, 0x0f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf8, 0x3f, 0xf0, 0x1f, 0xe0, 0x0f,
-   0xc0, 0x47, 0x00, 0x21, 0x80, 0x10, 0x00, 0x0f};
diff --git a/src/graph/include/purty/slicer.bitmap b/src/graph/include/purty/slicer.bitmap
deleted file mode 100755
index 6f87184..0000000
--- a/src/graph/include/purty/slicer.bitmap
+++ /dev/null
@@ -1,86 +0,0 @@
-#define slicer_width 50
-#define haha_X
-#ifdef haha
-#define slicer_height 120
-#else
-#define slicer_height 100
-#endif
-static char slicer_bits[] = {
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff,
-   0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00  ,0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00,
-
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00 
-
-#ifdef haha
-				,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-#endif
-};
diff --git a/src/graph/include/purty/spadbitmap.bitmap b/src/graph/include/purty/spadbitmap.bitmap
deleted file mode 100755
index f8b9d7d..0000000
--- a/src/graph/include/purty/spadbitmap.bitmap
+++ /dev/null
@@ -1,14 +0,0 @@
-#define spadBitmap_width 34
-#define spadBitmap_height 20
-#define spadBitmap_x_hot 15
-#define spadBitmap_y_hot 10
-static char spadBitmap_bits[] = {
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00,
-   0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
-   0xe6, 0xf8, 0x76, 0x00, 0x84, 0x98, 0x44, 0x49, 0x00, 0xc0, 0x98, 0x42,
-   0x49, 0x00, 0xb8, 0x98, 0x42, 0x49, 0x00, 0x84, 0x95, 0x42, 0x49, 0x00,
-   0x44, 0xa5, 0x22, 0x49, 0x00, 0x78, 0x63, 0x1d, 0xdb, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00,
-   0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/purty/spadmask.mask b/src/graph/include/purty/spadmask.mask
deleted file mode 100755
index 4095462..0000000
--- a/src/graph/include/purty/spadmask.mask
+++ /dev/null
@@ -1,14 +0,0 @@
-#define spadMask_width 34
-#define spadMask_height 20
-#define spadMask_x_hot 15
-#define spadMask_y_hot 10
-static char spadMask_bits[] = {
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
-   0x01, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00,
-   0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0xfe,
-   0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff,
-   0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01,
-   0xfe, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01, 0xfc, 0xff,
-   0xff, 0xff, 0x01, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00,
-   0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/purty/volume.bitmap b/src/graph/include/purty/volume.bitmap
deleted file mode 100755
index c5b65e2..0000000
--- a/src/graph/include/purty/volume.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeBitmap_width 16
-#define volumeBitmap_height 16
-#define volumeBitmap_x_hot 5
-#define volumeBitmap_y_hot 1
-static char volumeBitmap_bits[] = {
-   0x00, 0x00, 0x60, 0x00, 0x90, 0x00, 0x10, 0x01, 0x10, 0x07, 0x10, 0x09,
-   0x0c, 0x39, 0x1a, 0x51, 0x32, 0x50, 0x22, 0x40, 0x22, 0x40, 0x04, 0x60,
-   0x04, 0x30, 0xf8, 0x1f, 0x04, 0x20, 0xf8, 0x1f};
diff --git a/src/graph/include/purty/volume.mask b/src/graph/include/purty/volume.mask
deleted file mode 100755
index 98e377d..0000000
--- a/src/graph/include/purty/volume.mask
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeMask_width 16
-#define volumeMask_height 16
-#define volumeMask_x_hot 5
-#define volumeMask_y_hot 1
-static char volumeMask_bits[] = {
-   0x00, 0x00, 0x60, 0x00, 0xf0, 0x00, 0xf0, 0x01, 0xf0, 0x07, 0xf0, 0x0f,
-   0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x7f,
-   0xfc, 0x3f, 0xf8, 0x1f, 0x04, 0x20, 0xf8, 0x1f};
diff --git a/src/graph/include/purty/volume2.bitmap b/src/graph/include/purty/volume2.bitmap
deleted file mode 100755
index 36705a4..0000000
--- a/src/graph/include/purty/volume2.bitmap
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeBitmap_width 16
-#define volumeBitmap_height 16
-#define volumeBitmap_x_hot 8
-#define volumeBitmap_y_hot 0
-static char volumeBitmap_bits[] = {
-   0x00, 0x01, 0xc0, 0x03, 0x30, 0x0e, 0x0c, 0x18, 0x64, 0x36, 0x44, 0x62,
-   0x14, 0x48, 0x74, 0x4e, 0xcc, 0x43, 0x18, 0x70, 0x30, 0x1c, 0xe0, 0x07,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/purty/volume2.mask b/src/graph/include/purty/volume2.mask
deleted file mode 100755
index f8cddbe..0000000
--- a/src/graph/include/purty/volume2.mask
+++ /dev/null
@@ -1,8 +0,0 @@
-#define volumeMask_width 16
-#define volumeMask_height 16
-#define volumeMask_x_hot 8
-#define volumeMask_y_hot 0
-static char volumeMask_bits[] = {
-   0x00, 0x01, 0xc0, 0x03, 0x30, 0x0e, 0x0c, 0x18, 0x64, 0x36, 0x44, 0x62,
-   0x14, 0x48, 0x74, 0x4e, 0xcc, 0x43, 0x18, 0x70, 0x30, 0x1c, 0xe0, 0x07,
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/quit3d.h1 b/src/graph/include/quit3d.h1
deleted file mode 100755
index 1fdfed5..0000000
--- a/src/graph/include/quit3d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern int makeQuitPanel(void);
-extern void drawQuitPanel(void);
diff --git a/src/graph/include/quitbut3d.h1 b/src/graph/include/quitbut3d.h1
deleted file mode 100755
index 98fe308..0000000
--- a/src/graph/include/quitbut3d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int initQuitButtons(buttonStruct * );
diff --git a/src/graph/include/readview.h1 b/src/graph/include/readview.h1
deleted file mode 100755
index f2aab3b..0000000
--- a/src/graph/include/readview.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int readViewport(viewManager * viewPort , void * info , int size);
diff --git a/src/graph/include/save3d.h1 b/src/graph/include/save3d.h1
deleted file mode 100755
index fe24ca5..0000000
--- a/src/graph/include/save3d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern int makeSavePanel(void);
-extern void drawSavePanel(void);
diff --git a/src/graph/include/savebut3d.h1 b/src/graph/include/savebut3d.h1
deleted file mode 100755
index 25ecc8a..0000000
--- a/src/graph/include/savebut3d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int initSaveButtons(buttonStruct * );
diff --git a/src/graph/include/smoothshade3d.h1 b/src/graph/include/smoothshade3d.h1
deleted file mode 100755
index 6c70806..0000000
--- a/src/graph/include/smoothshade3d.h1
+++ /dev/null
@@ -1,17 +0,0 @@
-extern char get_cBuffer_axes(int );
-extern void put_cBuffer_axes(int  , char );
-extern int get_cBuffer_indx(int );
-extern void put_cBuffer_indx(int  , int );
-extern void put_zBuffer(int  , float );
-extern float get_zBuffer(int );
-extern void put_imageX(int  , char );
-extern void drawPhongSpan(triple  , float [3] , int );
-extern void scanPhong(int );
-extern void boxTObuffer(void );
-extern void clipboxTObuffer(void );
-extern void axesTObuffer(void );
-extern void scanLines(int );
-extern void freePolyList(void );
-extern void showAxesLabels(int );
-extern void changeColorMap(void );
-extern void drawPhong(int );
diff --git a/src/graph/include/spadaction2d.h1 b/src/graph/include/spadaction2d.h1
deleted file mode 100755
index 74db3b8..0000000
--- a/src/graph/include/spadaction2d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern int readViewman(void *  , int );
-extern int spadAction(void);
diff --git a/src/graph/include/spadaction3d.h1 b/src/graph/include/spadaction3d.h1
deleted file mode 100755
index 3fb5b37..0000000
--- a/src/graph/include/spadaction3d.h1
+++ /dev/null
@@ -1,3 +0,0 @@
-extern int readViewman(void *  , int );
-extern void scalePoint(viewTriple * );
-extern int spadAction(void);
diff --git a/src/graph/include/spadbitmap.bitmap b/src/graph/include/spadbitmap.bitmap
deleted file mode 100755
index f8b9d7d..0000000
--- a/src/graph/include/spadbitmap.bitmap
+++ /dev/null
@@ -1,14 +0,0 @@
-#define spadBitmap_width 34
-#define spadBitmap_height 20
-#define spadBitmap_x_hot 15
-#define spadBitmap_y_hot 10
-static char spadBitmap_bits[] = {
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00,
-   0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
-   0xe6, 0xf8, 0x76, 0x00, 0x84, 0x98, 0x44, 0x49, 0x00, 0xc0, 0x98, 0x42,
-   0x49, 0x00, 0xb8, 0x98, 0x42, 0x49, 0x00, 0x84, 0x95, 0x42, 0x49, 0x00,
-   0x44, 0xa5, 0x22, 0x49, 0x00, 0x78, 0x63, 0x1d, 0xdb, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00,
-   0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/spadmask.mask b/src/graph/include/spadmask.mask
deleted file mode 100755
index 4095462..0000000
--- a/src/graph/include/spadmask.mask
+++ /dev/null
@@ -1,14 +0,0 @@
-#define spadMask_width 34
-#define spadMask_height 20
-#define spadMask_x_hot 15
-#define spadMask_y_hot 10
-static char spadMask_bits[] = {
-   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
-   0x01, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00,
-   0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0xfe,
-   0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff,
-   0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01,
-   0xfe, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff, 0xff, 0x01, 0xfc, 0xff,
-   0xff, 0xff, 0x01, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00,
-   0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00};
diff --git a/src/graph/include/spoon2d.h1 b/src/graph/include/spoon2d.h1
deleted file mode 100755
index d908ade..0000000
--- a/src/graph/include/spoon2d.h1
+++ /dev/null
@@ -1,3 +0,0 @@
-extern void spoonView2D(void);
-extern void makeView2DFromFileData(view2DStruct * );
-extern void sendGraphToView2D(int  , int  , viewManager * );
diff --git a/src/graph/include/spooncomp.h1 b/src/graph/include/spooncomp.h1
deleted file mode 100755
index b7d43bf..0000000
--- a/src/graph/include/spooncomp.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern void spoonView3D(int );
-extern void makeView3DFromFileData(int );
diff --git a/src/graph/include/sselect.h1 b/src/graph/include/sselect.h1
deleted file mode 100755
index c5b7ddf..0000000
--- a/src/graph/include/sselect.h1
+++ /dev/null
@@ -1,3 +0,0 @@
-extern int 
-superSelect(int n , int * rd , int * wr , int * ex , char * timeout);
-
diff --git a/src/graph/include/stuff2d.h1 b/src/graph/include/stuff2d.h1
deleted file mode 100755
index 1c2971e..0000000
--- a/src/graph/include/stuff2d.h1
+++ /dev/null
@@ -1,2 +0,0 @@
-extern float absolute(float);
-extern void goodbye(int);
diff --git a/src/graph/include/stuff3d.h1 b/src/graph/include/stuff3d.h1
deleted file mode 100755
index 66aacc5..0000000
--- a/src/graph/include/stuff3d.h1
+++ /dev/null
@@ -1,5 +0,0 @@
-extern viewTriple * traverse(int );
-extern float absolute(float );
-extern float get_random(void );
-extern triple norm_dist(void );
-extern void goodbye(int);
diff --git a/src/graph/include/surface3d.h1 b/src/graph/include/surface3d.h1
deleted file mode 100755
index 36cc77d..0000000
--- a/src/graph/include/surface3d.h1
+++ /dev/null
@@ -1,15 +0,0 @@
-extern void drawLineComponent(poly *  , int );
-extern void drawOpaquePolygon(poly *  , GC  , GC  , int );
-extern poly * copyPolygons(poly * );
-extern void minMaxPolygons(poly * );
-extern int polyCompare(poly *  , poly * );
-extern void calcEyePoint(void );
-extern void drawRenderedPolygon(poly *  , int );
-extern void freePointResevoir(void);
-extern void freeListOfPolygons(poly * );
-extern void drawPolygons(int );
-extern int lessThan(float  , float );
-extern int greaterThan(float  , float );
-extern int isNaN(float );
-extern int isNaNPoint(float  , float  , float );
-extern int equal(float  , float );
diff --git a/src/graph/include/transform3d.h1 b/src/graph/include/transform3d.h1
deleted file mode 100755
index f273c0b..0000000
--- a/src/graph/include/transform3d.h1
+++ /dev/null
@@ -1,6 +0,0 @@
-extern void matrixMultiply4x4(float [4][4] , float [4][4] , float [4][4]);
-extern void vectorMatrix4(float [4] , float [4][4] , float [4]);
-extern void ROTATE(float [4][4]);
-extern void ROTATE1(float [4][4]);
-extern void SCALE(float  , float  , float  , float [4][4]);
-extern void TRANSLATE(float  , float  , float  , float [4][4]);
diff --git a/src/graph/include/tube.h b/src/graph/include/tube.h
deleted file mode 100755
index d8c3f73..0000000
--- a/src/graph/include/tube.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define openTube 1
-#define closedTube 0
-
-typedef struct _triple {    /* used for normals */
-  float x,y,z;
-} triple;
-
-#include "rgb.h"
-
-typedef struct _viewTriple { /* used for points in 3 space */
-  float x,y,z,c,sc;          /* c is color component */
-  float wx,wy,wz;            /* world space coords */
-  float px,py,pz;            /* as projected on the screen */
-  float norm[3];
-  struct _viewTriple *next;  /* for new points allocated by splits, 
-				keep in list for freeing */
-} viewTriple, *viewTriplePtr;
-
-/* the xxxPRIM's are primitiveType's as deduced from the 
-   components received from AXIOM. the info may be
-   used in the hidden surface section */
-
-#define stillDontKnow    0
-#define pointComponent   1
-#define lineComponent    2
-#define polygonComponent 3
-#define surfaceComponent 4
-
-
-typedef struct _poly {
-  int num, sortNum,
-    split;                   /* how many times the polygon's been split */
-  int numpts;
-  int primitiveType;
-  int *indexPtr;         /* the index referring to the offset from the
-			    beginning of the points field in the view3DStruct
-			    in view3d.h */
-  float N[3],planeConst,color;    /* planeConst - for plane equ'n, N has
-				     other 3 coeffs */
-  float pxmin,pxmax,pymin,pymax,pzmin,pzmax;
-  float xmin,xmax,ymin,ymax,zmin,zmax;
-  int moved;                      /* moved - for depth sort */
-  struct _poly *next;
-  int doNotStopDraw;              /* for the quickDraw if depth info remains
-				     the same between draws */
-  float normalFacingOut;
-  int partialClip, totalClip,
-    partialClipPz, totalClipPz;
-} poly;
-
-
-typedef struct _polyList {
-  int  numPolys;
-  poly *polyIndx;
-  struct _polyList *next;
-} polyList;
-
-
-typedef struct _slice {
-  int keyoffset;
-  viewTriple *points;
-  struct _slice *next;
-} slice;
-
-
-typedef struct _tubeModel {
-  /* numslices are the number of pts on the curve */
-  int numslices, slicepts, numPolygons;
-  int openLoop;  /* open or closed loop */
-  slice *slices;
-  poly  *polygons;
-} tubeModel;
-
-
-typedef struct _pointInfo {
-  viewTriple *theVT;
-  int        onVertex,segmentNum;
-  int        indexNum;   
-} pointInfo;
-
diff --git a/src/graph/include/view.h b/src/graph/include/view.h
deleted file mode 100755
index b4d08c6..0000000
--- a/src/graph/include/view.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* This file is to be included by all the viewport files */
-
-#define check(code)	checker(code,__LINE__,"")
-#define saymem(a,b,c)	saymemWithLine(a,b,c,__LINE__)
-#define exitWithAck(ACK,ACKsize,i) \
-		check(write(Socket,&(ACK),sizeof(ACKsize)));  exit(i);
-#define NIL(type)	((type *)NULL)
-
-#define oldNum 8  /* in the old system, we assumed an eight shade palette */
-#define oldOff 2
-
-#define monoColor(x) ((mono)?foregroundColor:XSolidColor((int)x/oldNum,(int)(x%oldNum)/oldOff))
-#define monoDither(x,y) ((mono)?foregroundColor:XSolidColor(x,y))
-#define notANumber (0.0/0.0)
-
-/* error messages */
-#define fontErrMess "       Try getting the font or changing the .Xdefaults entry"
-
-/* opening fonts */
-
-/* getDef(v,s,d,x): 
-   v, the character pointer for the default value
-   s, the .Xdefaults field
-   d, the value in case the field is undefined in .Xdefaults
-   x, a string specifying the prefix field (in .Xdefaults)
-   */
-
-#define getDef(v,s,d,x) {v=XGetDefault(dsply,x,s); if (v==NIL(char)) v=d;}
-
-/* getFont(daFont,daDefault,whichView):
-   assignTo, the font variable that will hold the font (globalFont)
-   daFont,   the .Xdefault field name  ("buttonFont")
-   daDefault, the default font (string) ("Rom12.500")
-   whichView, the .Xdefault prefix name ("view2d")
-   this is to be used in the files view2d/main.c and view3d/main.c where the
-   appropriate variables are already defined
-   */
-
-#define getFont(assignTo,daFont,daDefault,whichView) \
-getDef(xDefault,daFont,daDefault,whichView); \
-if ((assignTo = XLoadQueryFont(dsply,xDefault)) == NULL) \
-if ((assignTo = XLoadQueryFont(dsply,daDefault)) == NULL) { \
-if (strcmp(xDefault,daDefault))   /* strcmp returns 0 if equal */ \
-if (xDefault[0] == '\0') \
-fprintf(stderr, \
-"   >>> Font error: No .Xdefault entry for %s.%s and could not get the %s font\n%s\n", \
-whichView,daFont,daDefault,fontErrMess); \
-else \
-fprintf(stderr, \
-"   >>> Font error: Could get neither the %s nor the %s font\n%s\n",xDefault, \
-daDefault,fontErrMess); \
-else \
-fprintf(stderr, \
-"   >>> Font error: Could not get the %s font.\n%s\n",xDefault,fontErrMess); \
-exitWithAck(RootWindow(dsply,scrn),Window,-1); \
-} 
-
diff --git a/src/graph/include/view2d.h b/src/graph/include/view2d.h
deleted file mode 100755
index 80da5b9..0000000
--- a/src/graph/include/view2d.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <X11/Xlib.h>
-#define maxGraphs 9
-
-
-typedef struct _viewManager {
-  int viewType,          /* specifies view3d, view2d, etc... */
-    PID,               /* unique integer greater than zero */
-    processID,         /* processID of child (PID could be the window ID) */
-    viewIn,viewOut;    /* connection to viewport process */
-  char propertyName[14]; /* string pointing to the property name */
-  Window viewWindow;
-  struct _viewManager *nextViewport;
-} viewManager;
-
-typedef struct _viewsWithThisGraph {
-  viewManager *viewGr;
-  struct _viewsWithThisGraph *nextViewthing;
-} viewsWithThisGraph;
-
-
-typedef struct _pointStruct {
-  float x,y,hue,shade;
-} pointStruct;
-
-
-typedef struct _pointListStruct {
-  pointStruct             *listOfPoints;
-  float                   hue, shade;
-  int                     pointColor, lineColor, pointSize,
-    numberOfPoints;
-} pointListStruct;
-
-
-typedef struct _graphStruct {
-  int                 key;
-  float               xmin,xmax,ymin,ymax;
-  float               xNorm,yNorm;
-  float               spadUnitX,spadUnitY;
-  float               unitX,unitY;
-  float               originX,originY;
-  int                 numberOfLists;
-  pointListStruct     *listOfListsOfPoints;
-  viewsWithThisGraph   *views;
-  struct _graphStruct *nextGraph;
-} graphStruct;
-
-
-typedef struct _view2DStruct {
-  char        *title;
-  int         vX,vY,vW,vH,
-    showCP,
-    axesOn,unitsOn,pointsOn,linesOn,splineOn,
-    axesColor,unitsColor;
-  int         graphKeyArray[maxGraphs];
-} view2DStruct;
-
-
-typedef struct _graphStateStruct {
-  float scaleX, scaleY, deltaX, deltaY, centerX, centerY;
-  int   pointsOn, connectOn, splineOn, axesOn, unitsOn,
-    axesColor,unitsColor;
-  int   showing, selected;  /* these fields are not passed from Spad; 
-			       View2D initializes them */
-} graphStateStruct;
-
-
-/* need spline color, axes color, units color... */
diff --git a/src/graph/include/view3d.h b/src/graph/include/view3d.h
deleted file mode 100755
index aea7cd9..0000000
--- a/src/graph/include/view3d.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include "component.h"
-
-/* we now have two substructures (in the union, kind):
-   tubeModel (in tube.h) and fun2VarModel (below) 
-   */
-#define maxGraphs 9
-
-typedef struct _fun2VarModel {
-  float *zArray,*cArray;
-  viewTriple *pointList;
-} fun2VarModel;
-
-union kindOf {
-  /*  float *zArray; */
-  fun2VarModel fun2Var;
-  tubeModel tube;
-};
-
-typedef struct _view3DStruct {
-  int typeOf3D;
-  float xmin,xmax,ymin,ymax,zmin,zmax;
-  float cmin,cmax;
-  float scaleToView;
-  union kindOf kind;
-  int xnumber, ynumber, zSize;
-  char *title;
-  float deltaX,deltaY,scale,theta,phi;
-  float deltaZ;			/***** not yet used *****/
-  float scaleX,scaleY,scaleZ;  
-  float transX,transY,transZ;   /* translate so that rotation can be done 
-				   about center of object volume */
-  int vX,vY,vW,vH;
-  int showCP,style,AxesOn,
-    hueOff,numOfHues,
-    diagonals;
-  float lightVec[3],translucency;
-  int scaleDown;
-  int perspective;
-  float eyeDistance;
-  int outlineRenderOn,box,clipbox,
-    clipStuff;       /* actually clip the stuff outside the clip boundaries */
-  int numOfPoints;
-  viewTriple *points;
-  poly *polygons;
-  LLLPoint lllp;
-  int numPolygons;
-  int pointSize;
-  float distortX,distortY,distortZ;
-  float clipXmin,clipXmax,	/* for object space clipping */
-    clipYmin,clipYmax,
-    clipZmin,clipZmax;
-  float clipPlane;		/* for (frustrum hither plane) image space
-				   clipping note that there is already a
-				   clipOffset variable that is read in as a
-				   global variable
-				   */
-} view3DStruct;
-
-
-/* for drawing the region box */
-typedef struct _boxSideStruct {
-  viewTriplePtr pointsPtr[4];	/* see notes for definition of box */
-  int inside;
-} boxSideStruct;
-
diff --git a/src/graph/include/viewalone.h1 b/src/graph/include/viewalone.h1
deleted file mode 100755
index 1fd6cfb..0000000
--- a/src/graph/include/viewalone.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int main(int  , char * []);
diff --git a/src/graph/include/viewcommand.h b/src/graph/include/viewcommand.h
deleted file mode 100755
index 249feed..0000000
--- a/src/graph/include/viewcommand.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* Commands that the viewports could send to the viewport manager */
-
-#define viewportClosing 1
diff --git a/src/graph/include/viewport2d.h1 b/src/graph/include/viewport2d.h1
deleted file mode 100755
index 5959808..0000000
--- a/src/graph/include/viewport2d.h1
+++ /dev/null
@@ -1,4 +0,0 @@
-extern void writeTitle(void);
-extern void drawTheViewport(int );
-extern viewPoints * makeViewport(char *  , int  , int  , int  , int  , int );
-extern viewPoints * makeView2D(view2DStruct * );
diff --git a/src/graph/include/viewport3d.h1 b/src/graph/include/viewport3d.h1
deleted file mode 100755
index cff5587..0000000
--- a/src/graph/include/viewport3d.h1
+++ /dev/null
@@ -1,6 +0,0 @@
-extern void writeTitle(void);
-extern void drawPreViewport(int );
-extern void drawTheViewport(int );
-extern int keepDrawingViewport(void);
-extern viewPoints * makeViewport(void);
-extern void postMakeViewport(void);
diff --git a/src/graph/include/volume3d.h1 b/src/graph/include/volume3d.h1
deleted file mode 100755
index 243dd6a..0000000
--- a/src/graph/include/volume3d.h1
+++ /dev/null
@@ -1,10 +0,0 @@
-extern int initVolumeButtons(buttonStruct * );
-extern void makeVolumePanel(void );
-extern void drawClipXBut(void );
-extern void drawClipYBut(void );
-extern void drawClipZBut(void );
-extern void drawClipVolume(void );
-extern void drawHitherControl(void );
-extern void drawEyeControl(void );
-extern void drawFrustrum(void );
-extern void drawVolumePanel(void );
diff --git a/src/graph/include/write.h b/src/graph/include/write.h
deleted file mode 100755
index 1deec4e..0000000
--- a/src/graph/include/write.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* These are types of files that the viewports would
-   be able to write out upon a command from AXIOM.
-   Note that the numbers in this list is also the order
-   in which they should appear in the AXIOM file (e.g. view3D.spad) */
-
-#define Pixmap		1
-#define Bitmap		2
-#define Postscript	3
-#define Image		4
diff --git a/src/graph/include/write2d.h1 b/src/graph/include/write2d.h1
deleted file mode 100755
index b07db4b..0000000
--- a/src/graph/include/write2d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int writeViewport(int );
diff --git a/src/graph/include/write3d.h1 b/src/graph/include/write3d.h1
deleted file mode 100755
index b07db4b..0000000
--- a/src/graph/include/write3d.h1
+++ /dev/null
@@ -1 +0,0 @@
-extern int writeViewport(int );
diff --git a/src/graph/include/xdefs.h b/src/graph/include/xdefs.h
deleted file mode 100755
index 0a8e34e..0000000
--- a/src/graph/include/xdefs.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifdef view3D
-
-/***      default fonts      ***/
-#ifdef  RTplatform
-#define messageFontDefault    "Rom14.500"
-#define buttonFontDefault     "vtbold"
-#define headerFontDefault     "Itl14.500"
-#define titleFontDefault      "Rom14.500"
-#define lightingFontDefault   "6x10"
-#define volumeFontDefault     "Rom8.500"
-#endif
-
-#if defined(PS2platform) || defined(RIOSplatform) || defined(AIX370platform)
-#define messageFontDefault  "Rom14"
-#define buttonFontDefault   "Rom11"
-#define headerFontDefault   "Itl14"
-#define titleFontDefault    "Rom14"
-#define lightingFontDefault "Rom10"
-#define volumeFontDefault   "Rom8"
-#else
-#define messageFontDefault  "9x15"
-#define buttonFontDefault   "8x13"
-#define headerFontDefault   "9x15"
-#define titleFontDefault    "9x15"
-#define lightingFontDefault "6x13"
-#define volumeFontDefault   "6x10"
-#endif
-
-
-#endif
-
-/************************/
-/***      view2d      ***/
-/************************/
-#ifdef view2d
-
-/***      default fonts      ***/
-#ifdef  RTplatform
-#define messageFontDefault "Rom14.500"
-#define buttonFontDefault  "vtbold"
-#define headerFontDefault  "Itl14.500"
-#define titleFontDefault   "Rom14.500"
-#define graphFontDefault   "fg-22"
-#define unitFontDefault    "6x10"
-#endif
-
-#if defined(PS2platform) || defined(RIOSplatform) || defined(AIX370platform)
-#define messageFontDefault "Rom14"
-#define buttonFontDefault  "Rom11"
-#define headerFontDefault  "Itl14"
-#define titleFontDefault   "Rom14"
-#define graphFontDefault   "Rom22"
-#define unitFontDefault    "6x10"
-#else
-#define messageFontDefault  "9x15"
-#define buttonFontDefault   "8x13"
-#define headerFontDefault   "9x15"
-#define titleFontDefault    "9x15"
-#define unitFontDefault     "6x10"
-#define graphFontDefault    "9x15"
-#endif
-
-
-#endif
-

\start
Date: Thu, 17 Jul 2008 20:50:57 +0200
From: Gregory Vanuxem
To: Tim Daly
Subject: Re: Hyperdoc and scroll wheel

Le mercredi 16 juillet 2008 =E0 22:41 -0500, Tim Daly a
=E9crit :
> I bought a scroll wheel mouse today and tested the patch to hyperdoc
> by Greg. It works.

Of course it works :-)

Thanks for the inclusion of this code.

\start
Date: Fri, 18 Jul 2008 02:45:26 -0500
From: Tim Daly
To: list
Subject: 20080718.01.tpd.patch (bookvol7.1 hyperdoc additional documentation)


bookvol7.1 (hyperdoc pages) has been updated including:

 *  some broken pages fixed
 *  outdated pages (releaseNotes) updated
 *  new images for the first level of the browse tree added
  
The images are now followed by hyperlinks. This allows you to use the
PDF file in place of the hyperdoc browser for traversing the static
pages. Additionally, all images are indexed to allow any page and
its implementation to be found and displayed easily.

The latest version has been uploaded to the axiom website. Visit:
<http://axiom.axiom-developer.org/axiom-website/documentation.html>
to see all the books or just
<http://axiom.axiom-developer.org/axiom-website/bookvol7.1.pdf>
to see the hyperdoc pages book.

If you look at bookvol7.1.pdf, the RootPage root of the browser page
tree can be found by looking at the table of contents for "Axiom
Hyperdoc Top Level" or rootpage.ht.  The image is followed by
hyperlinks to the next level of pages.

\start
Date: Sat, 19 Jul 2008 01:07:21 -0500
From: Tim Daly
To: list
Subject: 20080719.01.tpd.patch (bookvol7.1 more	documentation)

Several changes including:

  * additional/reorganized chapters
  * fixed broken links
  * fixed latex overruns
  * fixed missing references

Each page now how backlinks as well as forward links so it is now
possible to nagivate the PDF as though it were the actual browser.

The patch is too large to post.

\start
Date: Sat, 19 Jul 2008 09:17:26 -0500
From: Tim Daly
To: list
Subject: 20080720.01.tpd.patch (bookvol7.1 hyperdoc documentation added)

Further documentation of hyperdoc. 

 * More images and links were added.
 * The first connection to the algebra was added

This patch diff does not include the images as they make it too large.
See the axiom-commit mailing list.
======================================================================
diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet
index 9f6e885..f96b45b 100644
--- a/books/bookvol7.1.pamphlet
+++ b/books/bookvol7.1.pamphlet
@@ -1704,6 +1704,11 @@ A glossary of Axiom terms.
 @
 \subsection{NAG Documentation}
 \label{FoundationLibraryDocPage}
+\includegraphics[scale=.5]{ps/v71foundationlibrarydocpage.eps}
+\index{images!foundationlibrarydocpage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 
 \index{pages!FoundationLibraryDocPage!rootpage.ht}
 \index{rootpage.ht!pages!FoundationLibraryDocPage}
@@ -1969,9 +1974,9 @@ Called from ``Topics'' (TopicPage) \ref{TopicPage} on
 page~\pageref{TopicPage}
 \begin{itemize}
 \item ``Number Theory'' (NumberTheoryPage)\\
-\ref{NumberTheoryPage} on page~pageref{NumberTheoryPage}
+\ref{NumberTheoryPage} on page~\pageref{NumberTheoryPage}
 \item ``Group Theory'' (GroupTheoryPage)\\
-\ref{GroupTheoryPage} on page~pageref{GroupTheoryPage}
+\ref{GroupTheoryPage} on page~\pageref{GroupTheoryPage}
 \end{itemize}
 \index{pages!AlgebraPage!algebra.ht}
 \index{algebra.ht!pages!AlgebraPage}
@@ -1999,10 +2004,10 @@ Permutation groups; representation theory.
 \label{NumberTheoryPage}
 \begin{itemize}
 \item ugProblemGaloisPage \ref{ugProblemGaloisPage} on
-page~pageref{ugProblemGaloisPage}
+page~\pageref{ugProblemGaloisPage}
 \item IntegerNumberTheoryFunctionsXmpPage \\
 \ref{IntegerNumberTheoryFunctionsXmpPage} on\\
-page~pageref{IntegerNumberTheoryFunctionsXmpPage}
+page~\pageref{IntegerNumberTheoryFunctionsXmpPage}
 \end{itemize}
 \index{pages!NumberTheoryPage!algebra.ht}
 \index{algebra.ht!pages!NumberTheoryPage}
@@ -2131,9 +2136,9 @@ see \downlink{`List'}{ListXmpPage}\ignore{List}.
 \label{OneDimensionalArrayXmpPage}
 \begin{itemize}
 \item VectorXmpPage \ref{VectorXmpPage} on
-page~pageref{VectorXmpPage}
+page~\pageref{VectorXmpPage}
 \item FlexibleArrayXmpPage \ref{FlexibleArrayXmpPage} on
-page~pageref{FlexibleArrayXmpPage}
+page~\pageref{FlexibleArrayXmpPage}
 \end{itemize}
 \index{pages!OneDimensionalArrayXmpPage!array1.ht}
 \index{array1.ht!pages!OneDimensionalArrayXmpPage}
@@ -2219,11 +2224,11 @@ Replace the first 5 elements of \spad{a} with those of \spad{b}.
 \label{TwoDimensionalArrayXmpPage}
 \begin{itemize}
 \item ugTypesAnyNonePage \ref{ugTypesAnyNonePage} on
-page~pageref{ugTypesAnyNonePage}
+page~\pageref{ugTypesAnyNonePage}
 \item MatrixXmpPage \ref{MatrixXmpPage} on
-page~pageref{MatrixXmpPage}
+page~\pageref{MatrixXmpPage}
 \item OneDimensionalArrayXmpPage \ref{OneDimensionalArrayXmpPage} on
-page~pageref{OneDimensionalArrayXmpPage}
+page~\pageref{OneDimensionalArrayXmpPage}
 \end{itemize}
 \index{pages!TwoDimensionalArrayXmpPage!array2.ht}
 \index{array2.ht!pages!TwoDimensionalArrayXmpPage}
@@ -2603,9 +2608,9 @@ answer for \texht{$12^2$}{12**2}.
 \label{BinaryExpansionXmpPage}
 \begin{itemize}
 \item DecimalExpansionXmpPage\\
-\ref{DecimalExpansionXmpPage} on page~pageref{DecimalExpansionXmpPage}
+\ref{DecimalExpansionXmpPage} on page~\pageref{DecimalExpansionXmpPage}
 \item RadixExpansionXmpPage\\ 
-\ref{RadixExpansionXmpPage} on page~pageref{RadixExpansionXmpPage}
+\ref{RadixExpansionXmpPage} on page~\pageref{RadixExpansionXmpPage}
 \end{itemize}
 \index{pages!BinaryExpansionXmpPage!binary.ht}
 \index{binary.ht!pages!BinaryExpansionXmpPage}
@@ -3795,13 +3800,13 @@ belong to certain families.
 \label{CliffordAlgebraXmpPage}
 \begin{itemize}
 \item ugxCliffordComplexPage \ref{ugxCliffordComplexPage} on
-page~pageref{ugxCliffordComplexPage}
+page~\pageref{ugxCliffordComplexPage}
 \item ugxCliffordQuaternPage \ref{ugxCliffordQuaternPage} on
-page~pageref{ugxCliffordQuaternPage}
+page~\pageref{ugxCliffordQuaternPage}
 \item ugxCliffordExteriorPage \ref{ugxCliffordExteriorPage} on
-page~pageref{ugxCliffordExteriorPage}
+page~\pageref{ugxCliffordExteriorPage}
 \item ugxCliffordDiracPage \ref{ugxCliffordDiracPage} on
-page~pageref{ugxCliffordDiracPage}
+page~\pageref{ugxCliffordDiracPage}
 \end{itemize}
 \index{pages!CliffordAlgebraXmpPage!clif.ht}
 \index{clif.ht!pages!CliffordAlgebraXmpPage}
@@ -4143,9 +4148,9 @@ for t in 1..4]) \bound{lhs}\free{g gam m n r s}}
 \label{ComplexXmpPage}
 \begin{itemize}
 \item ugProblemNumericPage \ref{ugProblemNumericPage} on
-page~pageref{ugProblemNumericPage}
+page~\pageref{ugProblemNumericPage}
 \item ugTypesConvertPage \ref{ugTypesConvertPage} on
-page~pageref{ugTypesConvertPage}
+page~\pageref{ugTypesConvertPage}
 \end{itemize}
 \index{pages!ComplexXmpPage!complex.ht}
 \index{complex.ht!pages!ComplexXmpPage}
@@ -5359,11 +5364,11 @@ page~\pageref{ExSumGeneralFunction}
 \label{DecimalExpansionXmpPage}
 \begin{itemize}
 \item BinaryExpansionXmpPage \ref{BinaryExpansionXmpPage} on
-page~pageref{BinaryExpansionXmpPage}
+page~\pageref{BinaryExpansionXmpPage}
 \item HexadecimalExpansionXmpPage \ref{HexadecimalExpansionXmpPage} on
-page~pageref{HexadecimalExpansionXmpPage}
+page~\pageref{HexadecimalExpansionXmpPage}
 \item RadixExpansionXmpPage \ref{RadixExpansionXmpPage} on
-page~pageref{RadixExpansionXmpPage}
+page~\pageref{RadixExpansionXmpPage}
 \end{itemize}
 \index{pages!DecimalExpansionXmpPage!decimal.ht}
 \index{decimal.ht!pages!DecimalExpansionXmpPage}
@@ -5642,11 +5647,11 @@ consists of the eight forms: \spad{1}, \spad{dx}, \spad{dy}, \spad{dz},
 \label{DoubleFloatXmpPage}
 \begin{itemize}
 \item ugGraphPage \ref{ugGraphPage} on
-page~pageref{ugGraphPage}
+page~\pageref{ugGraphPage}
 \item ugProblemNumericPage \ref{ugProblemNumericPage} on
-page~pageref{ugProblemNumericPage}
+page~\pageref{ugProblemNumericPage}
 \item FloatXmpPage \ref{FloatXmpPage} on
-page~pageref{FloatXmpPage}
+page~\pageref{FloatXmpPage}
 \end{itemize}
 \index{pages!DoubleFloatXmpPage!dfloat.ht}
 \index{dfloat.ht!pages!DoubleFloatXmpPage}
@@ -5764,15 +5769,15 @@ facilities, see
 \label{DistributedMultivariatePolynomialXmpPage}
 \begin{itemize}
 \item ugIntroVariablesPage \ref{ugIntroVariablesPage} on
-page~pageref{ugIntroVariablesPage}
+page~\pageref{ugIntroVariablesPage}
 \item ugTypesConvertPage \ref{ugTypesConvertPage} on
-page~pageref{ugTypesConvertPage}
+page~\pageref{ugTypesConvertPage}
 \item PolynomialXmpPage \ref{PolynomialXmpPage} on
-page~pageref{PolynomialXmpPage}
+page~\pageref{PolynomialXmpPage}
 \item UnivariatePolynomialXmpPage \ref{UnivariatePolynomialXmpPage} on
-page~pageref{UnivariatePolynomialXmpPage}
+page~\pageref{UnivariatePolynomialXmpPage}
 \item MultivariatePolynomialXmpPage \ref{MultivariatePolynomialXmpPage} on
-page~pageref{MultivariatePolynomialXmpPage}
+page~\pageref{MultivariatePolynomialXmpPage}
 \end{itemize}
 \index{pages!DistributedMultivariatePolynomialXmpPage!dmp.ht}
 \index{dmp.ht!pages!DistributedMultivariatePolynomialXmpPage}
@@ -6917,19 +6922,19 @@ The function \spadfun{rank} gives you the rank of a matrix:
 \label{ExpressionXmpPage}
 \begin{itemize}
 \item KernelXmpPage \ref{KernelXmpPage} on
-page~pageref{KernelXmpPage}
+page~\pageref{KernelXmpPage}
 \item ugIntroCalcDerivPage \ref{ugIntroCalcDerivPage} on
-page~pageref{ugIntroCalcDerivPage}
+page~\pageref{ugIntroCalcDerivPage}
 \item ugIntroCalcLimitsPage \ref{ugIntroCalcLimitsPage} on
-page~pageref{ugIntroCalcLimitsPage}
+page~\pageref{ugIntroCalcLimitsPage}
 \item ugIntroSeriesPage \ref{ugIntroSeriesPage} on
-page~pageref{ugIntroSeriesPage}
+page~\pageref{ugIntroSeriesPage}
 \item ugProblemDEQPage \ref{ugProblemDEQPage} on
-page~pageref{ugProblemDEQPage}
+page~\pageref{ugProblemDEQPage}
 \item ugProblemIntegrationPage \ref{ugProblemIntegrationPage} on
-page~pageref{ugProblemIntegrationPage}
+page~\pageref{ugProblemIntegrationPage}
 \item ugUserRulesPage \ref{ugUserRulesPage} on
-page~pageref{ugUserRulesPage}
+page~\pageref{ugUserRulesPage}
 \end{itemize}
 \index{pages!ExpressionXmpPage!expr.ht}
 \index{expr.ht!pages!ExpressionXmpPage}
@@ -7671,9 +7676,9 @@ Use {\em \%plusInfinity} to denote `plus infinity'.
 \label{FlexibleArrayXmpPage}
 \begin{itemize}
 \item OneDimensionalArrayXmpPage \ref{OneDimensionalArrayXmpPage} on
-page~pageref{OneDimensionalArrayXmpPage}
+page~\pageref{OneDimensionalArrayXmpPage}
 \item VectorXmpPage \ref{VectorXmpPage} on
-page~pageref{VectorXmpPage}
+page~\pageref{VectorXmpPage}
 \end{itemize}
 \index{pages!FlexibleArrayXmpPage!farray.ht}
 \index{farray.ht!pages!FlexibleArrayXmpPage}
@@ -7811,13 +7816,13 @@ The previous value is returned.
 \label{FileXmpPage}
 \begin{itemize}
 \item TextFileXmpPage \ref{TextFileXmpPage} on
-page~pageref{TextFileXmpPage}
+page~\pageref{TextFileXmpPage}
 \item KeyedAccessFileXmpPage \ref{KeyedAccessFileXmpPage} on
-page~pageref{KeyedAccessFileXmpPage}
+page~\pageref{KeyedAccessFileXmpPage}
 \item LibraryXmpPage \ref{LibraryXmpPage} on
-page~pageref{LibraryXmpPage}
+page~\pageref{LibraryXmpPage}
 \item FileNameXmpPage \ref{FileNameXmpPage} on
-page~pageref{FileNameXmpPage}
+page~\pageref{FileNameXmpPage}
 \end{itemize}
 \index{pages!FileXmpPage!file.ht}
 \index{file.ht!pages!FileXmpPage}
@@ -7930,19 +7935,19 @@ For more information on related topics, see
 \label{FloatXmpPage}
 \begin{itemize}
 \item ugGraphPage \ref{ugGraphPage} on
-page~pageref{ugGraphPage}
+page~\pageref{ugGraphPage}
 \item ugProblemNumericPage \ref{ugProblemNumericPage} on
-page~pageref{ugProblemNumericPage}
+page~\pageref{ugProblemNumericPage}
 \item DoubleFloatXmpPage \ref{DoubleFloatXmpPage} on
-page~pageref{DoubleFloatXmpPage}
+page~\pageref{DoubleFloatXmpPage}
 \item ugxFloatIntroPage \ref{ugxFloatIntroPage} on
-page~pageref{ugxFloatIntroPage}
+page~\pageref{ugxFloatIntroPage}
 \item ugxFloatConvertPage \ref{ugxFloatConvertPage} on
-page~pageref{ugxFloatConvertPage}
+page~\pageref{ugxFloatConvertPage}
 \item ugxFloatOutputPage \ref{ugxFloatOutputPage} on
-page~pageref{ugxFloatOutputPage}
+page~\pageref{ugxFloatOutputPage}
 \item ugxFloatHilbertPage \ref{ugxFloatHilbertPage} on
-page~pageref{ugxFloatHilbertPage}
+page~\pageref{ugxFloatHilbertPage}
 \end{itemize}
 \index{pages!FloatXmpPage!float.ht}
 \index{float.ht!pages!FloatXmpPage}
@@ -8447,15 +8452,15 @@ with the given extension, and the same defaults are used.
 \label{FactoredXmpPage}
 \begin{itemize}
 \item ugxFactoredDecompPage \ref{ugxFactoredDecompPage} on
-page~pageref{ugxFactoredDecompPage}
+page~\pageref{ugxFactoredDecompPage}
 \item ugxFactoredExpandPage \ref{ugxFactoredExpandPage} on
-page~pageref{ugxFactoredExpandPage}
+page~\pageref{ugxFactoredExpandPage}
 \item ugxFactoredArithPage \ref{ugxFactoredArithPage} on
-page~pageref{ugxFactoredArithPage}
+page~\pageref{ugxFactoredArithPage}
 \item ugxFactoredNewPage \ref{ugxFactoredNewPage} on
-page~pageref{ugxFactoredNewPage}
+page~\pageref{ugxFactoredNewPage}
 \item ugxFactoredVarPage \ref{ugxFactoredVarPage} on
-page~pageref{ugxFactoredVarPage}
+page~\pageref{ugxFactoredVarPage}
 \end{itemize}
 \index{pages!FactoredXmpPage!fr.ht}
 \index{fr.ht!pages!FactoredXmpPage}
@@ -8822,9 +8827,9 @@ You can differentiate with respect to a variable.
 \label{FactoredFunctionsTwoXmpPage}
 \begin{itemize}
 \item FactoredXmpPage \ref{FactoredXmpPage} on
-page~pageref{FactoredXmpPage}
+page~\pageref{FactoredXmpPage}
 \item ugProblemGaloisPage \ref{ugProblemGaloisPage} on
-page~pageref{ugProblemGaloisPage}
+page~\pageref{ugProblemGaloisPage}
 \end{itemize}
 \index{pages!FactoredFunctionsTwoXmpPage!fr2.ht}
 \index{fr2.ht!pages!FactoredFunctionsTwoXmpPage}
@@ -8896,9 +8901,9 @@ Section \ugProblemGaloisNumber\ignore{ugProblemGalois}.
 \label{FractionXmpPage}
 \begin{itemize}
 \item ContinuedFractionXmpPage \ref{ContinuedFractionXmpPage} on
-page~pageref{ContinuedFractionXmpPage}
+page~\pageref{ContinuedFractionXmpPage}
 \item PartialFractionXmpPage \ref{PartialFractionXmpPage} on
-page~pageref{PartialFractionXmpPage}
+page~\pageref{PartialFractionXmpPage}
 \end{itemize}
 \index{pages!FractionXmpPage!frac.ht}
 \index{frac.ht!pages!FractionXmpPage}
@@ -9426,6 +9431,11 @@ used.
 \section{gloss.ht}
 \subsection{Glossary}
 \label{GlossaryPage}
+\includegraphics[scale=.5]{ps/v71glossary.eps}
+\index{images!glossary}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \index{pages!GlossaryPage!gloss.ht}
 \index{gloss.ht!pages!GlossaryPage}
 \index{GlossaryPage!gloss.ht!pages}
@@ -11814,11 +11824,11 @@ Apply \spadfun{heapsort} to present elements in order.
 \label{HexadecimalExpansionXmpPage}
 \begin{itemize}
 \item DecimalExpansionXmpPage \ref{DecimalExpansionXmpPage} on
-page~pageref{DecimalExpansionXmpPage}
+page~\pageref{DecimalExpansionXmpPage}
 \item BinaryExpansionXmpPage \ref{BinaryExpansionXmpPage} on
-page~pageref{BinaryExpansionXmpPage}
+page~\pageref{BinaryExpansionXmpPage}
 \item RadixExpansionXmpPage \ref{RadixExpansionXmpPage} on
-page~pageref{RadixExpansionXmpPage}
+page~\pageref{RadixExpansionXmpPage}
 \end{itemize}
 \index{pages!HexadecimalExpansionXmpPage!hexadec.ht}
 \index{hexadec.ht!pages!HexadecimalExpansionXmpPage}
@@ -11887,24 +11897,24 @@ These numbers are bona fide algebraic objects.
 \label{IntegerXmpPage}
 \begin{itemize}
 \item ugIntroNumbersPage\\ 
-\ref{ugIntroNumbersPage} on page~pageref{ugIntroNumbersPage}
+\ref{ugIntroNumbersPage} on page~\pageref{ugIntroNumbersPage}
 \item IntegerNumberTheoryFunctionsXmpPage \\
 \ref{IntegerNumberTheoryFunctionsXmpPage} on
-page~pageref{IntegerNumberTheoryFunctionsXmpPage}
+page~\pageref{IntegerNumberTheoryFunctionsXmpPage}
 \item DecimalExpansionXmpPage \\
-\ref{DecimalExpansionXmpPage} on page~pageref{DecimalExpansionXmpPage}
+\ref{DecimalExpansionXmpPage} on page~\pageref{DecimalExpansionXmpPage}
 \item BinaryExpansionXmpPage \\
-\ref{BinaryExpansionXmpPage} on page~pageref{BinaryExpansionXmpPage}
+\ref{BinaryExpansionXmpPage} on page~\pageref{BinaryExpansionXmpPage}
 \item HexadecimalExpansionXmpPage \\
-\ref{HexadecimalExpansionXmpPage} on page~pageref{HexadecimalExpansionXmpPage}
+\ref{HexadecimalExpansionXmpPage} on page~\pageref{HexadecimalExpansionXmpPage}
 \item RadixExpansionXmpPage\\ 
-\ref{RadixExpansionXmpPage} on page~pageref{RadixExpansionXmpPage}
+\ref{RadixExpansionXmpPage} on page~\pageref{RadixExpansionXmpPage}
 \item ugxIntegerBasicPage \\
-\ref{ugxIntegerBasicPage} on page~pageref{ugxIntegerBasicPage}
+\ref{ugxIntegerBasicPage} on page~\pageref{ugxIntegerBasicPage}
 \item ugxIntegerPrimesPage \\
-\ref{ugxIntegerPrimesPage} on page~pageref{ugxIntegerPrimesPage}
+\ref{ugxIntegerPrimesPage} on page~\pageref{ugxIntegerPrimesPage}
 \item ugxIntegerNTPage \\
-\ref{ugxIntegerNTPage} on page~pageref{ugxIntegerNTPage}
+\ref{ugxIntegerNTPage} on page~\pageref{ugxIntegerNTPage}
 \end{itemize}
 \index{pages!IntegerXmpPage!int.ht}
 \index{int.ht!pages!IntegerXmpPage}
@@ -11943,11 +11953,11 @@ More examples of using integers are in the following sections:
 \label{ugxIntegerBasicPage}
 \begin{itemize}
 \item FractionXmpPage \ref{FractionXmpPage} on
-page~pageref{FractionXmpPage}
+page~\pageref{FractionXmpPage}
 \item ugTypesUnionsPage \ref{ugTypesUnionsPage} on
-page~pageref{ugTypesUnionsPage}
+page~\pageref{ugTypesUnionsPage}
 \item ugTypesRecordsPage \ref{ugTypesRecordsPage} on
-page~pageref{ugTypesRecordsPage}
+page~\pageref{ugTypesRecordsPage}
 \end{itemize}
 \index{pages!ugxIntegerBasicPage!int.ht}
 \index{int.ht!pages!ugxIntegerBasicPage}
@@ -12158,9 +12168,9 @@ Records are discussed in detail in
 \label{ugxIntegerPrimesPage}
 \begin{itemize}
 \item FactoredXmpPage \ref{FactoredXmpPage} on
-page~pageref{FactoredXmpPage}
+page~\pageref{FactoredXmpPage}
 \item ComplexXmpPage \ref{ComplexXmpPage} on
-page~pageref{ComplexXmpPage}
+page~\pageref{ComplexXmpPage}
 \end{itemize}
 \index{pages!ugxIntegerPrimesPage!int.ht}
 \index{int.ht!pages!ugxIntegerPrimesPage}
@@ -12542,11 +12552,11 @@ quadratic field with discriminant \spad{d}.
 \label{KeyedAccessFileXmpPage}
 \begin{itemize}
 \item FileXmpPage \ref{FileXmpPage} on
-page~pageref{FileXmpPage}
+page~\pageref{FileXmpPage}
 \item TextFileXmpPage \ref{TextFileXmpPage} on
-page~pageref{TextFileXmpPage}
+page~\pageref{TextFileXmpPage}
 \item LibraryXmpPage \ref{LibraryXmpPage} on
-page~pageref{LibraryXmpPage}
+page~\pageref{LibraryXmpPage}
 \end{itemize}
 \index{pages!KeyedAccessFileXmpPage!kafile.ht}
 \index{kafile.ht!pages!KeyedAccessFileXmpPage}
@@ -12700,9 +12710,9 @@ For more information on related topics,  see
 \label{KernelXmpPage}
 \begin{itemize}
 \item BasicOperatorXmpPage \ref{BasicOperatorXmpPage} on
-page~pageref{BasicOperatorXmpPage}
+page~\pageref{BasicOperatorXmpPage}
 \item ExpressionXmpPage \ref{ExpressionXmpPage} on
-page~pageref{ExpressionXmpPage}
+page~\pageref{ExpressionXmpPage}
 \end{itemize}
 \index{pages!KernelXmpPage!kernel.ht}
 \index{kernel.ht!pages!KernelXmpPage}
@@ -13488,11 +13498,11 @@ the \axiomOpFrom{realSolve}{ZeroDimensionalSolvePackage} operation.
 \label{LibraryXmpPage}
 \begin{itemize}
 \item FileXmpPage \ref{FileXmpPage} on
-page~pageref{FileXmpPage}
+page~\pageref{FileXmpPage}
 \item TextFileXmpPage \ref{TextFileXmpPage} on
-page~pageref{TextFileXmpPage}
+page~\pageref{TextFileXmpPage}
 \item KeyedAccessFileXmpPage \ref{KeyedAccessFileXmpPage} on
-page~pageref{KeyedAccessFileXmpPage}
+page~\pageref{KeyedAccessFileXmpPage}
 \end{itemize}
 \index{pages!LibraryXmpPage!lib.ht}
 \index{lib.ht!pages!LibraryXmpPage}
@@ -14406,15 +14416,15 @@ complex z, v = 0,1,2,... \newline
 \label{ListXmpPage}
 \begin{itemize}
 \item ugxListCreatePage \ref{ugxListCreatePage} on
-page~pageref{ugxListCreatePage}
+page~\pageref{ugxListCreatePage}
 \item ugxListAccessPage \ref{ugxListAccessPage} on
-page~pageref{ugxListAccessPage}
+page~\pageref{ugxListAccessPage}
 \item ugxListChangePage \ref{ugxListChangePage} on
-page~pageref{ugxListChangePage}
+page~\pageref{ugxListChangePage}
 \item ugxListOtherPage \ref{ugxListOtherPage} on
-page~pageref{ugxListOtherPage}
+page~\pageref{ugxListOtherPage}
 \item ugxListDotPage \ref{ugxListDotPage} on
-page~pageref{ugxListDotPage}
+page~\pageref{ugxListDotPage}
 \end{itemize}
 \index{pages!ListXmpPage!list.ht}
 \index{list.ht!pages!ListXmpPage}
@@ -15128,10 +15138,10 @@ is not necessarily divisible from both sides.
 \begin{itemize}
 \item ugxLinearOrdinaryDifferentialOperatorTwoConstPage 
 \ref{ugxLinearOrdinaryDifferentialOperatorTwoConstPage} on
-page~pageref{ugxLinearOrdinaryDifferentialOperatorTwoConstPage}
+page~\pageref{ugxLinearOrdinaryDifferentialOperatorTwoConstPage}
 \item ugxLinearOrdinaryDifferentialOperatorTwoMatrixPage 
 \ref{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPage} on
-page~pageref{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPage}
+page~\pageref{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPage}
 \end{itemize}
 \index{pages!LinearOrdinaryDifferentialOperatorTwoXmpPage!lodo2.ht}
 \index{lodo2.ht!pages!LinearOrdinaryDifferentialOperatorTwoXmpPage}
@@ -15719,7 +15729,13 @@ Check ordering
 \section{man0.ht}
 \subsection{Reference Search}
 \label{RefSearchPage}
-See ugSysCmdPage \ref{ugSysCmdPage} on page~\pageref{ugSysCmdPage}
+\includegraphics[scale=.5]{ps/v71refsearchpage.eps}
+\index{images!refsearchpage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
+
+See ``Search'' (ugSysCmdPage) \ref{ugSysCmdPage} on page~\pageref{ugSysCmdPage}
 \index{pages!RefSearchPage!man0.ht}
 \index{man0.ht!pages!RefSearchPage}
 \index{RefSearchPage!man0.ht!pages}
@@ -16161,9 +16177,9 @@ Check some inclusion relations.
 \label{MatrixXmpPage}
 \begin{itemize}
 \item ugxMatrixCreatePage \ref{ugxMatrixCreatePage} on
-page~pageref{ugxMatrixCreatePage}
+page~\pageref{ugxMatrixCreatePage}
 \item ugxMatrixOpsPage \ref{ugxMatrixOpsPage} on
-page~pageref{ugxMatrixOpsPage}
+page~\pageref{ugxMatrixOpsPage}
 \end{itemize}
 \index{pages!MatrixXmpPage!matrix.ht}
 \index{matrix.ht!pages!MatrixXmpPage}
@@ -16351,19 +16367,19 @@ across the main diagonal.
 \label{ugxMatrixOpsPage}
 \begin{itemize}
 \item ugIntroTwoDimPage \ref{ugIntroTwoDimPage} on
-page~pageref{ugIntroTwoDimPage}
+page~\pageref{ugIntroTwoDimPage}
 \item ugProblemEigenPage \ref{ugProblemEigenPage} on
-page~pageref{ugProblemEigenPage}
+page~\pageref{ugProblemEigenPage}
 \item ugxFloatHilbertPage \ref{ugxFloatHilbertPage} on
-page~pageref{ugxFloatHilbertPage}
+page~\pageref{ugxFloatHilbertPage}
 \item PermanentXmpPage \ref{PermanentXmpPage} on
-page~pageref{PermanentXmpPage}
+page~\pageref{PermanentXmpPage}
 \item VectorXmpPage \ref{VectorXmpPage} on
-page~pageref{VectorXmpPage}
+page~\pageref{VectorXmpPage}
 \item OneDimensionalArrayXmpPage \ref{OneDimensionalArrayXmpPage} on
-page~pageref{OneDimensionalArrayXmpPage}
+page~\pageref{OneDimensionalArrayXmpPage}
 \item TwoDimensionalArrayXmpPage \ref{TwoDimensionalArrayXmpPage} on
-page~pageref{TwoDimensionalArrayXmpPage}
+page~\pageref{TwoDimensionalArrayXmpPage}
 \end{itemize}
 \index{pages!ugxMatrixOpsPage!matrix.ht}
 \index{matrix.ht!pages!ugxMatrixOpsPage}
@@ -16609,11 +16625,11 @@ in Section \ugUserMakeNumber\ignore{ugUserMake}.
 \label{MultivariatePolynomialXmpPage}
 \begin{itemize}
 \item PolynomialXmpPage \ref{PolynomialXmpPage} on
-page~pageref{PolynomialXmpPage}
+page~\pageref{PolynomialXmpPage}
 \item UnivariatePolynomialXmpPage \ref{UnivariatePolynomialXmpPage} on
-page~pageref{UnivariatePolynomialXmpPage}
+page~\pageref{UnivariatePolynomialXmpPage}
 \item DistributedMultivariatePolynomialXmpPage \ref{DistributedMultivariatePolynomialXmpPage} on
-page~pageref{DistributedMultivariatePolynomialXmpPage}
+page~\pageref{DistributedMultivariatePolynomialXmpPage}
 \end{itemize}
 \index{pages!MultivariatePolynomialXmpPage!mpoly.ht}
 \index{mpoly.ht!pages!MultivariatePolynomialXmpPage}
@@ -16739,6 +16755,11 @@ For more information on related topics, see
 @
 \subsection{You Tried It!}
 \label{YouTriedIt}
+\includegraphics[scale=.5]{ps/v71youtriedit.eps}
+\index{images!youtriedit}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \index{pages!YouTriedIt!newuser.ht}
 \index{newuser.ht!pages!YouTriedIt}
 \index{YouTriedIt!newuser.ht!pages}
@@ -16749,273 +16770,6 @@ For more information on related topics, see
 \endscroll
 \end{page}
 
-% Getting Started
-
-%% % Now using text from book
-
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{GettingStarted}{Getting Started}
-%%  % --------------------------------------------------------------------
-%%  \beginscroll
-%%  \par
-%%  \HyperName{} is the gateway to Axiom.
-%%  It's both an on-line tutorial and an on-line reference.  It also enables you
-%%  to use Axiom simply by using the mouse and filling in templates.
-%%  \HyperName{} is available to you if you are running Axiom under the
-%%  X Window System.
-%%  \par
-%%  Pages usually have active areas, marked in \downlink{this
-%%  font.}{YouTriedIt}
-%%  As you move the mouse pointer to an active area, the pointer changes from a
-%%  filled dot to an open circle.
-%%  The active areas are usually linked to other pages.
-%%  When you click on an active area, you move to the linked page.
-%%  Try clicking \downlink{here}{YouTriedIt} now.
-%%  \par
-%%  Now we suggest that you learn more about other features of
-%%  \HyperName{} by clicking on an active area in the menu below:
-%%  %
-%%  \beginmenu
-%%  \menumemolink{Headings}{ugHyperHeadingsPage}\tab{15}How to use the headings at the top of the page
-%%  \menulink{Scroll Bars}{ugHyperScrollPage}\tab{15}All about {\it scroll bars} on \HyperName{} pages
-%%  \menulink{Input Areas}{ugHyperInputPage}\tab{15}All about {\it input areas} in \HyperName{}
-%%  \menulink{Buttons}{ugHyperButtonsPage}\tab{15}Learn about {\it radio buttons} and {\it toggles}
-%%  \menulink{Search Strings}{SearchStrings}\tab{15}Learn about {\it search strings} in \HyperName{}
-%%  \menulink{Example Pages}{ugHyperExamplePage}\tab{15}How to view or run {\it examples} on \HyperName{} pages
-%%  \menulink{Settings}{ugHyperResourcesPage}\tab{15}X Window Resources for \HyperName{}
-%%  \endmenu
-%%  \endscroll
-%%  \end{page}
-
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{ExamplesIntro}{Axiom Examples}
-%%  % --------------------------------------------------------------------
-%%  \pp
-%%  \beginscroll
-%%  Many pages have Axiom examples.
-%%  Here are two:
-%%  \spadpaste{a:= x**2 + 1 \bound{a}} \newline
-%%  \spadpaste{(a - 2)**2 \free{a}} \newline
-%%  Each example has an active ``button'' along the left margin.
-%%  When you click on this button the output for the
-%%  command is ``pasted-in.''
-%%  Try it!
-%%  Click again on the button and you'll see
-%%  that the pasted-in output disappears. Got the idea?
-%%  \par
-%%  Maybe you would like to run an example?
-%%  To do so, just click on any part of it!
-%%  When you do, the example line is copied into a new interactive Axiom
-%%  buffer for this \HyperName{} page.
-%%  \par
-%%  Sometimes one example line cannot be run before you run an earlier one.
-%%  Don't worry---this is all automatic!
-%%  For instance, the second example line above refers to \spad{a} which is
-%%  assigned in the first example line.
-%%  What happens if you first click on the second example line?
-%%  Axiom first issues the first line (to assign \spad{a}), then the
-%%  second (to do the computation using \spad{a}).
-%%  \par
-%%  The new interactive Axiom buffer will disappear when you leave
-%%  \HyperName{}.
-%%  If you want to get rid of it beforehand,
-%%  use the ``Cancel'' button of the X window manager.
-%%  \endscroll
-%%  %\autobutt{HelpHelp}
-%%  \end{page}
-
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{RadioButtons}{Radio Buttons and Toggles}
-%%  % --------------------------------------------------------------------
-%%  \beginscroll
-%%  \radioboxes{sample}{\htbmfile{pick}}{\htbmfile{unpick}}
-%%  \par
-%%  Radio buttons are a group of round buttons like those on car radios: you can
-%%  select only one.
-%%  Here are three radio buttons:
-%%  \centerline{
-%%  {\em\radiobox[1]{rone}{sample}\space{}The first one}\space{3}
-%%  {\em\radiobox[0]{rtwo}{sample}\space{}The second one}\space{3}
-%%  {\em\radiobox[0]{rthree}{sample}\space{}The third one}
-%%  }
-%%  \newline
-%%  The selected button has an {\it X} in the box.
-%%  The others which are not selected are open, i.e. they have no {\it X}.
-%%  To change the selection, move the cursor with the mouse to an
-%%  alternate radio button and click. Try it now.
-%%  %\vspace{1}\centerline{To see another kind of button click on:}
-%%  %\centerline{\box{\downlink{Next Page}{ToggleButton}}}
-%%  %\endscroll
-%%  %\autobuttons\end{page}
-%%  %\begin{page}{ToggleButton}{Toggles}
-%%  %\beginscroll
-%%  \vspace{1}
-%%  \par
-%%  A toggle is a square button you can either select (it has an {\it X}) or
-%%  not (it has no {\it X}).
-%%  Unlike radio buttons, you can set a group of them any way you like.
-%%  Here are three:
-%%  \centerline{
-%%  {\em\inputbox[1]{one}{\htbmfile{pick}}{\htbmfile{unpick}}\space{}The first one}
-%%  \space{3}
-%%  {\em\inputbox[0]{two}{\htbmfile{pick}}{\htbmfile{unpick}}\space{}The second one}
-%%  \space{3}
-%%  {\em\inputbox[1]{three}{\htbmfile{pick}}{\htbmfile{unpick}}\space{}The third one}
-%%  }
-%%  \newline
-%%  To change the selections, move the cursor with the mouse
-%%  to a toggle and click.
-%%  \endscroll
-%%  \autobuttons\end{page}
-
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{InputAreas}{Input Areas}
-%%  % --------------------------------------------------------------------
-%%  \beginscroll
-%%  \par Input areas are boxes that you can fill in.
-%%  Here is one:
-%%  \centerline{\inputstring{one}{40}{some text}}
-%%  \newline As you can see, the input area has some initial text {\it some text}
-%%  followed by an underscore (the character {\it _}).
-%%  First, make sure that the mouse cursor is
-%%  on this page. Now type some
-%%  characters at the keyboard.
-%%  The characters that you type are now inserted in front of the underscore.
-%%  You may type as many characters as you like.
-%%  The input area will grow to accomodate as many characters as you type.
-%%  Use the {\it Backspace} key to erase
-%%  characters to the left.
-%%  Use the keys {\it Insert}, {\it Delete}, {\it Home} and {\it End}
-%%  to modify what you type.
-%%  Also try right- and left-arrow keys immediately to the right of the
-%%  standard keyboard.
-%%  \vspace{1}\newline\centerline{\box{\downlink{Next Page}{MultipleugHyperInputPage}}}
-%%  \endscroll
-%%  \end{page}
-
-
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{MultipleInputAreas}{Multiple Input Areas}
-%%  % --------------------------------------------------------------------
-%%  \beginscroll
-%%  Here is a large input area like the one on the last page:
-%%  \centerline{\inputstring{one}{40}{one}}
-%%  \newline
-%%  and here are two smaller ones:
-%%  \centerline{\inputstring{two}{15}{two}\space{8}\inputstring{three}{7}{three}}
-%%  Move your mouse cursor to somewhere within this page.
-%%  Note that only the first input area has an underscore cursor.
-%%  This means that when you type characters at your keyboard, they
-%%  will go into this first input area. Try it!
-%%  \par
-%%  To type information into another input area,
-%%  use the {\it Enter} or {\it Tab} key to move from one input area to another.
-%%  To move in the reverse order, use {\it Shift + Tab}.
-%%  \par
-%%  You can also move from one input area to another using your mouse.
-%%  Notice that each input area is active. Click on one of the areas.
-%%  As you can see, the underscore cursor now moves to that window.
-%%  \endscroll
-%%  \end{page}
-
-%%  % Now using text from the book
-%%
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{ScrollBars}{Using Scroll Bars}
-%%  % --------------------------------------------------------------------
-%%  When all of the text does not fit within a window, part of the window
-%%  is like a ``looking glass'' you can
-%%  move up and down over the length of the text.
-%%  The text seen by the looking glass has a {\it scroll bar}
-%%  down its right side.
-%%  The {\it scroll bar} allows you to move this looking glass.
-%%  It also tells you the position of the looking glass
-%%  relative to the whole text.
-%%  \beginscroll
-%%  \par
-%%  The part of this \HyperName{} window beginning with this line has a
-%%  {\it scroll bar} along its right side.
-%%  Move the cursor with the mouse to the scroll bar.
-%%  Now move the cursor to the `down-arrow' at the
-%%  bottom of the scroll bar and click. See that the looking glass moves
-%%  down one line. Do it again and again. Each time you click, the
-%%  looking glass moves down one line.
-%%  \par
-%%  Now move the mouse to the 'up-arrow' at the top of the scroll
-%%  bar and click. The looking glass moves up one line each time you click.
-%%  \par
-%%  Next move the mouse to any position along the middle of the
-%%  scroll bar and click.
-%%  This will attempt to move the top of the looking glass to the point where you
-%%  click.
-%%  However, you cannot make the looking glass to go off the bottom edge.
-%%  For this example page, the looking glass region is approximately
-%%  half of the whole region. So the lowest point you can
-%%  set top of the looking glass is halfway down.
-%%  Get the idea?
-%%  \par
-%%  Want to use the keyboard instead of the mouse?
-%%  Then use the {\it Page Up} and {\it Page Down} keys on your
-%%  keyboard. They move the visible part of the region up and down
-%%  one page each time you type them. Try them!
-%%  \par
-%%  If a page does not have an input area, you can also use the {\it Home}
-%%  and up and down arrow keys to move the visible part of the region.
-%%  The {\it Home} key moves the region to the very top of the page.
-%%  The up and down arrow keys move the region up and down one line,
-%%  respectively.
-%%  (If a page does have an input area, these three keys operate on the
-%%  input area.)
-%%  \endscroll
-%%  \autobuttons\end{page}
-
-
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{StartingButtonHelp}{Know These Buttons}
-%%  % --------------------------------------------------------------------
-%%  \beginscroll
-%%  Most pages have a standard set of buttons at the top of the page.
-%%  \newline
-%%  This is what they mean:
-%%  \par \ExitBitmap   \space{} {\it Exit} from \HyperName{}
-%%  \par \HelpBitmap   \space{} Get {\it Help}
-%%  \par \ReturnBitmap \space{} {\it Jump back} to main page
-%%  \par \UpBitmap     \space{} {\it Go back} one page
-%%  \newline
-%%  \pp
-%%  The {\it Help} button shows you pages that can give you additional
-%%  information.  You can always
-%%  click on {\it Help} while you're
-%%  exploring.
-%%  You can always make forays into new topics.
-%%  \HyperName{} remembers where you came from.
-%%  Don't worry about how to get back. Just click on either the ``up arrow''
-%%  or the ``HOME'' button. Now click on the ``up arrow'' to go back one page.
-%%  \endscroll
-%%  \autobutt{DummyHelp}\end{page}
-
-%%  % --------------------------------------------------------------------
-%%  \begin{page}{StartingMenuHelp}{Menus}
-%%  % --------------------------------------------------------------------
-%%  \pp
-%%  \beginscroll
-%%  A `menu' is a list of topics. Each topic has at least one active area.
-%%  Clicking on the active area marked {\it Menus} is how you got here.
-%%  \horizontalline
-%%  Here is another menu to practice on:
-%%  \newline
-%%  \beginmenu
-%%  %\menulink{Riddle}{RiddlePage}
-%%  %    A classic riddle.
-%%  %\menulink{\HyperName{}}{WhatIsHyperName}
-%%  %    What is \HyperName{}
-%%  \menulink{Buttons}{ButtonHelp}
-%%      Buttons in \HyperName{}.
-%%  \endmenu
-%%  \endscroll
-%%  \autobuttons\end{page}
-
-
 @
 \section{none.ht}
 <<none.ht>>=
@@ -17165,9 +16919,9 @@ Additional Topics
 \label{FractionPage}
 \begin{itemize}
 \item RationalNumberPage \ref{RationalNumberPage} on
-page~pageref{RationalNumberPage}
+page~\pageref{RationalNumberPage}
 \item FractionXmpPage \ref{FractionXmpPage} on
-page~pageref{FractionXmpPage}
+page~\pageref{FractionXmpPage}
 \end{itemize}
 \index{pages!FractionPage!numbers.ht}
 \index{numbers.ht!pages!FractionPage}
@@ -17234,16 +16988,16 @@ command:
 \label{IntegerPage}
 \begin{itemize}
 \item IntegerXmpPage \ref{IntegerXmpPage} on
-page~pageref{IntegerXmpPage}
+page~\pageref{IntegerXmpPage}
 \item ugxIntegerPrimesPage \ref{ugxIntegerPrimesPage} on
-page~pageref{ugxIntegerPrimesPage}
+page~\pageref{ugxIntegerPrimesPage}
 \item IntegerNumberTheoryFunctionsXmpPage 
 \ref{IntegerNumberTheoryFunctionsXmpPage} on
-page~pageref{IntegerNumberTheoryFunctionsXmpPage}
+page~\pageref{IntegerNumberTheoryFunctionsXmpPage}
 \item IntegerExamplePage \ref{IntegerExamplePage} on
-page~pageref{IntegerExamplePage}
+page~\pageref{IntegerExamplePage}
 \item IntegerProblemPage \ref{IntegerProblemPage} on
-page~pageref{IntegerProblemPage}
+page~\pageref{IntegerProblemPage}
 \end{itemize}
 \index{pages!IntegerPage!numbers.ht}
 \index{numbers.ht!pages!IntegerPage}
@@ -17293,7 +17047,7 @@ Problems from number theory.
 \label{IntegerExamplePage}
 \begin{itemize}
 \item IntegerExampleProofPage \ref{IntegerExampleProofPage} on
-page~pageref{IntegerExampleProofPage}
+page~\pageref{IntegerExampleProofPage}
 \end{itemize}
 \index{pages!IntegerExamplePage!numbers.ht}
 \index{numbers.ht!pages!IntegerExamplePage}
@@ -17353,11 +17107,11 @@ QED
 \label{IntegerProblemPage}
 \begin{itemize}
 \item IntegerProblemProofPage \ref{IntegerProblemProofPage} on
-page~pageref{IntegerProblemProofPage}
+page~\pageref{IntegerProblemProofPage}
 \item IntegerProblemAnswerPage1 \ref{IntegerProblemAnswerPage1} on
-page~pageref{IntegerProblemAnswerPage1}
+page~\pageref{IntegerProblemAnswerPage1}
 \item IntegerProblemAnswerPage2 \ref{IntegerProblemAnswerPage2} on
-page~pageref{IntegerProblemAnswerPage2}
+page~\pageref{IntegerProblemAnswerPage2}
 \end{itemize}
 \index{pages!IntegerProblemPage!numbers.ht}
 \index{numbers.ht!pages!IntegerProblemPage}
@@ -18542,15 +18296,15 @@ Finding the roots of a system of polynomials.
 \label{PolynomialXmpPage}
 \begin{itemize}
 \item DistributedMultivariatePolynomialXmpPage \ref{DistributedMultivariatePolynomialXmpPage} on
-page~pageref{DistributedMultivariatePolynomialXmpPage}
+page~\pageref{DistributedMultivariatePolynomialXmpPage}
 \item MultivariatePolynomialXmpPage \ref{MultivariatePolynomialXmpPage} on
-page~pageref{MultivariatePolynomialXmpPage}
+page~\pageref{MultivariatePolynomialXmpPage}
 \item UnivariatePolynomialXmpPage \ref{UnivariatePolynomialXmpPage} on
-page~pageref{UnivariatePolynomialXmpPage}
+page~\pageref{UnivariatePolynomialXmpPage}
 \item FactoredXmpPage \ref{FactoredXmpPage} on
-page~pageref{FactoredXmpPage}
+page~\pageref{FactoredXmpPage}
 \item ugProblemFactorPage \ref{ugProblemFactorPage} on
-page~pageref{ugProblemFactorPage}
+page~\pageref{ugProblemFactorPage}
 \end{itemize}
 \index{pages!PolynomialXmpPage!poly1.ht}
 \index{poly1.ht!pages!PolynomialXmpPage}
@@ -19002,11 +18756,11 @@ The norm is the quaternion times its conjugate.
 \label{RadixExpansionXmpPage}
 \begin{itemize}
 \item HexadecimalExpansionXmpPage \ref{HexadecimalExpansionXmpPage} on
-page~pageref{HexadecimalExpansionXmpPage}
+page~\pageref{HexadecimalExpansionXmpPage}
 \item DecimalExpansionXmpPage \ref{DecimalExpansionXmpPage} on
-page~pageref{DecimalExpansionXmpPage}
+page~\pageref{DecimalExpansionXmpPage}
 \item BinaryExpansionXmpPage \ref{BinaryExpansionXmpPage} on
-page~pageref{BinaryExpansionXmpPage}
+page~\pageref{BinaryExpansionXmpPage}
 \end{itemize}
 \index{pages!RadixExpansionXmpPage!radix.ht}
 \index{radix.ht!pages!RadixExpansionXmpPage}
@@ -20119,9 +19873,9 @@ to display the full list of operations defined by
 \label{SegmentXmpPage}
 \begin{itemize}
 \item SegmentBindingXmpPage \ref{SegmentBindingXmpPage} on
-page~pageref{SegmentBindingXmpPage}
+page~\pageref{SegmentBindingXmpPage}
 \item UniversalSegmentXmpPage \ref{UniversalSegmentXmpPage} on
-page~pageref{UniversalSegmentXmpPage}
+page~\pageref{UniversalSegmentXmpPage}
 \end{itemize}
 \index{pages!SegmentXmpPage!seg.ht}
 \index{seg.ht!pages!SegmentXmpPage}
@@ -20221,9 +19975,9 @@ For more information on related topics, see
 \label{SegmentBindingXmpPage}
 \begin{itemize}
 \item SegmentXmpPage \ref{SegmentXmpPage} on
-page~pageref{SegmentXmpPage}
+page~\pageref{SegmentXmpPage}
 \item UniversalSegmentXmpPage \ref{UniversalSegmentXmpPage} on
-page~pageref{UniversalSegmentXmpPage}
+page~\pageref{UniversalSegmentXmpPage}
 \end{itemize}
 \index{pages!SegmentBindingXmpPage!segbind.ht}
 \index{segbind.ht!pages!SegmentBindingXmpPage}
@@ -20429,11 +20183,11 @@ For more information about lists, see
 \label{SingleIntegerXmpPage}
 \begin{itemize}
 \item ugTypesDeclarePage \ref{ugTypesDeclarePage} on
-page~pageref{ugTypesDeclarePage}
+page~\pageref{ugTypesDeclarePage}
 \item ugTypesPkgCallPage \ref{ugTypesPkgCallPage} on
-page~pageref{ugTypesPkgCallPage}
+page~\pageref{ugTypesPkgCallPage}
 \item ugBrowsePage \ref{ugBrowsePage} on
-page~pageref{ugBrowsePage}
+page~\pageref{ugBrowsePage}
 \end{itemize}
 \index{pages!SingleIntegerXmpPage!sint.ht}
 \index{sint.ht!pages!SingleIntegerXmpPage}
@@ -20553,11 +20307,11 @@ To see the other operations, use the Browse \HyperName{} facility
 \label{SquareMatrixXmpPage}
 \begin{itemize}
 \item MatrixXmpPage \ref{MatrixXmpPage} on
-page~pageref{MatrixXmpPage}
+page~\pageref{MatrixXmpPage}
 \item ugTypesWritingModesPage \ref{ugTypesWritingModesPage} on
-page~pageref{ugTypesWritingModesPage}
+page~\pageref{ugTypesWritingModesPage}
 \item ugTypesExposePage \ref{ugTypesExposePage} on
-page~pageref{ugTypesExposePage}
+page~\pageref{ugTypesExposePage}
 \end{itemize}
 \index{pages!SquareMatrixXmpPage!sqmatrix.ht}
 \index{sqmatrix.ht!pages!SquareMatrixXmpPage}
@@ -20832,9 +20586,9 @@ Then we compute:
 \label{SparseTableXmpPage}
 \begin{itemize}
 \item TableXmpPage \ref{TableXmpPage} on
-page~pageref{TableXmpPage}
+page~\pageref{TableXmpPage}
 \item GeneralSparseTableXmpPage \ref{GeneralSparseTableXmpPage} on
-page~pageref{GeneralSparseTableXmpPage}
+page~\pageref{GeneralSparseTableXmpPage}
 \end{itemize}
 \index{pages!SparseTableXmpPage!stbl.ht}
 \index{stbl.ht!pages!SparseTableXmpPage}
@@ -20906,13 +20660,13 @@ For more information, see
 \label{StreamXmpPage}
 \begin{itemize}
 \item ugLangItsPage \ref{ugLangItsPage} on
-page~pageref{ugLangItsPage}
+page~\pageref{ugLangItsPage}
 \item ugProblemSeriesPage \ref{ugProblemSeriesPage} on
-page~pageref{ugProblemSeriesPage}
+page~\pageref{ugProblemSeriesPage}
 \item ContinuedFractionXmpPage \ref{ContinuedFractionXmpPage} on
-page~pageref{ContinuedFractionXmpPage}
+page~\pageref{ContinuedFractionXmpPage}
 \item ListXmpPage \ref{ListXmpPage} on
-page~pageref{ListXmpPage}
+page~\pageref{ListXmpPage}
 \end{itemize}
 \index{pages!StreamXmpPage!stream.ht}
 \index{stream.ht!pages!StreamXmpPage}
@@ -21016,9 +20770,9 @@ in Section \ugProblemSeriesNumber\ignore{ugProblemSeries},
 \label{StringXmpPage}
 \begin{itemize}
 \item CharacterXmpPage \ref{CharacterXmpPage} on
-page~pageref{CharacterXmpPage}
+page~\pageref{CharacterXmpPage}
 \item CharacterClassXmpPage \ref{CharacterClassXmpPage} on
-page~pageref{CharacterClassXmpPage}
+page~\pageref{CharacterClassXmpPage}
 \end{itemize}
 \index{pages!StringXmpPage!string.ht}
 \index{string.ht!pages!StringXmpPage}
@@ -21452,15 +21206,15 @@ If trailing lists of scripts are omitted, they are assumed to be empty.
 \label{TableXmpPage}
 \begin{itemize}
 \item AssociationListXmpPage \ref{AssociationListXmpPage} on
-page~pageref{AssociationListXmpPage}
+page~\pageref{AssociationListXmpPage}
 \item EqTableXmpPage \ref{EqTableXmpPage} on
-page~pageref{EqTableXmpPage}
+page~\pageref{EqTableXmpPage}
 \item StringTableXmpPage \ref{StringTableXmpPage} on
-page~pageref{StringTableXmpPage}
+page~\pageref{StringTableXmpPage}
 \item SparseTableXmpPage \ref{SparseTableXmpPage} on
-page~pageref{SparseTableXmpPage}
+page~\pageref{SparseTableXmpPage}
 \item KeyedAccessFileXmpPage \ref{KeyedAccessFileXmpPage} on
-page~pageref{KeyedAccessFileXmpPage}
+page~\pageref{KeyedAccessFileXmpPage}
 \end{itemize}
 \index{pages!TableXmpPage!table.ht}
 \index{table.ht!pages!TableXmpPage}
@@ -21632,11 +21386,11 @@ for more information.
 \label{TextFileXmpPage}
 \begin{itemize}
 \item FileXmpPage \ref{FileXmpPage} on
-page~pageref{FileXmpPage}
+page~\pageref{FileXmpPage}
 \item KeyedAccessFileXmpPage \ref{KeyedAccessFileXmpPage} on
-page~pageref{KeyedAccessFileXmpPage}
+page~\pageref{KeyedAccessFileXmpPage}
 \item LibraryXmpPage \ref{LibraryXmpPage} on
-page~pageref{LibraryXmpPage}
+page~\pageref{LibraryXmpPage}
 \end{itemize}
 \index{pages!TextFileXmpPage!textfile.ht}
 \index{textfile.ht!pages!TextFileXmpPage}
@@ -21727,10 +21481,13 @@ For more information on related topics,  see
 \section{topics.ht}
 \subsection{Axiom Topics}
 \label{TopicPage}
-\includegraphics[scale=.5]{ps/v71topics.eps}
+\includegraphics[scale=.5]{ps/v71topicpage.eps}
 \index{images!topics}
 
 Called from ``Root Page'' (RootPage) \ref{RootPage} on page~\pageref{RootPage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \begin{itemize}
 \item ``Numbers'' (NumberPage) \ref{NumberPage} on page~\pageref{NumberPage}
 \item ``Polynomials'' (PolynomialPage) 
@@ -22104,13 +21861,13 @@ defined in the Axiom language.
 \label{UniversalSegmentXmpPage}
 \begin{itemize}
 \item SegmentXmpPage \ref{SegmentXmpPage} on
-page~pageref{SegmentXmpPage}
+page~\pageref{SegmentXmpPage}
 \item SegmentBindingXmpPage \ref{SegmentBindingXmpPage} on
-page~pageref{SegmentBindingXmpPage}
+page~\pageref{SegmentBindingXmpPage}
 \item ListXmpPage \ref{ListXmpPage} on
-page~pageref{ListXmpPage}
+page~\pageref{ListXmpPage}
 \item StreamXmpPage \ref{StreamXmpPage} on
-page~pageref{StreamXmpPage}
+page~\pageref{StreamXmpPage}
 \end{itemize}
 \index{pages!UniversalSegmentXmpPage!uniseg.ht}
 \index{uniseg.ht!pages!UniversalSegmentXmpPage}
@@ -22188,17 +21945,17 @@ For more information on related topics,  see
 \label{UnivariatePolynomialXmpPage}
 \begin{itemize}
 \item ugProblemFactorPage \ref{ugProblemFactorPage} on
-page~pageref{ugProblemFactorPage}
+page~\pageref{ugProblemFactorPage}
 \item ugIntroVariablesPage \ref{ugIntroVariablesPage} on
-page~pageref{ugIntroVariablesPage}
+page~\pageref{ugIntroVariablesPage}
 \item ugTypesConvertPage \ref{ugTypesConvertPage} on
-page~pageref{ugTypesConvertPage}
+page~\pageref{ugTypesConvertPage}
 \item PolynomialXmpPage \ref{PolynomialXmpPage} on
-page~pageref{PolynomialXmpPage}
+page~\pageref{PolynomialXmpPage}
 \item MultivariatePolynomialXmpPage \ref{MultivariatePolynomialXmpPage} on
-page~pageref{MultivariatePolynomialXmpPage}
+page~\pageref{MultivariatePolynomialXmpPage}
 \item DistributedMultivariatePolynomialXmpPage \ref{DistributedMultivariatePolynomialXmpPage} on
-page~pageref{DistributedMultivariatePolynomialXmpPage}
+page~\pageref{DistributedMultivariatePolynomialXmpPage}
 \end{itemize}
 \index{pages!UnivariatePolynomialXmpPage!up.ht}
 \index{up.ht!pages!UnivariatePolynomialXmpPage}
@@ -22487,19 +22244,19 @@ Section \ugTypesConvertNumber\ignore{ugTypesConvert},
 \label{VectorXmpPage}
 \begin{itemize}
 \item OneDimensionalArrayXmpPage \ref{OneDimensionalArrayXmpPage} on
-page~pageref{OneDimensionalArrayXmpPage}
+page~\pageref{OneDimensionalArrayXmpPage}
 \item ListXmpPage \ref{ListXmpPage} on
-page~pageref{ListXmpPage}
+page~\pageref{ListXmpPage}
 \item MatrixXmpPage \ref{MatrixXmpPage} on
-page~pageref{MatrixXmpPage}
+page~\pageref{MatrixXmpPage}
 \item OneDimensionalArrayXmpPage \ref{OneDimensionalArrayXmpPage} on
-page~pageref{OneDimensionalArrayXmpPage}
+page~\pageref{OneDimensionalArrayXmpPage}
 \item SetXmpPage \ref{SetXmpPage} on
-page~pageref{SetXmpPage}
+page~\pageref{SetXmpPage}
 \item TableXmpPage \ref{TableXmpPage} on
-page~pageref{TableXmpPage}
+page~\pageref{TableXmpPage}
 \item TwoDimensionalArrayXmpPage \ref{TwoDimensionalArrayXmpPage} on
-page~pageref{TwoDimensionalArrayXmpPage}
+page~\pageref{TwoDimensionalArrayXmpPage}
 \end{itemize}
 \index{pages!VectorXmpPage!vector.ht}
 \index{vector.ht!pages!VectorXmpPage}
@@ -22826,199 +22583,290 @@ constructor.
 @
 \subsection{Some Examples of Domains and Packages}
 \label{ExamplesExposedPage}
+\includegraphics[scale=.5]{ps/v71examplesexposedpage.eps}
+\index{images!examplesexposedpage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \begin{itemize}
-\item AssociationListXmpPage \ref{AssociationListXmpPage} on
-page~pageref{AssociationListXmpPage}
-\item BalancedBinaryTreeXmpPage \ref{BalancedBinaryTreeXmpPage} on
-page~pageref{BalancedBinaryTreeXmpPage}
-\item BasicOperatorXmpPage \ref{BasicOperatorXmpPage} on
-page~pageref{BasicOperatorXmpPage}
-\item BinaryExpansionXmpPage \ref{BinaryExpansionXmpPage} on
-page~pageref{BinaryExpansionXmpPage}
-\item BinarySearchTreeXmpPage \ref{BinarySearchTreeXmpPage} on
-page~pageref{BinarySearchTreeXmpPage}
-\item CardinalNumberXmpPage \ref{CardinalNumberXmpPage} on
-page~pageref{CardinalNumberXmpPage}
-\item CartesianTensorXmpPage \ref{CartesianTensorXmpPage} on
-page~pageref{CartesianTensorXmpPage}
-\item CharacterXmpPage \ref{CharacterXmpPage} on
-page~pageref{CharacterXmpPage}
-\item CharacterClassXmpPage \ref{CharacterClassXmpPage} on
-page~pageref{CharacterClassXmpPage}
-\item CliffordAlgebraXmpPage \ref{CliffordAlgebraXmpPage} on
-page~pageref{CliffordAlgebraXmpPage}
-\item ComplexXmpPage \ref{ComplexXmpPage} on
-page~pageref{ComplexXmpPage}
-\item ContinuedFractionXmpPage \ref{ContinuedFractionXmpPage} on
-page~pageref{ContinuedFractionXmpPage}
-\item CycleIndicatorsXmpPage \ref{CycleIndicatorsXmpPage} on
-page~pageref{CycleIndicatorsXmpPage}
-\item DeRhamComplexXmpPage \ref{DeRhamComplexXmpPage} on
-page~pageref{DeRhamComplexXmpPage}
-\item DecimalExpansionXmpPage \ref{DecimalExpansionXmpPage} on
-page~pageref{DecimalExpansionXmpPage}
-\item DistributedMultivariatePolynomialXmpPage 
+\item ``AssociationList'' (AssociationListXmpPage)
+\ref{AssociationListXmpPage} on
+page~\pageref{AssociationListXmpPage}
+\item ``BalancedBinaryTree'' (BalancedBinaryTreeXmpPage)
+\ref{BalancedBinaryTreeXmpPage} on
+page~\pageref{BalancedBinaryTreeXmpPage}
+\item ``BasicOperator'' (BasicOperatorXmpPage)
+\ref{BasicOperatorXmpPage} on
+page~\pageref{BasicOperatorXmpPage}
+\item ``BinaryExpansion'' (BinaryExpansionXmpPage)
+\ref{BinaryExpansionXmpPage} on
+page~\pageref{BinaryExpansionXmpPage}
+\item ``BinarySearchTree'' (BinarySearchTreeXmpPage)
+\ref{BinarySearchTreeXmpPage} on
+page~\pageref{BinarySearchTreeXmpPage}
+\item ``CardinalNumber'' (CardinalNumberXmpPage)
+\ref{CardinalNumberXmpPage} on
+page~\pageref{CardinalNumberXmpPage}
+\item ``CartesianTensor'' (CartesianTensorXmpPage)
+\ref{CartesianTensorXmpPage} on
+page~\pageref{CartesianTensorXmpPage}
+\item ``Character'' (CharacterXmpPage)
+\ref{CharacterXmpPage} on
+page~\pageref{CharacterXmpPage}
+\item ``CharacterClass'' (CharacterClassXmpPage)
+\ref{CharacterClassXmpPage} on
+page~\pageref{CharacterClassXmpPage}
+\item ``CliffordAlgebra'' (CliffordAlgebraXmpPage)
+\ref{CliffordAlgebraXmpPage} on
+page~\pageref{CliffordAlgebraXmpPage}
+\item ``Complex'' (ComplexXmpPage)
+\ref{ComplexXmpPage} on
+page~\pageref{ComplexXmpPage}
+\item ``ContinuedFraction'' (ContinuedFractionXmpPage)
+\ref{ContinuedFractionXmpPage} on
+page~\pageref{ContinuedFractionXmpPage}
+\item ``CycleIndicators'' (CycleIndicatorsXmpPage)
+\ref{CycleIndicatorsXmpPage} on
+page~\pageref{CycleIndicatorsXmpPage}
+\item ``DeRhamComplex'' (DeRhamComplexXmpPage)
+\ref{DeRhamComplexXmpPage} on
+page~\pageref{DeRhamComplexXmpPage}
+\item ``DecimalExpansion'' (DecimalExpansionXmpPage)
+\ref{DecimalExpansionXmpPage} on
+page~\pageref{DecimalExpansionXmpPage}
+\item ``DistributedMultivariatePolynomial'' 
+(DistributedMultivariatePolynomialXmpPage)
 \ref{DistributedMultivariatePolynomialXmpPage} on
-page~pageref{DistributedMultivariatePolynomialXmpPage}
-\item DoubleFloatXmpPage \ref{DoubleFloatXmpPage} on
-page~pageref{DoubleFloatXmpPage}
-\item EqTableXmpPage \ref{EqTableXmpPage} on
-page~pageref{EqTableXmpPage}
-\item EquationXmpPage \ref{EquationXmpPage} on
-page~pageref{EquationXmpPage}
-\item ExitXmpPage \ref{ExitXmpPage} on
-page~pageref{ExitXmpPage}
-\item ExpressionXmpPage \ref{ExpressionXmpPage} on
-page~pageref{ExpressionXmpPage}
-\item FactoredXmpPage \ref{FactoredXmpPage} on
-page~pageref{FactoredXmpPage}
-\item FactoredFunctionsTwoXmpPage \ref{FactoredFunctionsTwoXmpPage} on
-page~pageref{FactoredFunctionsTwoXmpPage}
-\item FileXmpPage \ref{FileXmpPage} on
-page~pageref{FileXmpPage}
-\item FileNameXmpPage \ref{FileNameXmpPage} on
-page~pageref{FileNameXmpPage}
-\item FlexibleArrayXmpPage \ref{FlexibleArrayXmpPage} on
-page~pageref{FlexibleArrayXmpPage}
-\item FloatXmpPage \ref{FloatXmpPage} on
-page~pageref{FloatXmpPage}
-\item FractionXmpPage \ref{FractionXmpPage} on
-page~pageref{FractionXmpPage}
-\item FullPartialFractionExpansionXmpPage 
+page~\pageref{DistributedMultivariatePolynomialXmpPage}
+\item ``DoubleFloat'' (DoubleFloatXmpPage)
+\ref{DoubleFloatXmpPage} on
+page~\pageref{DoubleFloatXmpPage}
+\item ``EqTable'' (EqTableXmpPage)
+\ref{EqTableXmpPage} on
+page~\pageref{EqTableXmpPage}
+\item ``Equation'' (EquationXmpPage)
+\ref{EquationXmpPage} on
+page~\pageref{EquationXmpPage}
+\item ``Exit'' (ExitXmpPage)
+\ref{ExitXmpPage} on
+page~\pageref{ExitXmpPage}
+\item ``Expression'' (ExpressionXmpPage)
+\ref{ExpressionXmpPage} on
+page~\pageref{ExpressionXmpPage}
+\item ``Factored'' (FactoredXmpPage)
+\ref{FactoredXmpPage} on
+page~\pageref{FactoredXmpPage}
+\item ``FactoredFunctionsTwo'' (FactoredFunctionsTwoXmpPage)
+\ref{FactoredFunctionsTwoXmpPage} on
+page~\pageref{FactoredFunctionsTwoXmpPage}
+\item ``File'' (FileXmpPage)
+\ref{FileXmpPage} on
+page~\pageref{FileXmpPage}
+\item ``FileName'' (FileNameXmpPage)
+\ref{FileNameXmpPage} on
+page~\pageref{FileNameXmpPage}
+\item ``FlexibleArray'' (FlexibleArrayXmpPage)
+\ref{FlexibleArrayXmpPage} on
+page~\pageref{FlexibleArrayXmpPage}
+\item ``Float'' (FloatXmpPage)
+\ref{FloatXmpPage} on
+page~\pageref{FloatXmpPage}
+\item ``Fraction'' (FractionXmpPage)
+\ref{FractionXmpPage} on
+page~\pageref{FractionXmpPage}
+\item ``FullPartialFractionExpansion'' (FullPartialFractionExpansionXmpPage)
 \ref{FullPartialFractionExpansionXmpPage} on
-page~pageref{FullPartialFractionExpansionXmpPage}
-\item GeneralSparseTableXmpPage \ref{GeneralSparseTableXmpPage} on
-page~pageref{GeneralSparseTableXmpPage}
-\item GroebnerFactorizationPackageXmpPage 
+page~\pageref{FullPartialFractionExpansionXmpPage}
+\item ``GeneralSparseTable'' (GeneralSparseTableXmpPage)
+\ref{GeneralSparseTableXmpPage} on
+page~\pageref{GeneralSparseTableXmpPage}
+\item ``GroebnerFactorizationPackage'' (GroebnerFactorizationPackageXmpPage)
 \ref{GroebnerFactorizationPackageXmpPage} on
-page~pageref{GroebnerFactorizationPackageXmpPage}
-\item HeapXmpPage \ref{HeapXmpPage} on
-page~pageref{HeapXmpPage}
-\item HexadecimalExpansionXmpPage \ref{HexadecimalExpansionXmpPage} on
-page~pageref{HexadecimalExpansionXmpPage}
-\item IntegerXmpPage \ref{IntegerXmpPage} on
-page~pageref{IntegerXmpPage}
-\item IntegerLinearDependenceXmpPage \ref{IntegerLinearDependenceXmpPage} on
-page~pageref{IntegerLinearDependenceXmpPage}
-\item IntegerNumberTheoryFunctionsXmpPage 
+page~\pageref{GroebnerFactorizationPackageXmpPage}
+\item ``Heap'' (HeapXmpPage)
+\ref{HeapXmpPage} on
+page~\pageref{HeapXmpPage}
+\item ``HexadecimalExpansion'' (HexadecimalExpansionXmpPage)
+\ref{HexadecimalExpansionXmpPage} on
+page~\pageref{HexadecimalExpansionXmpPage}
+\item ``Integer'' (IntegerXmpPage)
+\ref{IntegerXmpPage} on
+page~\pageref{IntegerXmpPage}
+\item ``IntegerLinearDependence'' (IntegerLinearDependenceXmpPage)
+\ref{IntegerLinearDependenceXmpPage} on
+page~\pageref{IntegerLinearDependenceXmpPage}
+\item ``IntegerNumberTheoryFunctions'' (IntegerNumberTheoryFunctionsXmpPage)
 \ref{IntegerNumberTheoryFunctionsXmpPage} on
-page~pageref{IntegerNumberTheoryFunctionsXmpPage}
-\item KernelXmpPage \ref{KernelXmpPage} on
-page~pageref{KernelXmpPage}
-\item KeyedAccessFileXmpPage \ref{KeyedAccessFileXmpPage} on
-page~pageref{KeyedAccessFileXmpPage}
-\item LexTriangularPackageXmpPage \ref{LexTriangularPackageXmpPage} on
-page~pageref{LexTriangularPackageXmpPage}
-\item LazardSetSolvingPackageXmpPage \ref{LazardSetSolvingPackageXmpPage} on
-page~pageref{LazardSetSolvingPackageXmpPage}
-\item LibraryXmpPage \ref{LibraryXmpPage} on
-page~pageref{LibraryXmpPage}
-\item LieExponentialsXmpPage \ref{LieExponentialsXmpPage} on
-page~pageref{LieExponentialsXmpPage}
-\item LiePolynomialXmpPage \ref{LiePolynomialXmpPage} on
-page~pageref{LiePolynomialXmpPage}
-\item LinearOrdinaryDifferentialOperatorXmpPage 
+page~\pageref{IntegerNumberTheoryFunctionsXmpPage}
+\item ``Kernel'' (KernelXmpPage)
+\ref{KernelXmpPage} on
+page~\pageref{KernelXmpPage}
+\item ``KeyedAccessFile'' (KeyedAccessFileXmpPage)
+\ref{KeyedAccessFileXmpPage} on
+page~\pageref{KeyedAccessFileXmpPage}
+\item ``LexTriangularPackage'' (LexTriangularPackageXmpPage)
+\ref{LexTriangularPackageXmpPage} on
+page~\pageref{LexTriangularPackageXmpPage}
+\item ``LazardSetSolvingPackage'' (LazardSetSolvingPackageXmpPage)
+\ref{LazardSetSolvingPackageXmpPage} on
+page~\pageref{LazardSetSolvingPackageXmpPage}
+\item ``Library'' (LibraryXmpPage)
+\ref{LibraryXmpPage} on
+page~\pageref{LibraryXmpPage}
+\item ``LieExponentials'' (LieExponentialsXmpPage)
+\ref{LieExponentialsXmpPage} on
+page~\pageref{LieExponentialsXmpPage}
+\item ``LiePolynomial'' (LiePolynomialXmpPage)
+\ref{LiePolynomialXmpPage} on
+page~\pageref{LiePolynomialXmpPage}
+\item ``LinearOrdinaryDifferentialOperator'' 
+(LinearOrdinaryDifferentialOperatorXmpPage)
 \ref{LinearOrdinaryDifferentialOperatorXmpPage} on
-page~pageref{LinearOrdinaryDifferentialOperatorXmpPage}
-\item LinearOrdinaryDifferentialOperatorOneXmpPage 
+page~\pageref{LinearOrdinaryDifferentialOperatorXmpPage}
+\item ``LinearOrdinaryDifferentialOperatorOne'' 
+(LinearOrdinaryDifferentialOperatorOneXmpPage)
 \ref{LinearOrdinaryDifferentialOperatorOneXmpPage} on
-page~pageref{LinearOrdinaryDifferentialOperatorOneXmpPage}
-\item LinearOrdinaryDifferentialOperatorTwoXmpPage 
+page~\pageref{LinearOrdinaryDifferentialOperatorOneXmpPage}
+\item ``LinearOrdinaryDifferentialOperatorTwo'' 
+(LinearOrdinaryDifferentialOperatorTwoXmpPage)
 \ref{LinearOrdinaryDifferentialOperatorTwoXmpPage} on
-page~pageref{LinearOrdinaryDifferentialOperatorTwoXmpPage}
-\item ListXmpPage \ref{ListXmpPage} on
-page~pageref{ListXmpPage}
-\item LyndonWordXmpPage \ref{LyndonWordXmpPage} on
-page~pageref{LyndonWordXmpPage}
-\item MagmaXmpPage \ref{MagmaXmpPage} on
-page~pageref{MagmaXmpPage}
-\item MakeFunctionXmpPage \ref{MakeFunctionXmpPage} on
-page~pageref{MakeFunctionXmpPage}
-\item MappingPackageOneXmpPage \ref{MappingPackageOneXmpPage} on
-page~pageref{MappingPackageOneXmpPage}
-\item MatrixXmpPage \ref{MatrixXmpPage} on
-page~pageref{MatrixXmpPage}
-\item MultiSetXmpPage \ref{MultiSetXmpPage} on
-page~pageref{MultiSetXmpPage}
-\item MultivariatePolynomialXmpPage \ref{MultivariatePolynomialXmpPage} on
-page~pageref{MultivariatePolynomialXmpPage}
-\item NoneXmpPage \ref{NoneXmpPage} on
-page~pageref{NoneXmpPage}
-\item OctonionXmpPage \ref{OctonionXmpPage} on
-page~pageref{OctonionXmpPage}
-\item OneDimensionalArrayXmpPage \ref{OneDimensionalArrayXmpPage} on
-page~pageref{OneDimensionalArrayXmpPage}
-\item OperatorXmpPage \ref{OperatorXmpPage} on
-page~pageref{OperatorXmpPage}
-\item OrderedVariableListXmpPage \ref{OrderedVariableListXmpPage} on
-page~pageref{OrderedVariableListXmpPage}
-\item OrderlyDifferentialPolynomialXmpPage 
+page~\pageref{LinearOrdinaryDifferentialOperatorTwoXmpPage}
+\item ``List'' (ListXmpPage)
+\ref{ListXmpPage} on
+page~\pageref{ListXmpPage}
+\item ``LyndonWord'' (LyndonWordXmpPage)
+\ref{LyndonWordXmpPage} on
+page~\pageref{LyndonWordXmpPage}
+\item ``Magma'' (MagmaXmpPage)
+\ref{MagmaXmpPage} on
+page~\pageref{MagmaXmpPage}
+\item ``MakeFunction'' (MakeFunctionXmpPage)
+\ref{MakeFunctionXmpPage} on
+page~\pageref{MakeFunctionXmpPage}
+\item ``MappingPackageOne'' (MappingPackageOneXmpPage)
+\ref{MappingPackageOneXmpPage} on
+page~\pageref{MappingPackageOneXmpPage}
+\item ``Matrix'' (MatrixXmpPage)
+\ref{MatrixXmpPage} on
+page~\pageref{MatrixXmpPage}
+\item ``MultiSet'' (MultiSetXmpPage)
+\ref{MultiSetXmpPage} on
+page~\pageref{MultiSetXmpPage}
+\item ``MultivariatePolynomial'' (MultivariatePolynomialXmpPage)
+\ref{MultivariatePolynomialXmpPage} on
+page~\pageref{MultivariatePolynomialXmpPage}
+\item ``None'' (NoneXmpPage)
+\ref{NoneXmpPage} on
+page~\pageref{NoneXmpPage}
+\item ``Octonion'' (OctonionXmpPage)
+\ref{OctonionXmpPage} on
+page~\pageref{OctonionXmpPage}
+\item ``OneDimensionalArray'' (OneDimensionalArrayXmpPage)
+\ref{OneDimensionalArrayXmpPage} on
+page~\pageref{OneDimensionalArrayXmpPage}
+\item ``Operator'' (OperatorXmpPage)
+\ref{OperatorXmpPage} on
+page~\pageref{OperatorXmpPage}
+\item ``OrderedVariableList'' (OrderedVariableListXmpPage)
+\ref{OrderedVariableListXmpPage} on
+page~\pageref{OrderedVariableListXmpPage}
+\item ``OrderlyDifferentialPolynomial'' (OrderlyDifferentialPolynomialXmpPage)
 \ref{OrderlyDifferentialPolynomialXmpPage} on
-page~pageref{OrderlyDifferentialPolynomialXmpPage}
-\item PartialFractionXmpPage \ref{PartialFractionXmpPage} on
-page~pageref{PartialFractionXmpPage}
-\item PermanentXmpPage \ref{PermanentXmpPage} on
-page~pageref{PermanentXmpPage}
-\item PolynomialXmpPage \ref{PolynomialXmpPage} on
-page~pageref{PolynomialXmpPage}
-\item QuaternionXmpPage \ref{QuaternionXmpPage} on
-page~pageref{QuaternionXmpPage}
-\item RadixExpansionXmpPage \ref{RadixExpansionXmpPage} on
-page~pageref{RadixExpansionXmpPage}
-\item RealClosureXmpPage \ref{RealClosureXmpPage} on
-page~pageref{RealClosureXmpPage}
-\item RegularTriangularSetXmpPage \ref{RegularTriangularSetXmpPage} on
-page~pageref{RegularTriangularSetXmpPage}
-\item RomanNumeralXmpPage \ref{RomanNumeralXmpPage} on
-page~pageref{RomanNumeralXmpPage}
-\item SegmentXmpPage \ref{SegmentXmpPage} on
-page~pageref{SegmentXmpPage}
-\item SegmentBindingXmpPage \ref{SegmentBindingXmpPage} on
-page~pageref{SegmentBindingXmpPage}
-\item SetXmpPage \ref{SetXmpPage} on
-page~pageref{SetXmpPage}
-\item SingleIntegerXmpPage \ref{SingleIntegerXmpPage} on
-page~pageref{SingleIntegerXmpPage}
-\item SparseTableXmpPage \ref{SparseTableXmpPage} on
-page~pageref{SparseTableXmpPage}
-\item SquareMatrixXmpPage \ref{SquareMatrixXmpPage} on
-page~pageref{SquareMatrixXmpPage}
-\item SquareFreeRegularTriangularSetXmpPage 
+page~\pageref{OrderlyDifferentialPolynomialXmpPage}
+\item ``PartialFraction'' (PartialFractionXmpPage)
+\ref{PartialFractionXmpPage} on
+page~\pageref{PartialFractionXmpPage}
+\item ``Permanent'' (PermanentXmpPage)
+\ref{PermanentXmpPage} on
+page~\pageref{PermanentXmpPage}
+\item ``Polynomial'' (PolynomialXmpPage)
+\ref{PolynomialXmpPage} on
+page~\pageref{PolynomialXmpPage}
+\item ``Quaternion'' (QuaternionXmpPage)
+\ref{QuaternionXmpPage} on
+page~\pageref{QuaternionXmpPage}
+\item ``RadixExpansion'' (RadixExpansionXmpPage)
+\ref{RadixExpansionXmpPage} on
+page~\pageref{RadixExpansionXmpPage}
+\item ``RealClosure'' (RealClosureXmpPage)
+\ref{RealClosureXmpPage} on
+page~\pageref{RealClosureXmpPage}
+\item ``RegularTriangularSet'' (RegularTriangularSetXmpPage)
+\ref{RegularTriangularSetXmpPage} on
+page~\pageref{RegularTriangularSetXmpPage}
+\item ``RomanNumeral'' (RomanNumeralXmpPage)
+\ref{RomanNumeralXmpPage} on
+page~\pageref{RomanNumeralXmpPage}
+\item ``Segment'' (SegmentXmpPage)
+\ref{SegmentXmpPage} on
+page~\pageref{SegmentXmpPage}
+\item ``SegmentBinding'' (SegmentBindingXmpPage)
+\ref{SegmentBindingXmpPage} on
+page~\pageref{SegmentBindingXmpPage}
+\item ``Set'' (SetXmpPage)
+\ref{SetXmpPage} on
+page~\pageref{SetXmpPage}
+\item ``SingleInteger'' (SingleIntegerXmpPage)
+\ref{SingleIntegerXmpPage} on
+page~\pageref{SingleIntegerXmpPage}
+\item ``SparseTable'' (SparseTableXmpPage)
+\ref{SparseTableXmpPage} on
+page~\pageref{SparseTableXmpPage}
+\item ``SquareMatrix'' (SquareMatrixXmpPage)
+\ref{SquareMatrixXmpPage} on
+page~\pageref{SquareMatrixXmpPage}
+\item ``SquareFreeRegularTriangularSet'' 
+(SquareFreeRegularTriangularSetXmpPage)
 \ref{SquareFreeRegularTriangularSetXmpPage} on
-page~pageref{SquareFreeRegularTriangularSetXmpPage}
-\item StreamXmpPage \ref{StreamXmpPage} on
-page~pageref{StreamXmpPage}
-\item StringXmpPage \ref{StringXmpPage} on
-page~pageref{StringXmpPage}
-\item StringTableXmpPage \ref{StringTableXmpPage} on
-page~pageref{StringTableXmpPage}
-\item SymbolXmpPage \ref{SymbolXmpPage} on
-page~pageref{SymbolXmpPage}
-\item TableXmpPage \ref{TableXmpPage} on
-page~pageref{TableXmpPage}
-\item TextFileXmpPage \ref{TextFileXmpPage} on
-page~pageref{TextFileXmpPage}
-\item TwoDimensionalArrayXmpPage \ref{TwoDimensionalArrayXmpPage} on
-page~pageref{TwoDimensionalArrayXmpPage}
-\item UnivariatePolynomialXmpPage \ref{UnivariatePolynomialXmpPage} on
-page~pageref{UnivariatePolynomialXmpPage}
-\item UniversalSegmentXmpPage \ref{UniversalSegmentXmpPage} on
-page~pageref{UniversalSegmentXmpPage}
-\item VectorXmpPage \ref{VectorXmpPage} on
-page~pageref{VectorXmpPage}
-\item VoidXmpPage \ref{VoidXmpPage} on
-page~pageref{VoidXmpPage}
-\item WuWenTsunTriangularSetXmpPage \ref{WuWenTsunTriangularSetXmpPage} on
-page~pageref{WuWenTsunTriangularSetXmpPage}
-\item XPBWPolynomialXmpPage \ref{XPBWPolynomialXmpPage} on
-page~pageref{XPBWPolynomialXmpPage}
-\item XPolynomialXmpPage \ref{XPolynomialXmpPage} on
-page~pageref{XPolynomialXmpPage}
-\item XPolynomialRingXmpPage \ref{XPolynomialRingXmpPage} on
-page~pageref{XPolynomialRingXmpPage}
-\item ZeroDimensionalSolvePackageXmpPage 
+page~\pageref{SquareFreeRegularTriangularSetXmpPage}
+\item ``Stream'' (StreamXmpPage)
+\ref{StreamXmpPage} on
+page~\pageref{StreamXmpPage}
+\item ``String'' (StringXmpPage)
+\ref{StringXmpPage} on
+page~\pageref{StringXmpPage}
+\item ``StringTable'' (StringTableXmpPage)
+\ref{StringTableXmpPage} on
+page~\pageref{StringTableXmpPage}
+\item ``Symbol'' (SymbolXmpPage)
+\ref{SymbolXmpPage} on
+page~\pageref{SymbolXmpPage}
+\item ``Table'' (TableXmpPage)
+\ref{TableXmpPage} on
+page~\pageref{TableXmpPage}
+\item ``TextFile'' (TextFileXmpPage)
+\ref{TextFileXmpPage} on
+page~\pageref{TextFileXmpPage}
+\item ``TwoDimensionalArray'' (TwoDimensionalArrayXmpPage)
+\ref{TwoDimensionalArrayXmpPage} on
+page~\pageref{TwoDimensionalArrayXmpPage}
+\item ``UnivariatePolynomial'' (UnivariatePolynomialXmpPage)
+\ref{UnivariatePolynomialXmpPage} on
+page~\pageref{UnivariatePolynomialXmpPage}
+\item ``UniversalSegment'' (UniversalSegmentXmpPage)
+\ref{UniversalSegmentXmpPage} on
+page~\pageref{UniversalSegmentXmpPage}
+\item ``Vector'' (VectorXmpPage)
+\ref{VectorXmpPage} on
+page~\pageref{VectorXmpPage}
+\item ``Void'' (VoidXmpPage)
+\ref{VoidXmpPage} on
+page~\pageref{VoidXmpPage}
+\item ``WuWenTsunTriangularSet'' (WuWenTsunTriangularSetXmpPage)
+\ref{WuWenTsunTriangularSetXmpPage} on
+page~\pageref{WuWenTsunTriangularSetXmpPage}
+\item ``XPBWPolynomial'' (XPBWPolynomialXmpPage)
+\ref{XPBWPolynomialXmpPage} on
+page~\pageref{XPBWPolynomialXmpPage}
+\item ``XPolynomial'' (XPolynomialXmpPage)
+\ref{XPolynomialXmpPage} on
+page~\pageref{XPolynomialXmpPage}
+\item ``XPolynomialRing'' (XPolynomialRingXmpPage)
+\ref{XPolynomialRingXmpPage} on
+page~\pageref{XPolynomialRingXmpPage}
+\item ``ZeroDimensionalSolvePackage'' (ZeroDimensionalSolvePackageXmpPage)
 \ref{ZeroDimensionalSolvePackageXmpPage} on
-page~pageref{ZeroDimensionalSolvePackageXmpPage}
+page~\pageref{ZeroDimensionalSolvePackageXmpPage}
 \end{itemize}
 \index{pages!ExamplesExposedPage!xmpexp.ht}
 \index{xmpexp.ht!pages!ExamplesExposedPage}
@@ -23957,29 +23805,55 @@ To express a given element in terms of other elements, use the operation
 DO NOT MODIFY THIS FILE BY HAND !! Created by chapmenu.awk.
 \section{Users Guide}
 \label{UsersGuidePage}
+\includegraphics[scale=.5]{ps/v71usersguidepage.eps}
+\index{images!usersguidepage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \begin{itemize}
-\item ugWhatsNewTwoTwoPage \ref{ugWhatsNewTwoTwoPage} on 
+\item ``What's New in Axiom Version May 2008''\\
+(ugWhatsNewTwoTwoPage) \ref{ugWhatsNewTwoTwoPage} on 
 page~\pageref{ugWhatsNewTwoTwoPage}
-\item ugIntroPage \ref{ugIntroPage} on page~\pageref{ugIntroPage}
-\item ugTypesPage \ref{ugTypesPage} on page~\pageref{ugTypesPage}
-\item ugHyperPage \ref{ugHyperPage} on page~\pageref{ugHyperPage}
-\item ugInOutPage \ref{ugInOutPage} on page~\pageref{ugInOutPage}
-\item ugLangPage \ref{ugLangPage} on page~\pageref{ugLangPage}
-\item ugUserPage \ref{ugUserPage} on page~\pageref{ugUserPage}
-\item ugGraphPage \ref{ugGraphPage} on page~\pageref{ugGraphPage}
-\item ugProblemPage \ref{ugProblemPage} on page~\pageref{ugProblemPage}
-\item ExamplesExposedPage \ref{ExamplesExposedPage} on 
+\item ``An Overview of Axiom''\\
+(ugIntroPage) \ref{ugIntroPage} on page~\pageref{ugIntroPage}
+\item ``Using Types and Modes''\\
+(ugTypesPage) \ref{ugTypesPage} on page~\pageref{ugTypesPage}
+\item ``Using HyperDoc''\\
+(ugHyperPage) \ref{ugHyperPage} on page~\pageref{ugHyperPage}
+\item ``Input Files and Output Styles''\\
+(ugInOutPage) \ref{ugInOutPage} on page~\pageref{ugInOutPage}
+\item ``Introduction to the Axiom Interactive Language''\\
+(ugLangPage) \ref{ugLangPage} on page~\pageref{ugLangPage}
+\item ``User-Defined Functions, Macros and Rules''\\
+(ugUserPage) \ref{ugUserPage} on page~\pageref{ugUserPage}
+\item ``Graphics''\\
+(ugGraphPage) \ref{ugGraphPage} on page~\pageref{ugGraphPage}
+\item ``Advanced Problem Solving''\\
+(ugProblemPage) \ref{ugProblemPage} on page~\pageref{ugProblemPage}
+\item ``Some Examples for Domains and Packages''\\
+(ExamplesExposedPage) \ref{ExamplesExposedPage} on 
 page~\pageref{ExamplesExposedPage}
-\item ugIntProgPage \ref{ugIntProgPage} on page~\pageref{ugIntProgPage}
-\item ugPackagesPage \ref{ugPackagesPage} on page~\pageref{ugPackagesPage}
-\item ugCategoriesPage \ref{ugCategoriesPage} on 
+\item ``Interactive Programming''\\
+(ugIntProgPage) \ref{ugIntProgPage} on page~\pageref{ugIntProgPage}
+\item ``Packages''\\
+(ugPackagesPage) \ref{ugPackagesPage} on page~\pageref{ugPackagesPage}
+\item ``Categories''\\
+(ugCategoriesPage) \ref{ugCategoriesPage} on 
 page~\pageref{ugCategoriesPage}
-\item ugDomainsPage \ref{ugDomainsPage} on page~\pageref{ugDomainsPage}
-\item ugBrowsePage \ref{ugBrowsePage} on page~\pageref{ugBrowsePage}
-\item ugWhatsNewPage \ref{ugWhatsNewPage} on page~\pageref{ugWhatsNewPage}
-\item ugSysCmdPage \ref{ugSysCmdPage} on page~\pageref{ugSysCmdPage}
-\item ugAppGraphicsPage \ref{ugAppGraphicsPage} on 
+\item ``Domains''\\
+(ugDomainsPage) \ref{ugDomainsPage} on page~\pageref{ugDomainsPage}
+\item ``Browse''\\
+(ugBrowsePage) \ref{ugBrowsePage} on page~\pageref{ugBrowsePage}
+\item ``What's New in Axiom Version 2.0''\\
+(ugWhatsNewPage) \ref{ugWhatsNewPage} on page~\pageref{ugWhatsNewPage}
+\item ``Axiom System Commands''\\
+(ugSysCmdPage) \ref{ugSysCmdPage} on page~\pageref{ugSysCmdPage}
+\item ``Programs for Axiom Images''\\
+(ugAppGraphicsPage) \ref{ugAppGraphicsPage} on 
 page~\pageref{ugAppGraphicsPage}
+\item ``Glossary''\\
+(GlossaryPage) \ref{GlossaryPage} on 
+page~\pageref{GlossaryPage}
 \end{itemize}
 \index{pages!UsersGuidePage!ug.ht}
 \index{ug.ht!pages!UsersGuidePage}
@@ -23991,7 +23865,7 @@ Click on any item below to see that section.
 \beginscroll
 \indent{3}
 \beginmenu
-\menudownlink{{0. What's New in Axiom Version 2.2}}{ugWhatsNewTwoTwoPage}
+\menudownlink{{0. What's New in Axiom Version May 2008}}{ugWhatsNewTwoTwoPage}
 \endmenu
 \indent{0}
 Part I.   Basic Features of Axiom
@@ -24043,25 +23917,34 @@ Appendices.
 \newcommand{\ugWhatsNewTwoTwoNumber}{0.}
 
 @
-\section{What's New in Axiom Version 2.2}
+\section{What's New in Axiom Version May 2008}
 \label{ugWhatsNewTwoTwoPage}
+No image here because the page changes every release.
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \begin{itemize}
-\item ugTwoTwoAldorPage \ref{ugTwoTwoAldorPage} on
+\item ``Aldor compiler - Enhancements and Additions''\\
+(ugTwoTwoAldorPage) \ref{ugTwoTwoAldorPage} on
 page~\pageref{ugTwoTwoAldorPage}
-\item ugTwoTwoPolynomialsPage \ref{ugTwoTwoPolynomialsPage} on
+\item ``New polynomial domains and algorithms''\\
+(ugTwoTwoPolynomialsPage) \ref{ugTwoTwoPolynomialsPage} on
 page~\pageref{ugTwoTwoPolynomialsPage}
-\item ugTwoTwoHyperdocPage \ref{ugTwoTwoHyperdocPage} on
+\item ``Enhancements to HyperDoc and Graphics''\\
+(ugTwoTwoHyperdocPage) \ref{ugTwoTwoHyperdocPage} on
 page~\pageref{ugTwoTwoHyperdocPage}
-\item ugTwoTwoNAGLinkPage \ref{ugTwoTwoNAGLinkPage} on
+\item ``Enhancements to NAGLink''\\
+(ugTwoTwoNAGLinkPage) \ref{ugTwoTwoNAGLinkPage} on
 page~\pageref{ugTwoTwoNAGLinkPage}
-\item ugTwoTwoCCLPage \ref{ugTwoTwoCCLPage} on
+\item ``Enhancements to the Lisp system''\\
+(ugTwoTwoCCLPage) \ref{ugTwoTwoCCLPage} on
 page~\pageref{ugTwoTwoCCLPage}
 \end{itemize}
 \index{pages!ugWhatsNewTwoTwoPage!ug00.ht}
 \index{ug00.ht!pages!ugWhatsNewTwoTwoPage}
 \index{ugWhatsNewTwoTwoPage!ug00.ht!pages}
 <<ug00.ht>>=
-\begin{page}{ugWhatsNewTwoTwoPage}{0. What's New in Axiom Version 2.2}
+\begin{page}{ugWhatsNewTwoTwoPage}{0. What's New in Axiom Version May 2008}
 \beginscroll
 
 \beginmenu
@@ -31167,18 +31050,29 @@ Look at the code generated for the matrix again.
 @
 \section{Introduction to the Axiom Interactive Language}
 \label{ugLangPage}
+\includegraphics[scale=.5]{ps/v71uglangpage.eps}
+\index{images!uglangpage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \begin{itemize}
-\item ugLangAssignPage \ref{ugLangAssignPage} on
+\item ``Immediate and Delayed Assignments''\\
+(ugLangAssignPage) \ref{ugLangAssignPage} on
 page~\pageref{ugLangAssignPage}
-\item ugLangBlocksPage \ref{ugLangBlocksPage} on
+\item ``Blocks''\\
+(ugLangBlocksPage) \ref{ugLangBlocksPage} on
 page~\pageref{ugLangBlocksPage}
-\item ugLangIfPage \ref{ugLangIfPage} on
+\item ``if-then-else''\\
+(ugLangIfPage) \ref{ugLangIfPage} on
 page~\pageref{ugLangIfPage}
-\item ugLangLoopsPage \ref{ugLangLoopsPage} on
+\item ``Loops''\\
+(ugLangLoopsPage) \ref{ugLangLoopsPage} on
 page~\pageref{ugLangLoopsPage}
-\item ugLangItsPage \ref{ugLangItsPage} on
+\item ``Creating Lists and Streams with Iterators''\\
+(ugLangItsPage) \ref{ugLangItsPage} on
 page~\pageref{ugLangItsPage}
-\item ugLangStreamsPrimesPage \ref{ugLangStreamsPrimesPage} on
+\item ``An Example: Streams of Primes''\\
+(ugLangStreamsPrimesPage) \ref{ugLangStreamsPrimesPage} on
 page~\pageref{ugLangStreamsPrimesPage}
 \end{itemize}
 \index{pages!ugLangPage!ug05.ht}
@@ -52206,62 +52100,95 @@ compilers.
 @
 \section{Axiom System Commands}
 \label{ugSysCmdPage}
+\includegraphics[scale=.5]{ps/v71ugsyscmdpage.eps}
+\index{images!ugsyscmdpage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \begin{itemize}
-\item ugSysCmdOverviewPage \ref{ugSysCmdOverviewPage} on
+\item ``Introduction''
+(ugSysCmdOverviewPage) \ref{ugSysCmdOverviewPage} on
 page~\pageref{ugSysCmdOverviewPage}
-\item ugSysCmdabbreviationPage \ref{ugSysCmdabbreviationPage} on
+\item ``)abbreviation''
+(ugSysCmdabbreviationPage) \ref{ugSysCmdabbreviationPage} on
 page~\pageref{ugSysCmdabbreviationPage}
-\item ugSysCmdbootPage \ref{ugSysCmdbootPage} on
+\item ``)boot''
+(ugSysCmdbootPage) \ref{ugSysCmdbootPage} on
 page~\pageref{ugSysCmdbootPage}
-\item ugSysCmdcdPage \ref{ugSysCmdcdPage} on
+\item ``)cd''
+(ugSysCmdcdPage) \ref{ugSysCmdcdPage} on
 page~\pageref{ugSysCmdcdPage}
-\item ugSysCmdclosePage \ref{ugSysCmdclosePage} on
+\item ``)close''
+(ugSysCmdclosePage) \ref{ugSysCmdclosePage} on
 page~\pageref{ugSysCmdclosePage}
-\item ugSysCmdclearPage \ref{ugSysCmdclearPage} on
+\item ``)clear''
+(ugSysCmdclearPage) \ref{ugSysCmdclearPage} on
 page~\pageref{ugSysCmdclearPage}
-\item ugSysCmdcompilePage \ref{ugSysCmdcompilePage} on
+\item ``)compile''
+(ugSysCmdcompilePage) \ref{ugSysCmdcompilePage} on
 page~\pageref{ugSysCmdcompilePage}
-\item ugSysCmddisplayPage \ref{ugSysCmddisplayPage} on
+\item ``)display''
+(ugSysCmddisplayPage) \ref{ugSysCmddisplayPage} on
 page~\pageref{ugSysCmddisplayPage}
-\item ugSysCmdeditPage \ref{ugSysCmdeditPage} on
+\item ``)edit''
+(ugSysCmdeditPage) \ref{ugSysCmdeditPage} on
 page~\pageref{ugSysCmdeditPage}
-\item ugSysCmdfinPage \ref{ugSysCmdfinPage} on
+\item ``)fin''
+(ugSysCmdfinPage) \ref{ugSysCmdfinPage} on
 page~\pageref{ugSysCmdfinPage}
-\item ugSysCmdframePage \ref{ugSysCmdframePage} on
+\item ``)frame''
+(ugSysCmdframePage) \ref{ugSysCmdframePage} on
 page~\pageref{ugSysCmdframePage}
-\item ugSysCmdhelpPage \ref{ugSysCmdhelpPage} on
+\item ``)help''
+(ugSysCmdhelpPage) \ref{ugSysCmdhelpPage} on
 page~\pageref{ugSysCmdhelpPage}
-\item ugSysCmdhistoryPage \ref{ugSysCmdhistoryPage} on
+\item ``)history''
+(ugSysCmdhistoryPage) \ref{ugSysCmdhistoryPage} on
 page~\pageref{ugSysCmdhistoryPage}
-\item ugSysCmdlibraryPage \ref{ugSysCmdlibraryPage} on
+\item ``)library''
+(ugSysCmdlibraryPage) \ref{ugSysCmdlibraryPage} on
 page~\pageref{ugSysCmdlibraryPage}
-\item ugSysCmdlispPage \ref{ugSysCmdlispPage} on
+\item ``)lisp''
+(ugSysCmdlispPage) \ref{ugSysCmdlispPage} on
 page~\pageref{ugSysCmdlispPage}
-\item ugSysCmdloadPage \ref{ugSysCmdloadPage} on
+\item ``)load''
+(ugSysCmdloadPage) \ref{ugSysCmdloadPage} on
 page~\pageref{ugSysCmdloadPage}
-\item ugSysCmdltracePage \ref{ugSysCmdltracePage} on
+\item ``)ltrace''
+(ugSysCmdltracePage) \ref{ugSysCmdltracePage} on
 page~\pageref{ugSysCmdltracePage}
-\item ugSysCmdpquitPage \ref{ugSysCmdpquitPage} on
+\item ``)pquit''
+(ugSysCmdpquitPage) \ref{ugSysCmdpquitPage} on
 page~\pageref{ugSysCmdpquitPage}
-\item ugSysCmdquitPage \ref{ugSysCmdquitPage} on
+\item ``)quit''
+(ugSysCmdquitPage) \ref{ugSysCmdquitPage} on
 page~\pageref{ugSysCmdquitPage}
-\item ugSysCmdreadPage \ref{ugSysCmdreadPage} on
+\item ``)read''
+(ugSysCmdreadPage) \ref{ugSysCmdreadPage} on
 page~\pageref{ugSysCmdreadPage}
-\item ugSysCmdsetPage \ref{ugSysCmdsetPage} on
+\item ``)set''
+(ugSysCmdsetPage) \ref{ugSysCmdsetPage} on
 page~\pageref{ugSysCmdsetPage}
-\item ugSysCmdshowPage \ref{ugSysCmdshowPage} on
+\item ``)show''
+(ugSysCmdshowPage) \ref{ugSysCmdshowPage} on
 page~\pageref{ugSysCmdshowPage}
-\item ugSysCmdspoolPage \ref{ugSysCmdspoolPage} on
+\item ``)spool''
+(ugSysCmdspoolPage) \ref{ugSysCmdspoolPage} on
 page~\pageref{ugSysCmdspoolPage}
-\item ugSysCmdsynonymPage \ref{ugSysCmdsynonymPage} on
+\item ``)synonym''
+(ugSysCmdsynonymPage) \ref{ugSysCmdsynonymPage} on
 page~\pageref{ugSysCmdsynonymPage}
-\item ugSysCmdsystemPage \ref{ugSysCmdsystemPage} on
+\item ``)system''
+(ugSysCmdsystemPage) \ref{ugSysCmdsystemPage} on
 page~\pageref{ugSysCmdsystemPage}
-\item ugSysCmdtracePage \ref{ugSysCmdtracePage} on
+\item ``)trace''
+(ugSysCmdtracePage) \ref{ugSysCmdtracePage} on
 page~\pageref{ugSysCmdtracePage}
-\item ugSysCmdundoPage \ref{ugSysCmdundoPage} on
+\item ``)undo''
+(ugSysCmdundoPage) \ref{ugSysCmdundoPage} on
 page~\pageref{ugSysCmdundoPage}
-\item ugSysCmdwhatPage \ref{ugSysCmdwhatPage} on
+\item ``)what''
+(ugSysCmdwhatPage) \ref{ugSysCmdwhatPage} on
 page~\pageref{ugSysCmdwhatPage}
 \end{itemize}
 \index{pages!ugSysCmdPage!ug16.ht}
@@ -58874,7 +58801,7 @@ It is recommended that you get familiar with the {\em use} of
 \begin{itemize}
 \item HTXLinkTopPage \ref{HTXLinkTopPage} on page~\pageref{HTXLinkTopPage}
 \item TestHelpPage \ref{TestHelpPage} on page~\pageref{TestHelpPage}
-\item HTXLinkPage2 \ref{HTXLinkPage2} on page~pageref{HTXLinkPage2}
+\item HTXLinkPage2 \ref{HTXLinkPage2} on page~\pageref{HTXLinkPage2}
 \end{itemize}
 \index{pages!HTXLinkPage1!htxlinkpage1.ht}
 \index{htxlinkpage1.ht!pages!HTXLinkPage1}
@@ -60275,13 +60202,23 @@ You can learn about these facilities by clicking on the topics below.
 \section{htxtoppage.ht}
 \subsection{Extending Hyperdoc}
 \label{HTXTopPage}
+\includegraphics[scale=.5]{ps/v71htxtoppage.eps}
+\index{images!htxtoppage}
+
+Called from ``Reference'' (TopReferencePage) 
+\ref{TopReferencePage} on page~\pageref{TopReferencePage}
 \begin{itemize}
-\item HTXIntroTopPage \ref{HTXIntroTopPage} on page~\pageref{HTXIntroTopPage}
-\item HTXFormatTopPage \ref{HTXFormatTopPage} on 
+\item ``Introduction''
+HTXIntroTopPage \ref{HTXIntroTopPage} on page~\pageref{HTXIntroTopPage}
+\item ``Formatting''
+HTXFormatTopPage \ref{HTXFormatTopPage} on 
 page~\pageref{HTXFormatTopPage}
-\item HTXLinkTopPage \ref{HTXLinkTopPage} on page~\pageref{HTXLinkTopPage}
-\item HTXAdvTopPage \ref{HTXAdvTopPage} on page~\pageref{HTXAdvTopPage}
-\item HTXTryPage \ref{HTXTryPage} on page~\pageref{HTXTryPage}
+\item ``Actions''
+HTXLinkTopPage \ref{HTXLinkTopPage} on page~\pageref{HTXLinkTopPage}
+\item ``Advanced features''
+HTXAdvTopPage \ref{HTXAdvTopPage} on page~\pageref{HTXAdvTopPage}
+\item ``Try it!''
+HTXTryPage \ref{HTXTryPage} on page~\pageref{HTXTryPage}
 \end{itemize}
 \index{pages!HTXTopPage!htxtoppage.ht}
 \index{htxtoppage.ht!pages!HTXTopPage}
diff --git a/books/ps/v71examplesexposedpage.eps b/books/ps/v71examplesexposedpage.eps
new file mode 100644
index 0000000..7a31fb1

... [snip] ...

diff --git a/changelog b/changelog
index b40f003..22e2b78 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,25 @@
+20080720 tpd books/bookvol7.1.pamphlet docs/corrections/updates
+20080720 tpd books/ps/v71topics.eps -> books/ps/v71topicpage.eps
+20080720 tpd books/ps/v71youtriedit.eps added
+20080720 tpd books/ps/v71topreferencepage.eps updated
+20080720 tpd books/ps/v71usersguidepage.eps added
+20080720 tpd books/ps/v71ugsyscmdpage.eps added
+20080720 tpd books/ps/v71uglangpage.eps added
+20080720 tpd books/ps/v71refsearchpage.eps added
+20080720 tpd books/ps/v71htxtoppage.eps added
+20080720 tpd books/ps/v71glossary.eps added
+20080720 tpd books/ps/v71foundationlibrarydocpage.eps added
+20080720 tpd books/ps/v71examplesexposedpage.eps added
+20080719 tpd books/bookvol7.1.pamphlet docs/corrections/updates
+20080719 tpd books/ps/v71algebrapage.eps
+20080719 tpd books/ps/v71calculus.eps added
+20080719 tpd books/ps/v71calculuspage.eps added
+20080719 tpd books/ps/v71equationpage.eps added
+20080719 tpd books/ps/v71functionpage.eps added
+20080719 tpd books/ps/v71graphicspage.eps added
+20080719 tpd books/ps/v71linalgpage.eps added
+20080719 tpd books/ps/v71numberpage.eps added
+20080719 tpd books/ps/v71polynomialpage.eps added
 20080718 tpd books/bookvol7.1.pamphlet additional docs/corrections/updates
 20080718 tpd books/ps/v71basiccommand.eps added
 20080718 tpd books/ps/v71man0page.eps added

\start
Date: Sun, 20 Jul 2008 22:02:03 -0400
From: Tim Daly
To: list
Subject: Re: [sage-devel] Re: Identification with ldap.
Cc: Michael Grossberg

> Michael Grossberg writes:
>
> Yes, yes, it is easy to criticize and whats really needed is energy
> and effort... well I hope to try some more... but the structure of the
> files makes it very difficult to follow. When one only has a limited
> amount of time to contribute it is really depressing spending 9/10 ths
> of it just trying to figure out what calls what. Ideally it would be
> nice to make a small patch as you suggest but I don't see how. Every
> tweak I make breaks something else. Perhaps if I knew how it was all
> connected a small patch would be possible. I don't, and trial and
> error is very inefficient.

The Mythical Man-Month (Fred Brooks, a MUST read book) has an interesting
example of a dinosaur stuck in a tarpit. The dinosaur can lift any foot
but cannot escape the tarpit. Really large systems, like Axiom and Sage,
have massive, dinosaur-sized tarpits of code.

Developers of these systems have the belief that it is sufficient to write
code that the machine understands. After all, any part of the system can
be understood by anyone with sufficient effort (see... we can lift any
foot you point at...). And every piece of code is perfectly clear
despite having many levels of inherited behavior and unstated background
mathematical theory.

The problem is that tarpit gets larger and deeper with every passing
day and with every additional piece of code added. As the current
developers move on and new people join, they have no way to understand
the prior work except to try to read each file and "integrate".

The best solution I've found it Knuth's Literate Programming (Axiom
uses noweb). The fundamental idea is to write for people while
writing the code so the machine can follow along. This adds about
two to three times as much work for the original developer but
saves the time for everyone else in the future.

And, yes, I know that nobody has the time. But if you don't take
the time now, the next person can only guess, probaby incorrectly, 
or give up and rewrite it.

Do you want your code to live?

\start
Date: Sun, 20 Jul 2008 18:05:49 -0700
From: Ed Borasky
To: Tim Daly
Subject: re: [sage-devel] Re: Identification with ldap.
Cc: Michael Grossberg

On Sun, 2008-07-20 at 22:02 -0400, root wrote:

> Do you want your code to live?

That's a very interesting question. When I was much younger, I used to
think I did. But when you realize that an awful lot of code isn't meant
to "live" -- it's meant to solve an immediate problem, and then be
discarded -- then you don't care whether it lives or not.

Axiom was clearly designed to live, rather than solve an immediate
problem. But how much code is out there that was designed with a 30-year
horizon? 

\start
Date: Sun, 20 Jul 2008 23:09:33 -0400
From: Tim Daly
To: Ed Borasky
Subject: re: [sage-devel] Re: Identification with ldap.
Cc: Michael Grossberg

>> Do you want your code to live?
>
>That's a very interesting question. When I was much younger, I used to
>think I did. But when you realize that an awful lot of code isn't meant
>to "live" -- it's meant to solve an immediate problem, and then be
>discarded -- then you don't care whether it lives or not.
>
>Axiom was clearly designed to live, rather than solve an immediate
>problem. But how much code is out there that was designed with a 30-year
>horizon? 

More to the point, how much code is in Sage that is designed for the
30 year horizon? Will a matrix inversion still give the right answer
30 years from now? If so, how many dozens of times will it have to
be reimplemented because nobody can understand the current code?
Which of the 16 kinds of matrix inversions are used and how do they
differ in terms of input domains, performance, robustness, etc?
Should I use the Maxima inversion or the Sympy inversion or the
Lapack inversion or implement a new one? 

The front ends will likely change. Axiom's hyperdoc help system is
being reimplemented using a firefox front end. The build system is
about to be moved from using 'make' to using 'asdf'. The file system
layout is disappearing, replaced by latex literate books. 
<http://axiom.axiom-developer.org/axiom-website/documentation.html>
Sage's notebook is certain to be replaced.

Even so, if we want the next generation of developers to contribute
effectively it seems important to write down what they need to know so
they don't give up in frustration. That's a serious loss. We need a
computational mathematician to be able to contribute effectively
without becoming frustrated. We also need to capture the special
knowledge that lies behind the contributed code since there will be
very few experts worldwide in a given research area. Would you 
recognize and be able to fix a bug in a feynman quantum computation?

William has stated that he doesn't care about this issue since he
wants a system NOW that he can use to do his number theory research.

But it is fundamentally about the quality of the system. The 4Ms
don't care because they pay people to learn the code.

Google and Microsoft, having invested real dollars into the
effort, ought to try for a higher standard and a longer horizon.
I really wish they would hire a team with a mandate to make this
code literate.

\start
Date: Mon, 21 Jul 2008 09:20:24 -0400
From: Bill Page
To: Alfredo Portes
Subject: Re: Hints

Hello Alfredo,

Just recently (last month) I re-implemented this kind of "mathaction
assistant" for the 'edit' form on axiom-wiki. Because of the changes
in ZWiki, this customization was a little difficult. At the same time
I also re-implemented the preview button for comments, but I did not
add the assistant because no one had asked for it and I was also a
little worried about the total number of bytes that it adds to each
page. Larger pages size mean that they are slower to load and add a
bit more overhead to the server. I wasn't sure that it was worth it,
but if you think it would be a good thing, I could easily include the
same assistant at the bottom of the comments. Just let me know what
you think.

One problem I have now is that I seem to get very little feedback from users of

http://axiom-wiki.newsynthesis.org

although access rates are still quite high. It seems I little awkward
to always cc the 3 Axiom-related developer email list just for things
like this (but in this case I'll do it anyway :). If you have any
ideas about how to improve this, I would be very interested.

BTW, I am in Austria all this weeking attending ISSAC and Axiom/Aldor
workshop. If you have any "Axiom" questions you would like to ask, now
is a good time to bring them up!

Regards,
Bill Page.

On Mon, Jul 21, 2008 at 8:57 AM, Alfredo Portes  wrote:
> Hi Bill,
>
> In the old Wiki, there were some hints at the moment
> of adding a comment to a page, for example:
>
> \begin{axiom}
> ...
> \end{axiom}
>
> if the user wanted to add a command. I do not see this
> anymore. I do not if it would be hard to implement this again.
> I see the last edit to the Wiki, it seems the user had a problem
> because of this.

\start
Date: Tue, 22 Jul 2008 10:45:41 -0500
From: Tim Daly
To: list
Subject: 20080721.01.tpd.patch (bookvol7.1 hyperdoc specific macros)

This patch creates some hyperdoc-specific macros to simplify page handling.
In particular, it adds:

  \pagehead{page}{file}{title} 

to consolidate page handling. This macro adds a subsection for the page,
a label, and cross indexing by page and file.

  \pagepic{pathandfile}{indexname}

adds the ability to include a screen capture of the hyperdoc page and
an index entry to the full set of images

  \pageto{linkstring}{pagename}

adds the ability to jump from the current page to one of the pages
referenced in the page using a hyperlink.

  \pagefrom{linkstring}{pagename}

adds the ability to jump from the current page back to the linking
page, essentially acting as a browser "BACK" button.

With these four macros it is possible to quickly add pages that are
fully hyperlinked. The end result is the ability to move around the
PDF file as though you were using Hyperdoc directly.

In addition, this patch fixes overlong lines, missing references,
and other random latex complaints. 

bookvol7.1 is now automatically part of the combined table of contents PDF.

=======================================================================
The patch is too large to post.

\start
Date: Wed, 23 Jul 2008 02:08:27 -0500
From: Tim Daly
To: list
Subject: Axiom July 2008 release

The July 2008 release marks the second large-scale change toward a
literate Axiom distribution. The original change was to make every
file into a pamphlet document. This second change draws Axiom into
tighter collections, called books (for obvious reasons). 

There is a new "books" directory which contains 14 books, most of
which are new:

 bookvol0:  The reconstructed Jenks and Sutor book
 bookvol1:  The published tutorial volume
 bookvol2:  Users Guide
 bookvol3:  Programmers Guide
 bookvol4:  Developers Guide
 bookvol5:  Interpreter
 bookvol6:  Command
 bookvol7:  Hyperdoc
 bookvol7.1 Hyperdoc Pages
 bookvol8:  Graphics
 bookvol9:  Compiler
 bookvol10: Algebra
 bookvol11: Browser
 bookvol12: Crystal

All of these books now exist. Portions of the current system have
been moved completely into book form (Graphics and Hyperdoc) so
the old files have been removed from the src tree. Both Graphics
and Hyperdoc are now built directly from their book. Work will 
follow on other parts of the system.

These books are online at:
<http://axiom.axiom-developer.org/axiom-website/documentation.html>




There is an interesting side-effect of using literate technology.
Once you combine C and .h files into a single document so that each
file is a separate chunk it becomes obvious that there is no need for
local include files. The lines that read:
   #include "foo.h"
become
   <<foo.h>>
and get expanded inline. Once you do this it also becomes obvious
that many include files get included multiple times (a clear waste
of disk I/O and preparser time). Further it becomes clear that there
is no need for creating tiny .o files since all of the source can
be combined into one C file using chunks. 

These approaches were used to reduce the compile-time overhead
for both the graphics and the hyperdoc functions.




In addition to consolidating the source files for Graphics into
bookvol8 there were several other changes.

  * the functions for graphics, that is, viewman, view2d, view3d
    and viewalone are now built as single C files. 
  * the graphics code was reorganized into chapters of related code
  * there is the beginnings of documentation
  * there is the beginnings of a test suite based on the 
    CRC Handbook of Curves and Surfaces
  * the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
  * redundant code was eliminated
  * the code is fully indexed
  * the src/graph subdirectory is gone



In addition to consolidating the source files for Hyperdoc into
bookvol7 there were several other changes.

  * the functions for hyperdoc, that is, spadbuf, ex2ht, htadd, hthits
    and hypertex are now built as single C files
  * the hyperdoc code was reorganized into chapters of related code
  * there is the beginnngs of documentation
  * redundant code was eliminated
  * scroll wheel handling was added (Gregory Vanuxem)
  * the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
  * the code is fully indexed
  * )hd now works to start or restart Hyperdoc (Jose Alfredo Portes)
  * the src/hyper subdirectory is gone



In addition to consolidating the hyperdoc pages into bookvol7.1
there were several other changes:

  * the pages are hyperlinked
  * new latex macros were written to simplify page handling
  * images of hyperdoc pages were added
  * forward and backward hyperlinks between pages images works
    making it possible to "browse" the hyperdoc pages using only
    the single PDF file (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
  * the pages are fully indexed
  * the src/hyper/pages subdirectory is gone



A combined table of contents PDF is now automatically generated
which covers all of the volumes. This makes it easier to find the
topic of interest.


In addition there were several other changes.

  * Some fixes were made for different platforms
       In particular, Fedora9 breaks the build and needs work

  * The configure script was replaced by instructions
       The standard (export AXIOM) works everywhere so the configure
       script is useless for guessing.

  * the FAQ was updated about git
       Since the May 2008 release the primary Gold source code platform
       is github. The FAQ was updated to reflect this.

  * the FAQ was updated about X11
       X11 has moved yet again so more notes are needed

  * move axbook to books
       The hyperlinked version of Jenks is now built from the books dir

  * add Ralf Hemmecke's documentation to ax.boot
  * add Monoid multiply to DirectProduct (Ralf Hemmecke)
  * add Monoid multiply regression test

\start
Date: Thu, 24 Jul 2008 00:57:52 -0500
From: Tim Daly
To: list
Subject: Reproducible Research Repository

The Ecole Polytechnique Federale De Lausanne has introduced 
an online journal for reproducible research at:
  <http://rr.epfl.ch/17/>

The introductory headline reads:

  Have you ever tried to reproduce the results presented in a research
  paper? For many of our current publications, this would unfortunately
  be a challenging task. For a computational algorithm, details such as
  the exact dataset, initialization or termination procedures and precise
  parameter values are often omitted in the publication for various
  reasons. This makes it difficult, if not impossible, for someone else
  to obtain the same results. To address the problem, we have started
  making our research reproducible. Instead of only describing the 
  developed algorithms to 'sufficient' precision in an article, we give
  readers access to all the information (code, data, schemes, etc) that
  was used to produce the presented results as first advocated by Knuth
  and Claerbout. We are convinced that making research reproducible is
  not only a matter of good practice, but also increases the impact of
  our publications and makes it easier to build upon each other's work.
  It is a clear win-win situation for our community: we will have access
  to more and more algorithms and can spend time inventing new things
  rather than recreating existing ones.

\start
Date: Wed, 23 Jul 2008 23:01:37 -0700
From: Ed Borasky
To: Tim Daly
Subject: Re: Reproducible Research Repository

On Thu, 2008-07-24 at 00:57 -0500, Tim Daly wrote:
> The Ecole Polytechnique Federale De Lausanne has introduced 
> an online journal for reproducible research at:
>   <http://rr.epfl.ch/17/>
> 
> The introductory headline reads:
> 
>   Have you ever tried to reproduce the results presented in a research
>   paper? For many of our current publications, this would unfortunately
>   be a challenging task. For a computational algorithm, details such as
>   the exact dataset, initialization or termination procedures and precise
>   parameter values are often omitted in the publication for various
>   reasons. This makes it difficult, if not impossible, for someone else
>   to obtain the same results. To address the problem, we have started
>   making our research reproducible. Instead of only describing the 
>   developed algorithms to 'sufficient' precision in an article, we give
>   readers access to all the information (code, data, schemes, etc) that
>   was used to produce the presented results as first advocated by Knuth
>   and Claerbout. We are convinced that making research reproducible is
>   not only a matter of good practice, but also increases the impact of
>   our publications and makes it easier to build upon each other's work.
>   It is a clear win-win situation for our community: we will have access
>   to more and more algorithms and can spend time inventing new things
>   rather than recreating existing ones.

I have a number of links to "reproducible research" from the R langauge
- it's a big deal in the R community. R has its own literate programming
tool set -- it's patterned after "noweb" but has no external
dependencies. In addition, there is an excellent LyX front-end to all of
it.

\start
Date: Wed, 23 Jul 2008 23:33:55 -0700 (PDT)
From: Tim Daly
To: list
Subject: Literate Programming and Reproducible Results

The Ecole Polytechnique Federale De Lausanne has introduced
an online journal fore reproducible research at:
  <http://rr.epfl.ch/17/>

The introductory headline reads:

Have you ever tried to reproduce the results presented in a research
paper? For many of our current publications, this would unfortunately
be a challenging task. For a computational algorithm, details such as
the exact dataset, initialization or termination procedures and
precise parameter values are often omitted in the publication for
various reasons. This makes it difficult, if not impossible, for
someone else to obtain the same results. To address the problem, we
have started making our research reproducible. Instead of only
describing the developed algorithms to =91sufficient=92 precision in
an article, we give readers access to all the information (code, data,
schemes, etc.)  that was used to produce the presented results as
first advocated by Knuth and Claerbout. We are convinced that making
research reproducible is not only a matter of good practice, but also
increases the impact of our publications and makes it easier to build
upon each other=92s work. It is a clear win-win situation for our
community: we will have access to more and more algorithms and can
spend time inventing new things rather than recreating existing ones.


I am a firm believer in Knuth's Literate Programming and in the need
to have full publication of the program as well as the research paper
in the field of computational mathematics (CM).

Too often in the CM area the only surviving artifact of an algorithm
is a 5 page paper in a conference publication. There is no need to
limit publications to the constraint of paper. Conference proceedings
can be published electronically. With the adoption of some reasonable,
minimal standards it should be possible to "drag-and-drop" a paper
onto a running system and have it installed immediately. Indeed, it
could even occur at the conference while attending the talk which
would allow the audience to run the algorithm immediately.

Combining the research paper with the actual code will raise the
standard of publication and encourage standardization of the CM
algorithms. If, in addition, the publication license allowed others
to make derivative algorithms we could see a whole history of the
development of important results (say, new Groebner basis
enhancements) with a clear history of prior art.

\start
Date: Fri, 25 Jul 2008 02:00:19 -0500
From: Tim Daly
To: list
Subject: 20080724.01.tpd.patch (document lisp calls from hyperdoc pages)

There is a new hyperdoc page (LispFunctions) that collects all of the
lisp calls made from within hyperdoc pages. This will be used to 
tree-shake the interpreter code and eliminate unused functions.

In addition, there are new cross-references between pages and some
unused macros were deleted.


=========================================================================
diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet
index 9a42fbb..9b7426b 100644
--- a/books/bookvol7.1.pamphlet
+++ b/books/bookvol7.1.pamphlet
@@ -1196,10 +1196,8 @@ of operations defined by \spadtype{#1}.}
 \newcommand{\xtc}[2]{#1 #2} 
 
 % glossary terms
-\newcommand{\axiomGloss}[1]{\lispdownlink{#1}{(|htGloss| '|#1|)}}
-\newcommand{\axiomGlossSee}[2]{\lispdownlink{#1}{(|htGloss| '|#2|)}}
-\newcommand{\spadgloss}[1]{\axiomGloss{#1}}
-\newcommand{\spadglossSee}[2]{\axiomGlossSee{#1}{#2}}
+\newcommand{\spadgloss}[1]{\lispdownlink{#1}{(|htGloss| '|#1|)}}
+\newcommand{\spadglossSee}[2]{\lispdownlink{#1}{(|htGloss| '|#2|)}}
 
 % use this for syntax punctuation: \axiomSyntax{::}
 \newcommand{\axiomSyntax}[1]{``{\tt #1}''}
@@ -1257,9 +1255,6 @@ of operations defined by \spadtype{#1}.}
 \newcommand{\axiomOpFromX}[2] {\axiomOpFrom{#1!}{#2}}
 \newcommand{\spadopFromX}[2] {\axiomOpFrom{#1!}{#2}}
 
-% redundant defns for system commands
-\newcommand{\syscom}[1]{\lispdownlink{)#1}{(|syscomPage| '|#1|)}}
-%
 \newcommand{\spadsyscom}[1]{{\tt #1}}
 \newcommand{\spadcmd}[1]{\spadsyscom{#1}}
 \newcommand{\spadsys}[1]{\spadsyscom{#1}}
@@ -1267,9 +1262,9 @@ of operations defined by \spadtype{#1}.}
 
 % Following macros should be phased out in favor of ones above:
 
-\newcommand{\gloss}[1]{\axiomGloss{#1}}
-\newcommand{\spadglos}[1]{\axiomGloss{#1}}
-\newcommand{\glossSee}[2]{\axiomGlossSee{#1}{#2}}
+\newcommand{\gloss}[1]{\lispdownlink{#1}{(|htGloss| '|#1|)}}
+\newcommand{\spadglos}[1]{\lispdownlink{#1}{(|htGloss| '|#1|)}}
+\newcommand{\glossSee}[2]{\lispdownlink{#1}{(|htGloss| '|#2|)}}
 
 @
 \subsection{Browse macros}
@@ -2247,7 +2242,10 @@ For information on related topics, see
 \pagepic{ps/v71basiccommand.eps}{basiccommand}
 \pagefrom{Root Page}{RootPage}
 \pageto{Calculus}{Calculus}
-\newline{}The other links on the page call lisp code. 
+\pageto{Matrix}{LispFunctions}
+\pageto{Draw}{LispFunctions}
+\pageto{Series}{LispFunctions}
+\pageto{Solve}{LispFunctions}
 \index{Function!bcMatrix}
 \index{bcMatrix Function}
 \index{Function!bcExpand}
@@ -2283,6 +2281,11 @@ For information on related topics, see
 \pagehead{Calculus}{basic.ht}{Calculus}
 \pagepic{ps/v71calculus.eps}{calculus}
 \pagefrom{Basic Commands}{BasicCommand}
+\pageto{Differentiate}{LispFunctions}
+\pageto{Do an Indefinite Integral}{LispFunctions}
+\pageto{Do a Definite Integral}{LispFunctions}
+\pageto{Find a Limit}{LispFunctions}
+\pageto{Do a summation}{LispFunctions}
 \index{Function!bcDifferentiate}
 \index{bcDifferentiate Function}
 \index{Function!bcIndefiniteIntegral}
@@ -8539,6 +8542,7 @@ used.
 \pagehead{GlossaryPage}{gloss.ht}{Glossary}
 \pagepic{ps/v71glossary.eps}{glossary}
 \pagefrom{Reference}{TopReferencePage}
+\pageto{Search}{LispFunctions}
 <<gloss.ht>>=
 \begin{page}{GlossaryPage}{G l o s s a r y}
 \beginscroll\beginmenu\item\newline{\em \menuitemstyle{}}{\em !}\space{}
@@ -12519,9 +12523,10 @@ For more information on related topics, see
 @
 \section{link.ht}
 \pagehead{htxl}{link.ht}{The Axiom Link to NAG Software}
-\pageto{notitle}{nagLinkIntroPage}
-\pageto{notitle}{htxl1}
-\pageto{notitle}{FoundationLibraryDocPage}
+\pageto{Introduction to the NAG Library Link}{nagLinkIntroPage}
+\pageto{Access the Link from HyperDoc}{htxl1}
+\pageto{Browser pages for individual routines}{LispFunctions}
+\pageto{NAG Library Documentation}{FoundationLibraryDocPage}
 <<link.ht>>=
 \begin{page}{htxl}{The Axiom Link to NAG Software}
 \beginscroll
@@ -12578,7 +12583,10 @@ Roots of One or More Transcendental Equations
 
 @
 \pagehead{c02}{link.ht}{C02 Zeros of Polynomials}
-\pageto{notitle}{manpageXXc02}
+\pageto{Foundation Library Chapter c02 Manual Page}{manpageXXc02}
+\pageto{Browse}{LispFunctions}
+\pageto{C02AFF}{LispFunctions}
+\pageto{C02AGF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{c02}{C02 Zeros of Polynomials}
 \beginscroll
@@ -12604,7 +12612,11 @@ Roots of One or More Transcendental Equations
 @
 \pagehead{c05}{link.ht}
 {C05 Roots of One or More Transcendental Equations}
-\pageto{notitle}{manpageXXc05}
+\pageto{Foundation Library Chapter c05 Manual Page}{manpageXXc05}
+\pageto{Browse}{LispFunctions}
+\pageto{C05ADF}{LispFunctions}
+\pageto{C05NBF}{LispFunctions}
+\pageto{C05PBF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{c05}{C05 Roots of One or More Transcendental Equations}
 \beginscroll
@@ -12634,7 +12646,20 @@ function values only
 
 @
 \pagehead{c06}{link.ht}{C06 Summation of Series}
-\pageto{notitle}{manpageXXc06}
+\pageto{Foundation Library Chapter c06 Manual Page}{manpageXXc06}
+\pageto{Browse}{LispFunctions}
+\pageto{C06EAF}{LispFunctions}
+\pageto{C06EBF}{LispFunctions}
+\pageto{C06ECF}{LispFunctions}
+\pageto{C06EKF}{LispFunctions}
+\pageto{C06FPF}{LispFunctions}
+\pageto{C06FQF}{LispFunctions}
+\pageto{C06FRF}{LispFunctions}
+\pageto{C06FUF}{LispFunctions}
+\pageto{C06GBF}{LispFunctions}
+\pageto{C06GCF}{LispFunctions}
+\pageto{C06GQF}{LispFunctions}
+\pageto{C06GSF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{c06}{C06 Summation of Series}
 \beginscroll
@@ -12684,7 +12709,20 @@ workspace
 
 @
 \pagehead{d01}{link.ht}{D01 Quadrature}
-\pageto{notitle}{manpageXXd01}
+\pageto{Foundation Library Chapter d01 Manual Page}{manpageXXd01}
+\pageto{Browse}{LispFunctions}
+\pageto{D01AJF}{LispFunctions}
+\pageto{D01AKF}{LispFunctions}
+\pageto{D01ALF}{LispFunctions}
+\pageto{D01AMF}{LispFunctions}
+\pageto{D01ANF}{LispFunctions}
+\pageto{D01APF}{LispFunctions}
+\pageto{D01AQF}{LispFunctions}
+\pageto{D01ASF}{LispFunctions}
+\pageto{D01BBF}{LispFunctions}
+\pageto{D01FCF}{LispFunctions}
+\pageto{D01GAF}{LispFunctions}
+\pageto{D01GBF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{d01}{D01 Quadrature}
 \beginscroll
@@ -12748,6 +12786,16 @@ Monte Carlo method
 \pageto{notitle}{manpageXXd02}
 <<link.ht>>=
 \begin{page}{d02}{D02 Ordinary Differential Equations}
+\pageto{Foundation Library Chapter d02 Manual Page}{manpageXXd02}
+\pageto{Browse}{LispFunctions}
+\pageto{D02BBF}{LispFunctions}
+\pageto{D02BHF}{LispFunctions}
+\pageto{D02CJF}{LispFunctions}
+\pageto{D02EJF}{LispFunctions}
+\pageto{D02GAF}{LispFunctions}
+\pageto{D02GBF}{LispFunctions}
+\pageto{D02KEF}{LispFunctions}
+\pageto{D02RAF}{LispFunctions}
 \beginscroll
 \centerline{What would you like to do?}
 \newline
@@ -12794,7 +12842,11 @@ difference technique with deferred correction, continuation facility
 
 @
 \pagehead{d03}{link.ht}{D03 Partial Differential Equations}
-\pageto{notitle}{manpageXXd03}
+\pageto{Foundation Library Chapter d03 Manual Page}{manpageXXd03}
+\pageto{Browse}{LispFunctions}
+\pageto{D03EDF}{LispFunctions}
+\pageto{D03EEF}{LispFunctions}
+\pageto{D03FAF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{d03}{D03 Partial Differential Equations}
 \beginscroll
@@ -12823,7 +12875,16 @@ by a multigrid technique
 
 @
 \pagehead{e01}{link.ht}{E01 Interpolation}
-\pageto{notitle}{manpageXXe01}
+\pageto{Foundation Library Chapter e01 Manual Page}{manpageXXe01}
+\pageto{Browse}{LispFunctions}
+\pageto{E01BAF}{LispFunctions}
+\pageto{E01BEF}{LispFunctions}
+\pageto{E01BFF}{LispFunctions}
+\pageto{E01BGF}{LispFunctions}
+\pageto{E01BHF}{LispFunctions}
+\pageto{E01DAF}{LispFunctions}
+\pageto{E01SAF}{LispFunctions}
+\pageto{E01SEF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{e01}{E01 Interpolation}
 \beginscroll
@@ -12867,7 +12928,26 @@ two variables
 
 @
 \pagehead{e02}{link.ht}{E02 Curve and Surface Fitting}
-\pageto{notitle}{manpageXXe02}
+\pageto{Foundation Library Chapter e02 Manual Page}{manpageXXe02}
+\pageto{Browse}{LispFunctions}
+\pageto{E02ADF}{LispFunctions}
+\pageto{E02AEF}{LispFunctions}
+\pageto{E02AGF}{LispFunctions}
+\pageto{E02AHF}{LispFunctions}
+\pageto{E02AJF}{LispFunctions}
+\pageto{E02AKF}{LispFunctions}
+\pageto{E02BAF}{LispFunctions}
+\pageto{E02BBF}{LispFunctions}
+\pageto{E02BCF}{LispFunctions}
+\pageto{E02BDF}{LispFunctions}
+\pageto{E02BEF}{LispFunctions}
+\pageto{E02DAF}{LispFunctions}
+\pageto{E02DCF}{LispFunctions}
+\pageto{E02DDF}{LispFunctions}
+\pageto{E02DEF}{LispFunctions}
+\pageto{E02DFF}{LispFunctions}
+\pageto{E02GAF}{LispFunctions}
+\pageto{E02ZAF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{e02}{E02 Curve and Surface Fitting}
 \beginscroll
@@ -12933,7 +13013,16 @@ knot placement, scattered data
 
 @
 \pagehead{e04}{link.ht}{E04 Minimizing or Maximizing a Function}
-\pageto{notitle}{manpageXXe04}
+\pageto{Foundation Library Chapter e04 Manual Page}{manpageXXe04}
+\pageto{Browse}{LispFunctions}
+\pageto{E04DGF}{LispFunctions}
+\pageto{E04FDF}{LispFunctions}
+\pageto{E04GCF}{LispFunctions}
+\pageto{E04JAF}{LispFunctions}
+\pageto{E04MBF}{LispFunctions}
+\pageto{E04NAF}{LispFunctions}
+\pageto{E04UCF}{LispFunctions}
+\pageto{E04YCF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{e04}{E04 Minimizing or Maximizing a Function}
 \beginscroll
@@ -12976,8 +13065,19 @@ derivatives
 
 @
 \pagehead{f01}{link.ht}{F01 Matrix Operations - Including Inversion}
-\pageto{notitle}{manpageXXf}
-\pageto{notitle}{manpageXXf01}
+\pageto{Foundation Library Chapter f Manual Page}{manpageXXf}
+\pageto{Foundation Library Chapter f01 Manual Page}{manpageXXf01}
+\pageto{Browse}{LispFunctions}
+\pageto{F01BRF}{LispFunctions}
+\pageto{F01BSF}{LispFunctions}
+\pageto{F01MAF}{LispFunctions}
+\pageto{F01MCF}{LispFunctions}
+\pageto{F01QCF}{LispFunctions}
+\pageto{F01QDF}{LispFunctions}
+\pageto{F01QEF}{LispFunctions}
+\pageto{F01RCF}{LispFunctions}
+\pageto{F01RDF}{LispFunctions}
+\pageto{F01REF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{f01}{F01 Matrix Operations - Including Inversion}
 \beginscroll
@@ -13028,8 +13128,24 @@ after factorization by F01RCF
 
 @
 \pagehead{f02}{link.ht}{F02 Eigenvalues and Eigenvectors}
-\pageto{notitle}{manpageXXf}
-\pageto{notitle}{manpageXXf02}
+\pageto{Foundation Library Chapter f Manual Page}{manpageXXf}
+\pageto{Foundation Library Chapter f02 Manual Page}{manpageXXf02}
+\pageto{Browse}{LispFunctions}
+\pageto{F02AAF}{LispFunctions}
+\pageto{F02ABF}{LispFunctions}
+\pageto{F02ADF}{LispFunctions}
+\pageto{F02AEF}{LispFunctions}
+\pageto{F02AFF}{LispFunctions}
+\pageto{F02AGF}{LispFunctions}
+\pageto{F02AJF}{LispFunctions}
+\pageto{F02AKF}{LispFunctions}
+\pageto{F02AWF}{LispFunctions}
+\pageto{F02AXF}{LispFunctions}
+\pageto{F02BBF}{LispFunctions}
+\pageto{F02BJF}{LispFunctions}
+\pageto{F02FJF}{LispFunctions}
+\pageto{F02WEF}{LispFunctions}
+\pageto{F02XEF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{f02}{F02 Eigenvalues and Eigenvectors}
 \beginscroll
@@ -13089,8 +13205,20 @@ eigenproblem
 
 @
 \pagehead{f04}{link.ht}{F04 Simultaneous Linear Equations}
-\pageto{notitle}{manpageXXf}
-\pageto{notitle}{manpageXXf04}
+\pageto{Foundation Library Chapter f Manual Page}{manpageXXf}
+\pageto{Foundation Library Chapter f04 Manual Page}{manpageXXf04}
+\pageto{Browse}{LispFunctions}
+\pageto{F04ADF}{LispFunctions}
+\pageto{F04ARF}{LispFunctions}
+\pageto{F04ASF}{LispFunctions}
+\pageto{F04ATF}{LispFunctions}
+\pageto{F04AXF}{LispFunctions}
+\pageto{F04FAF}{LispFunctions}
+\pageto{F04JGF}{LispFunctions}
+\pageto{F04MAF}{LispFunctions}
+\pageto{F04MBF}{LispFunctions}
+\pageto{F04MCF}{LispFunctions}
+\pageto{F04QAF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{f04}{F04 Simultaneous Linear Equations}
 \beginscroll
@@ -13150,8 +13278,13 @@ in {\it n} unknowns
 
 @
 \pagehead{f07}{link.ht}{F07 Linear Equations (LAPACK)}
-\pageto{notitle}{manpageXXf}
-\pageto{notitle}{manpageXXf07}
+\pageto{Foundation Library Chapter f Manual Page}{manpageXXf}
+\pageto{Foundation Library Chapter f07 Manual Page}{manpageXXf07}
+\pageto{Browse}{LispFunctions}
+\pageto{F07ADF}{LispFunctions}
+\pageto{F07AEF}{LispFunctions}
+\pageto{F07FDF}{LispFunctions}
+\pageto{F07FEF}{LispFunctions}
 <<link.ht>>=
 \begin{page}{f07}{F07 Linear Equations (LAPACK)}
 \beginscroll
@@ -13183,8 +13316,48 @@ already factorized by F07FDF
 \end{page}
 
 @
-\pagehead{s}{link.ht}{S \space{2} Approximations of Special Functions}
-\pageto{notitle}{manpageXXs}
+\pagehead{s}{link.ht}{S -- Approximations of Special Functions}
+\pageto{Foundation Library Chapter s Manual Page}{manpageXXs}
+\pageto{Browse}{LispFunctions}
+\pageto{S01EAF}{LispFunctions}
+\pageto{S13AAF}{LispFunctions}
+\pageto{S13ACF}{LispFunctions}
+\pageto{S13ADF}{LispFunctions}
+\pageto{S14AAF}{LispFunctions}
+\pageto{S14ABF}{LispFunctions}
+\pageto{S14BAF}{LispFunctions}
+\pageto{S15ADF}{LispFunctions}
+\pageto{S15AEF}{LispFunctions}
+\pageto{S17ACF}{LispFunctions}
+\pageto{S17ADF}{LispFunctions}
+\pageto{S17AEF}{LispFunctions}
+\pageto{S17AFF}{LispFunctions}
+\pageto{S17AGF}{LispFunctions}
+\pageto{S17AHF}{LispFunctions}
+\pageto{S17AJF}{LispFunctions}
+\pageto{S17AKF}{LispFunctions}
+\pageto{S17DCF}{LispFunctions}
+\pageto{S17DEF}{LispFunctions}
+\pageto{S17DGF}{LispFunctions}
+\pageto{S17DHF}{LispFunctions}
+\pageto{S17DLF}{LispFunctions}
+\pageto{S18ACF}{LispFunctions}
+\pageto{S18ADF}{LispFunctions}
+\pageto{S18AEF}{LispFunctions}
+\pageto{S18AFF}{LispFunctions}
+\pageto{S18DCF}{LispFunctions}
+\pageto{S18DEF}{LispFunctions}
+\pageto{S19AAF}{LispFunctions}
+\pageto{S19ABF}{LispFunctions}
+\pageto{S19ACF}{LispFunctions}
+\pageto{S19ADF}{LispFunctions}
+\pageto{S20ACF}{LispFunctions}
+\pageto{S20ADF}{LispFunctions}
+\pageto{S21BAF}{LispFunctions}
+\pageto{S21BBF}{LispFunctions}
+\pageto{S21BCF}{LispFunctions}
+\pageto{S21BDF}{LispFunctions}
+
 <<link.ht>>=
 \begin{page}{s}{S \space{2} Approximations of Special Functions}
 \beginscroll
@@ -14496,10 +14669,565 @@ Enter search string :
 \end{page}
 
 @
+\pagehead{LispFunctions}{lisp.ht}{Lisp Functions}
+\pagefrom{Root Page}{RootPage}
+\pagefrom{System Commands}{TopSettingsPage}
+\pagefrom{Axiom Browser}{Man0Page}
+\pagefrom{Axiom Reference}{TopReferencePage}
+\pagefrom{Basic Commands}{BasicCommand}
+\pagefrom{Calculus}{Calculus}
+\pagefrom{Glossary}{GlossaryPage}
+\pagefrom{The Axiom Link to NAG Software}{htxl}
+\pagefrom{C02 Zeros of Polynomials}{c02}
+\pagefrom{C02 Roots of One or More TranscendentalEquations}{c05}
+\pagefrom{C06 Summation of Series}{c06}
+\pagefrom{D03 Partial Differential Equations}{d03}
+\pagefrom{E01 Interpolation}{e01}
+\pagefrom{E02 Curve and Surface Fitting}{e02}
+\pagefrom{E04 Minimizing or Maximizing a Function}{e04}
+\pagefrom{F01 Matrix Operations - Including Inversion}{f01}
+\pagefrom{F02 Eigenvalues and Eigenvectors}{f02}
+\pagefrom{F04 Simultaneous Linear Equations}{f04}
+\pagefrom{F07 Linear Equations (LAPACK)}{f07}
+\pagefrom{S -- Approximations of Special Functions}{s}
+\pagefrom{Domain Mapping}{DomainMapping}
+\pagefrom{Domain Record}{DomainRecord}
+\pagefrom{Domain Union}{DomainUnion}
+\pagefrom{HTXLinkPage4xPatch2}{HTXLinkPage4xPatch2}
+\pagefrom{HTXLinkPage4xPatch4}{HTXLinkPage4xPatch4}
+\pagefrom{Examples Using the Axiom/NAG Expert System}{UXANNAOdeEx}
+\pagefrom{Examples Using the Axiom/NAG Expert System}{UXANNAIntEx}
+\pagefrom{Examples Using the Axiom/NAG Expert System}{UXANNAOpt2Ex}
+\pagefrom{Examples Using the Axiom/NAG Expert System}{UXANNAOptEx}
+\pagefrom{Optimization}{UXANNAOpt}
+\pagefrom{Ordinary Differential Equations}{UXANNAOde}
+\pagefrom{Integration}{UXANNAInt}
+\pagefrom{Axiom/NAG Expert System}{UXANNA}
+
+There are lisp functions which exist behind certain pages and 
+the page information is created dynamically by calling the function.
+
+%syscomPage & syscom\\
+
+This is a list of the macros which use lisp functions\\
+
+\begin{tabular}{ll}
+oPage & axiomFun\\
+oPageFrom & axiomFunFrom\\
+htGloss & gloss\\
+htGloss & spadglos\\
+htGloss & glossSee \\
+conPage & aliascon\\
+conPage & aliasdom\\
+conPage & dom\\
+conPage & con\\
+conPage & conf\\
+conOpPage & ops\\
+htsn & keyword\\
+htsn & op\\
+\end{tabular}
+
+%\item interp1 & Interpolation & Axiom/NAG Expert System\\
+%\item bcExpand             & Operations        & Basic Commands\\
+%\item bcProduct            & Compute a product & Calculus\\
+%\item d03fafVars           & Helmholtz         & 
+%Partial Differential Equations\\
+%\item htHistory            & history           & Root Page \\
+%\item htTutorialSearch     & Search            & Axiom Topics\\
+%\item htUserVariables      & User Variables    & Root Page \\
+
+This is a list of the lisp function, the link name, and the page name\\
+
+\begin{itemize}
+\item {\bf annaOde} -- Ordinary Differential Equations link from page 
+Ordinary Differential Equations
+\item {\bf annaOpt} -- Optimization of a Single Multivariate Function link from page
+Optimization
+\item {\bf annaOpt2} -- Optimization of a set of observations of a data set link from page
+Optimization
+\item {\bf annaPDESolve} -- Second Order Elliptic Partial Differential Equation link from page
+Partial Differential Equations
+\item {\bf annaOptDefaultSolve1} -- Example 1 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaOptDefaultSolve2} -- Example 2 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaOptDefaultSolve3} -- Example 3 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaOptDefaultSolve4} -- Example 4 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaOptDefaultSolve5} -- Example 5 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaFoo} -- Example 1 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaBar} -- Example 2 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaJoe} -- Example 3 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaSue} -- Example 4 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaAnn} -- Example 5 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaBab} -- Example 6 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaFnar} -- Example 7 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaDan} -- Example 8 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaBlah} -- Example 9 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaTub} -- Example 10 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaRats} -- Example 11 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaMInt} -- Example 12 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaMInt} -- Multiple Integration link from page
+Integration
+\item {\bf annaInt} -- Integration link from page Integration
+\item {\bf annaOdeDefaultSolve1} -- Example 1 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaOdeDefaultSolve2} -- Example 2 link from page
+Examples Using the Axiom/NAG Expert System
+\item {\bf annaOpt2DefaultSolve} -- Example 1 link from page
+Examples Using the Axiom/NAG Expert System
+\end{itemize}
+\begin{itemize}
+\item {\bf aSearch} -- Attributes link from page
+Axiom Browser
+\item {\bf aokSearch} -- General link from page
+Axiom Browser
+\item {\bf bcDefiniteIntegrate} -- Do an Definite Integral 
+link from page Calculus
+\item {\bf bcDifferentiate} -- Differentiate link from page
+Calculus
+\item {\bf bcDraw} -- Draw link from page
+Basic Commands
+\item {\bf bcIndefiniteIntegrate} -- Do an Indefinite Integral 
+link from page Calculus
+\item {\bf bcLimit} -- Find a Limit link from page
+Calculus
+\item {\bf bcMatrix} -- Matrix link from page
+Basic Commands
+\item {\bf bcSeries} -- Series link from page
+Basic Commands
+\item {\bf bcSolve} -- Solve link from page
+Basic Commands
+\item {\bf bcSum} -- Sum link from page
+Calculus
+\item {\bf cSearch} -- categories link from page
+Axiom Browser
+\item {\bf dbSpecialDescription} -- Description link from page
+Domain Mapping
+\item {\bf dbSpecialDescription} -- Description link from page
+Domain Record
+\item {\bf dbSpecialDescription} -- Description link from page
+Domain Union
+\item {\bf dbSpecialDescription} -- Description link from page
+Domain Untagged Union
+\item {\bf dbSpecialExports} -- Exports link from page
+Domain Union
+\item {\bf dbSpecialOperations} -- Operations link from page
+Domain Mapping
+\item {\bf dbSpecialOperations} -- Operations link from page
+Domain Record
+\item {\bf dbSpecialOperations} -- Operations link from page
+Domain Union
+\item {\bf dbSpecialOperations} -- Operations link from page
+Domain Untagged Union
+\item {\bf dSearch} -- domains link from page
+Axiom Browser
+\item {\bf detailSearch} -- domains link from page
+Axiom Browser
+\item {\bf docSearch} -- Documentation link from page
+Axiom Browser
+\item {\bf genSearch} -- Complete link from page
+Axiom Browser
+\item {\bf htGloss} -- Search link from page
+Glossary
+\item {\bf HTSEARCH} -- Reference link from page
+Axiom Browser
+\item {\bf htsv} -- System Variables link from page
+Axiom Reference
+\item {\bf htSystemVariables} -- Settings link from page
+System Commands
+\item {\bf issueHT} -- Definition link from page
+HTXLinkPage4xPatch2
+\item {\bf kSearch} -- Constructors link from page
+Axiom Browser
+\item {\bf kSearch} -- Browser pages for individual routines 
+link from page htxl
+\item {\bf kSearch} -- C02 Zeros of Polynomials link from page
+c02
+\item {\bf kSearch} -- Browse link from page
+c05 Roots of One or More Transcendental Equations
+\item {\bf kSearch} -- Browse link from page
+c06 Summation of Series
+\item {\bf kSearch} -- Browse link from page
+d01 Quadrature
+\item {\bf kSearch} -- Browse link from page
+d02 Ordinary Differential Equations
+\item {\bf kSearch} -- Browse link from page
+d03 Partial Differential Equations
+\item {\bf kSearch} -- Browse link from page
+e01 Interpolation
+\item {\bf kSearch} -- Browse link from page
+e02 Curve and Surface Fitting
+\item {\bf kSearch} -- Browse link from page
+e04 Minimizing or Maximizing a Function
+\item {\bf kSearch} -- Browse link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf kSearch} -- Browse link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf kSearch} -- Browse link from page
+F04 Simultaneous Linear Equations
+\item {\bf linkToHTPage} -- Interpret link from page
+HTXLinkPage4xPatch3
+\item {\bf oSearch} -- Operations link from page
+Axiom Browser
+\item {\bf pSearch} -- packages link from page
+Axiom Browser
+\item {\bf startHTPage}-- Interpret link from page
+HTXLinkPage4xPatch4
+\end{itemize}
+\begin{itemize}
+\item {\bf c02aff} -- C02AFF link from page
+C02 Zeros of Polynomials
+\item {\bf c02agf} -- C02AGF link from page
+C02 Zeros of Polynomials
+\end{itemize}
+\begin{itemize}
+\item {\bf c05adf} -- C05ADF link from page
+C05 Roots of One or More Transcendental Equations
+\item {\bf c05ndf} -- C05NDF link from page
+C05 Roots of One or More Transcendental Equations
+\item {\bf c05pbf} -- C05PBF link from page
+C05 Roots of One or More Transcendental Equations
+\end{itemize}
+\begin{itemize}
+\item {\bf c06eaf} -- C06EAF link from page
+C06 Summation of Series
+\item {\bf c06ebf} -- C06EBF link from page
+C06 Summation of Series
+\item {\bf c06ecf} -- C06ECF link from page
+C06 Summation of Series
+\item {\bf c06ekf} -- C06EKF link from page
+C06 Summation of Series
+\item {\bf c06fpf} -- C06FPF link from page
+C06 Summation of Series
+\item {\bf c06fqf} -- C06FQF link from page
+C06 Summation of Series
+\item {\bf c06frf} -- C06FRF link from page
+C06 Summation of Series
+\item {\bf c06fuf} -- C06FUF link from page
+C06 Summation of Series
+\item {\bf c06gbf} -- C06GBF link from page
+C06 Summation of Series
+\item {\bf c06gcf} -- C06GCF link from page
+C06 Summation of Series
+\item {\bf c06gqf} -- C06GQF link from page
+C06 Summation of Series
+\item {\bf c06gsf} -- C06GSF link from page
+C06 Summation of Series
+\end{itemize}
+\begin{itemize}
+\item {\bf d01ajf} -- D01AJF link from page
+D01 Quadrature
+\item {\bf d01akf} -- D01AKF link from page
+D01 Quadrature
+\item {\bf d01alf} -- D01ALF link from page
+D01 Quadrature
+\item {\bf d01amf} -- D01AMF link from page
+D01 Quadrature
+\item {\bf d01anf} -- D01ANF link from page
+D01 Quadrature
+\item {\bf d01apf} -- D01APF link from page
+D01 Quadrature
+\item {\bf d01aqf} -- D01AQF link from page
+D01 Quadrature
+\item {\bf d01asf} -- D01ASF link from page
+D01 Quadrature
+\item {\bf d01bbf} -- D01BBF link from page
+D01 Quadrature
+\item {\bf d01fcf} -- D01FCF link from page
+D01 Quadrature
+\item {\bf d01gaf} -- D01GAF link from page
+D01 Quadrature
+\item {\bf d01gbf} -- D01GBF link from page
+D01 Quadrature
+\end{itemize}
+\begin{itemize}
+\item {\bf d02bbf} -- D02BBF link from page
+D02 Ordinary Differential Equations
+\item {\bf d02bhf} -- D02BHF link from page
+D02 Ordinary Differential Equations
+\item {\bf d02cjf} -- D02CJF link from page
+D02 Ordinary Differential Equations
+\item {\bf d02ejf} -- D02EJF link from page
+D02 Ordinary Differential Equations
+\item {\bf d02gaf} -- D02GAF link from page
+D02 Ordinary Differential Equations
+\item {\bf d02gbf} -- D02GBF link from page
+D02 Ordinary Differential Equations
+\item {\bf d02kef} -- D02KEF link from page
+D02 Ordinary Differential Equations
+\item {\bf d02raf} -- D02RAF link from page
+D02 Ordinary Differential Equations
+\end{itemize}
+\begin{itemize}
+\item {\bf d03edf} -- D03EDF link from page
+D03 Partial Differential Equations
+\item {\bf d03eef} -- D03EEF link from page
+D03 Partial Differential Equations
+\item {\bf d03faf} -- D03FAF link from page
+D03 Partial Differential Equations
+\end{itemize}
+\begin{itemize}
+\item {\bf e01baf} -- E01BAF link from page
+E01 Interpolation
+\item {\bf e01bef} -- E01BEF link from page
+E01 Interpolation
+\item {\bf e01bff} -- E01BFF link from page
+E01 Interpolation
+\item {\bf e01bgf} -- E01BGF link from page
+E01 Interpolation
+\item {\bf e01bhf} -- E01BHF link from page
+E01 Interpolation
+\item {\bf e01daf} -- E01DAF link from page
+E01 Interpolation
+\item {\bf e01saf} -- E01SAF link from page
+E01 Interpolation
+\item {\bf e01sef} -- E01SEF link from page
+E01 Interpolation
+\end{itemize}
+\begin{itemize}
+\item {\bf e02adf} -- E02ADF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02aef} -- E02AEF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02agf} -- E02AGF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02ahf} -- E02AHF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02ajf} -- E02AJF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02akf} -- E02AKF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02baf} -- E02BAF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02bbf} -- E02BBF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02bcf} -- E02BCF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02bdf} -- E02BDF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02bef} -- E02BEF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02daf} -- E02DAF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02dcf} -- E02DCF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02ddf} -- E02DDF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02def} -- E02DEF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02dff} -- E02DFF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02gaf} -- E02GAF link from page
+E02 Curve and Surface Fitting
+\item {\bf e02zaf} -- E02ZAF link from page
+E02 Curve and Surface Fitting
+\end{itemize}
+\begin{itemize}
+\item {\bf e04dgf} -- E04DGF link from page
+E04 Minimizing or Maximizing a Function
+\item {\bf e04fdf} -- E04FDF link from page
+E04 Minimizing or Maximizing a Function
+\item {\bf e04gcf} -- E04GCF link from page
+E04 Minimizing or Maximizing a Function
+\item {\bf e04jaf} -- E04JAF link from page
+E04 Minimizing or Maximizing a Function
+\item {\bf e04mbf} -- E04MBF link from page
+E04 Minimizing or Maximizing a Function
+\item {\bf e04naf} -- E04NAF link from page
+E04 Minimizing or Maximizing a Function
+\item {\bf e04ucf} -- E04UCF link from page
+E04 Minimizing or Maximizing a Function
+\item {\bf e04ycf} -- E04YCF link from page
+E04 Minimizing or Maximizing a Function
+\end{itemize}
+\begin{itemize}
+\item {\bf f01brf} -- F01BRF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01bsf} -- F01BSF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01maf} -- F01MAF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01mcf} -- F01MCF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01qcf} -- F01QCF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01qdf} -- F01QDF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01qef} -- F01QEF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01rcf} -- F01RCF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01rdf} -- F01RDF link from page
+F01 Matrix Operations - Including Inversion
+\item {\bf f01ref} -- F01REF link from page
+F01 Matrix Operations - Including Inversion
+\end{itemize}
+\begin{itemize}
+\item {\bf f02aaf} -- F02AAF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02abf} -- F02ABF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02adf} -- F02ADF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02aef} -- F02AEF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02aff} -- F02AFF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02agf} -- F02AGF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02ajf} -- F02AJF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02akf} -- F02AKF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02awf} -- F02AWF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02axf} -- F02AXF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02bbf} -- F02BBF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02bjf} -- F02BJF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02fjf} -- F02FJF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02wef} -- F02WEF link from page
+F02 Eigenvalues and Eigenvectors
+\item {\bf f02xef} -- F02XEF link from page
+F02 Eigenvalues and Eigenvectors
+\end{itemize}
+\begin{itemize}
+\item {\bf f04adf} -- F04ADF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04arf} -- F04ARF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04asf} -- F04ASF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04atf} -- F04ATF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04axf} -- F04AXF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04faf} -- F04FAF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04jgf} -- F04JGF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04maf} -- F04MAF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04mbf} -- F04MBF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04mcf} -- F04MCF link from page
+F04 Simultaneous Linear Equations
+\item {\bf f04qaf} -- F04QAF link from page
+F04 Simultaneous Linear Equations
+\end{itemize}
+\begin{itemize}
+\item {\bf f07adf} -- F07ADF link from page
+F07 Linear Equations (LAPACK)
+\item {\bf f07aef} -- F07AEF link from page
+F07 Linear Equations (LAPACK)
+\item {\bf f07fdf} -- F07FDF link from page
+F07 Linear Equations (LAPACK)
+\item {\bf f07fef} -- F07FEF link from page
+F07 Linear Equations (LAPACK)
+\end{itemize}
+\begin{itemize}
+\item {\bf s01eaf} -- S01EAF link from page
+S -- Approximations of Special Functions
+\item {\bf s13aaf} -- S13AAF link from page
+S -- Approximations of Special Functions
+\item {\bf s13acf} -- S13ACF link from page
+S -- Approximations of Special Functions
+\item {\bf s13adf} -- S13ADF link from page
+S -- Approximations of Special Functions
+\item {\bf s14aaf} -- S14AAF link from page
+S -- Approximations of Special Functions
+\item {\bf s14abf} -- S14ABF link from page
+S -- Approximations of Special Functions
+\item {\bf s14baf} -- S14BAF link from page
+S -- Approximations of Special Functions
+\item {\bf s15adf} -- S15ADF link from page
+S -- Approximations of Special Functions
+\item {\bf s15aef} -- S15AEF link from page
+S -- Approximations of Special Functions
+\item {\bf s17acf} -- S17ACF link from page
+S -- Approximations of Special Functions
+\item {\bf s17adf} -- S17ADF link from page
+S -- Approximations of Special Functions
+\item {\bf s17aef} -- S17AEF link from page
+S -- Approximations of Special Functions
+\item {\bf s17aff} -- S17AFF link from page
+S -- Approximations of Special Functions
+\item {\bf s17agf} -- S17AGF link from page
+S -- Approximations of Special Functions
+\item {\bf s17ahf} -- S17AHF link from page
+S -- Approximations of Special Functions
+\item {\bf s17ajf} -- S17AJF link from page
+S -- Approximations of Special Functions
+\item {\bf s17akf} -- S17AKF link from page
+S -- Approximations of Special Functions
+\item {\bf s17dcf} -- S17DCF link from page
+S -- Approximations of Special Functions
+\item {\bf s17def} -- S17DEF link from page
+S -- Approximations of Special Functions
+\item {\bf s17dgf} -- S17DGF link from page
+S -- Approximations of Special Functions
+\item {\bf s17dhf} -- S17DHF link from page
+S -- Approximations of Special Functions
+\item {\bf s17dlf} -- S17DLF link from page
+S -- Approximations of Special Functions
+\item {\bf s18acf} -- S18ACF link from page
+S -- Approximations of Special Functions
+\item {\bf s18adf} -- S18ADF link from page
+S -- Approximations of Special Functions
+\item {\bf s18aef} -- S18AEF link from page
+S -- Approximations of Special Functions
+\item {\bf s18aff} -- S18AFF link from page
+S -- Approximations of Special Functions
+\item {\bf s18dcf} -- S18DCF link from page
+S -- Approximations of Special Functions
+\item {\bf s18def} -- S18DEF link from page
+S -- Approximations of Special Functions
+\item {\bf s19aaf} -- S19AAF link from page
+S -- Approximations of Special Functions
+\item {\bf s19abf} -- S19ABF link from page
+S -- Approximations of Special Functions
+\item {\bf s19acf} -- S19ACF link from page
+S -- Approximations of Special Functions
+\item {\bf s19adf} -- S19ADF link from page
+S -- Approximations of Special Functions
+\item {\bf s20acf} -- S20ACF link from page
+S -- Approximations of Special Functions
+\item {\bf s20adf} -- S20ADF link from page
+S -- Approximations of Special Functions
+\item {\bf s21baf} -- S21BAF link from page
+S -- Approximations of Special Functions
+\item {\bf s21bbf} -- S21BBF link from page
+S -- Approximations of Special Functions
+\item {\bf s21bcf} -- S21BCF link from page
+S -- Approximations of Special Functions
+\item {\bf s21bdf} -- S21BDF link from page
+S -- Approximations of Special Functions
+
+\end{itemize}
+
 \pagehead{Man0Page}{man0.ht}{Axiom Browser}
 \pagepic{ps/v71man0page.eps}{man0page}
 \pagefrom{Root Page}{RootPage}
 \pageto{Commands}{ugSysCmdPage}
+\pageto{Constructors}{LispFunctions}
 <<man0.ht>>=
 \begin{page}{Man0Page}{A x i o m \   B r o w s e r}
 
@@ -14564,6 +15292,8 @@ is not accepted).
 @
 \section{mapping.ht}
 \pagehead{DomainMapping}{mapping.ht}{Domain {\bf Mapping(T,S,...)}}
+\pageto{Description}{LispFunctions}
+\pageto{Operations}{LispFunctions}
 <<mapping.ht>>=
 \begin{page}{DomainMapping}{Domain {\em Mapping(T,S,...)}}
 \beginscroll
@@ -17733,6 +18463,8 @@ sqrt(22+2*s5)-sqrt(11+2*s29)+s5 \free{s29}\free{s5}\bound{dst4}}
 @
 \section{record.ht}
 \pagehead{DomainRecord}{record.ht}{Domain {\bf Record(a:A,...,b:B)}}
+\pageto{Description}{LispFunctions}
+\pageto{Operations}{LispFunctions}
 <<record.ht>>=
 \begin{page}{DomainRecord}{Domain {\em Record(a:A,...,b:B)}}
 \beginscroll
@@ -19954,6 +20686,9 @@ and \spadtype{Aggregate}, the category of all data structures.
 @
 \section{union.ht}
 \pagehead{DomainUnion}{union.ht}{Domain {\bf Union(a:A,...,b:B)}}
+\pageto{Description}{LispFunctions}
+\pageto{Operations}{LispFunctions}
+\pageto{Exports}{LispFunctions}
 <<union.ht>>=
 \begin{page}{DomainUnion}{Domain {\em Union(a:A,...,b:B)}}
 \beginscroll
@@ -19974,7 +20709,7 @@ This constructor is a primitive in Axiom.
 {(|dbSpecialOperations| '|Union|)}
 \tab{15}All exported operations of \spad{Union(a:A,b:B)}
 %\item\menudownlink{Examples}   {UnionExamples}   
-\tab{15}Examples illustrating use
+%\tab{15}Examples illustrating use
 \item\menulispdownlink{Exports}{(|dbSpecialExports| '|Union|)}
 \tab{15}Explicit categories and operations
 \endmenu
@@ -20017,6 +20752,8 @@ defined in the Axiom language.
 
 @
 \pagehead{UntaggedUnion}{union.ht}{Domain {\bf Union(A,...,B)}}
+\pageto{Description}{LispFunctions}
+\pageto{Operations}{LispFunctions}
 <<union.ht>>=
 \begin{page}{UntaggedUnion}{Domain {\em Union(A,...,B)}}
 \beginscroll
@@ -20035,9 +20772,9 @@ defined in the Axiom language.
 {(|dbSpecialOperations| '|UntaggedUnion|)}
 \tab{15}All exported operations of \spad{Union(A,B)}
 %\item\menudownlink{Examples}   {UTUnionExamples}   
-\tab{15}Examples illustrating use
+%\tab{15}Examples illustrating use
 %\item\menudownlink{Exports}    {UTUnionExports}    
-\tab{15}Explicit categories and operations
+%\tab{15}Explicit categories and operations
 \endmenu
 \vspace{1}\newline
 In this untagged form of \spad{Union}, domains \spad{A,...,B} 
@@ -53895,6 +54632,7 @@ allowed here.  You should also specify just the top level type.
 @
 \subsection{HTXLinkPage4xPatch2 patch}
 \label{HTXLinkPage4xPatch2}
+\pageto{Definition}{LispFunctions}
 \index{patch!HTXLinkPage4xPatch2!htxlinkpage4.ht}
 \index{htxlinkpage4.ht!patch!HTXLinkPage4xPatch2}
 \index{HTXLinkPage4xPatch2!htxlinkpage4.ht!patch}
@@ -116690,6 +117428,8 @@ D02KEF(3NAG)                 D02KEF                  D02KEF(3NAG)
 \pagehead{UXANNAInt}{annex.ht}{Integration}
 <<annaex.ht>>=
 \begin{page}{UXANNAInt}{Integration}
+\pageto{Integration}{LispFunctions}
+\pageto{Multiple Integration}{LispFunctions}
 Welcome to the Integration section of {\tt
 \inputbitmap{\htbmdir{}/anna.xbm.tiny}}, the {\em Axiom/NAG Expert
 System}.  This system chooses, and uses, NAG numerical routines.
@@ -116717,6 +117457,7 @@ on the choice of method.
 
 @
 \pagehead{UXANNAOde}{annaex.ht}{Ordinary Differential Equations}
+\pageto{Ordinary Differential Equations}{LispFunctions}
 <<annaex.ht>>=
 \begin{page}{UXANNAOde}{Ordinary Differential Equations}
 Welcome to the Ordinary Differential Equations section of {\tt
@@ -116745,6 +117486,8 @@ the effect on the choice of method.
 
 @
 \pagehead{UXANNAOpt}{annaex.ht}{Optimization}
+\pageto{Optimization of a set of observations of a data set}
+{LispFunctions}
 <<annaex.ht>>=
 \begin{page}{UXANNAOpt}{Optimization}
 Welcome to the Optimization section of {\tt
@@ -116787,6 +117530,8 @@ Examples of optimization problems with various constraint features.
 
 @
 \pagehead{UXANNAPde}{annaex.ht}{Partial Differential Equations}
+\pageto{Second Order Elliptic Partial Differential Equation}
+{LispFunctions}
 <<annaex.ht>>=
 \begin{page}{UXANNAPde}{Partial Differential Equations}
 Welcome to the Partial Differential Equations section of {\tt
@@ -116807,7 +117552,7 @@ and solving the resulting
 seven-diagonal finite difference equations using a multigrid technique.
 \blankline
 %\menulispdownlink{Helmholtz Equation in 3-D, Cartesian Coordinates}
-{(|d03fafVars|)}
+%{(|d03fafVars|)}
 %\newline
 %\indent{4} Descretizing the PDE:
 %\newline
@@ -116825,6 +117570,11 @@ seven-diagonal finite difference equations using a multigrid technique.
 {Examples Using the Axiom/NAG Expert System}
 <<annaex.ht>>=
 \begin{page}{UXANNAOptEx}{Examples Using the Axiom/NAG Expert System}
+\pageto{Example 1}{LispFunctions}
+\pageto{Example 2}{LispFunctions}
+\pageto{Example 3}{LispFunctions}
+\pageto{Example 4}{LispFunctions}
+\pageto{Example 5}{LispFunctions}
 \begin{scroll}
 Select any of these examples and you will be presented with a page which
 contains active areas for the function and its parameters.
@@ -116879,6 +117629,7 @@ default parameters by the new values.
 @
 \pagehead{UXANNAOpt2Ex}{annaex.ht}
 {Examples Using the Axiom/NAG Expert System}
+\pageto{Example 1}{LispFunctions}
 <<annaex.ht>>=
 \begin{page}{UXANNAOpt2Ex}{Examples Using the Axiom/NAG Expert System}
 \begin{scroll}
@@ -116906,6 +117657,18 @@ minimization of the following functions:
 @
 \pagehead{UXANNAIntEx}{annaex.ht}
 {Examples Using the Axiom/NAG Expert System}
+\pageto{Example 1}{LispFunctions}
+\pageto{Example 2}{LispFunctions}
+\pageto{Example 3}{LispFunctions}
+\pageto{Example 4}{LispFunctions}
+\pageto{Example 5}{LispFunctions}
+\pageto{Example 6}{LispFunctions}
+\pageto{Example 7}{LispFunctions}
+\pageto{Example 8}{LispFunctions}
+\pageto{Example 9}{LispFunctions}
+\pageto{Example 10}{LispFunctions}
+\pageto{Example 11}{LispFunctions}
+\pageto{Example 12}{LispFunctions}
 <<annaex.ht>>=
 \begin{page}{UXANNAIntEx}{Examples Using the Axiom/NAG Expert System}
 \begin{scroll}
@@ -116960,6 +117723,8 @@ effect of the new parameters on the choice of method.
 @
 \pagehead{UXANNAOdeEx}{annaex.ht}
 {Examples Using the Axiom/NAG Expert System}
+\pageto{annaOdeDefaultSolve1}{LispFunctions}
+\pageto{annaOdeDefaultSolve2}{LispFunctions}
 <<annaex.ht>>=
 \begin{page}{UXANNAOdeEx}{Examples Using the Axiom/NAG Expert System}
 \begin{scroll}
diff --git a/changelog b/changelog
index 9a475ea..7d6a881 100644
--- a/changelog
+++ b/changelog
@@ -1,7 +1,8 @@
+20080724 tpd books/bookvol7.1 add LispFunctions page
 20080722 tpd (July 2008) release
-20080721 tpd books/bookvol7.1.pamphlet docs/corrections/updates
+20080721 tpd books/bookvol7.1 docs/corrections/updates
 20080720 tpd books/Makefile add bookvol7.1 to combined table of contents
-20080720 tpd books/bookvol7.1.pamphlet docs/corrections/updates
+20080720 tpd books/bookvol7.1 docs/corrections/updates
 20080720 tpd books/ps/v71topics.eps -> books/ps/v71topicpage.eps
 20080720 tpd books/ps/v71youtriedit.eps added
 20080720 tpd books/ps/v71topreferencepage.eps updated
@@ -13,7 +14,7 @@
 20080720 tpd books/ps/v71glossary.eps added
 20080720 tpd books/ps/v71foundationlibrarydocpage.eps added
 20080720 tpd books/ps/v71examplesexposedpage.eps added
-20080719 tpd books/bookvol7.1.pamphlet docs/corrections/updates
+20080719 tpd books/bookvol7.1 docs/corrections/updates
 20080719 tpd books/ps/v71algebrapage.eps
 20080719 tpd books/ps/v71calculus.eps added
 20080719 tpd books/ps/v71calculuspage.eps added
@@ -23,7 +24,7 @@
 20080719 tpd books/ps/v71linalgpage.eps added
 20080719 tpd books/ps/v71numberpage.eps added
 20080719 tpd books/ps/v71polynomialpage.eps added
-20080718 tpd books/bookvol7.1.pamphlet additional docs/corrections/updates
+20080718 tpd books/bookvol7.1 additional docs/corrections/updates
 20080718 tpd books/ps/v71basiccommand.eps added
 20080718 tpd books/ps/v71man0page.eps added
 20080718 tpd books/ps/v71releasenotes.eps added
@@ -35,10 +36,10 @@
 20080718 tpd books/ps/v71topsettingspage.eps added
 20080717 tpd src/graph removed
 20080717 tpd src/graph/include/* removed
-20080717 tpd src/graph/Makefile.pamphlet removed
-20080717 tpd books/bookvol7.pamphlet fix IN Makefile var
-20080716 tpd books/bookvol7.1.pamphlet get files from books dir
-20080716 tpd books/bookvol7.pamphlet get files from books dir
+20080717 tpd src/graph/Makefile removed
+20080717 tpd books/bookvol7 fix IN Makefile var
+20080716 tpd books/bookvol7.1 get files from books dir
+20080716 tpd books/bookvol7 get files from books dir
 20080716 tpd src/hyper directory deleted
 20080716 tpd src/hyper/bigbayou.png moved to  books/ps/bigbayou.png
 20080716 tpd src/hyper/doctitle.png moved to books/ps/doctitle.png
@@ -442,24 +443,24 @@
 20080601 tpd books/bookvol8 document APIs, formats, environment
 20080531 tpd src/Makefile handle books subdir
 20080531 tpd src/doc/Makefile remove bookvol*
-20080531 tpd books/Makefile.pamphlet added
+20080531 tpd books/Makefile added
 20080531 tpd books/axiom.sty removed
 20080531 tpd books/Makefile removed
 20080530 tpd books/Makefile
 20080530 tpd books/axiom.sty
-20080530 tpd books/bookvol0.pamphlet
-20080530 tpd books/bookvol1.pamphlet
-20080530 tpd books/bookvol10.pamphlet
-20080530 tpd books/bookvol11.pamphlet
-20080530 tpd books/bookvol12.pamphlet
-20080530 tpd books/bookvol2.pamphlet
-20080530 tpd books/bookvol3.pamphlet
-20080530 tpd books/bookvol4.pamphlet
-20080530 tpd books/bookvol5.pamphlet
-20080530 tpd books/bookvol6.pamphlet
-20080530 tpd books/bookvol7.pamphlet
-20080530 tpd books/bookvol8.pamphlet
-20080530 tpd books/bookvol9.pamphlet
+20080530 tpd books/bookvol0
+20080530 tpd books/bookvol1
+20080530 tpd books/bookvol10
+20080530 tpd books/bookvol11
+20080530 tpd books/bookvol12
+20080530 tpd books/bookvol2
+20080530 tpd books/bookvol3
+20080530 tpd books/bookvol4
+20080530 tpd books/bookvol5
+20080530 tpd books/bookvol6
+20080530 tpd books/bookvol7
+20080530 tpd books/bookvol8
+20080530 tpd books/bookvol9
 20080530 tpd books/ps/23dcola.ps
 20080530 tpd books/ps/23dcolb.ps
 20080530 tpd books/ps/23dpal.ps

\start
Date: Fri, 25 Jul 2008 02:01:27 -0500
From: Tim Daly
To: list
Subject: new binaries available

Binaries for the July 2008 release of Axiom for
redhat72, redhat9, ubuntu, and fedora5 are available at:
<http://axiom-developer.org/axiom-website/download.html>

\start
Date: Fri, 25 Jul 2008 18:30:54 -0500
From: Tim Daly
To: list
Subject: 20080725.01.tpd.patch (reflow for line latex overflows)

The verbatim block causes line overflows due to the use of capitals.
This was changed in all 14 documents.

=======================================================================
diff --git a/books/bookvol0.pamphlet b/books/bookvol0.pamphlet
index 4e56328..68278a6 100644
--- a/books/bookvol0.pamphlet
+++ b/books/bookvol0.pamphlet
@@ -67659,43 +67659,52 @@ Each interactive {\it frame} has its own workspace.
 \eject
 \setcounter{chapter}{7} % Appendix H
 \chapter{License}
-
 \begin{verbatim}
-Portions of this document are Copyright by their respective authors.
-All rights reserved by the authors. Used by permission.
+Portions Copyright (c) 2005 Timothy Daly
 
-Cover art ``Blue Bayou'' Copyright (2004) Jocelyn Guidry 
+The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
-Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-All rights reserved.
-Text for this document is released under the license:
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
+Portions Copyright (c) 2004 Martin Dunstan
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
+All rights reserved.
 
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
+This book and the Axiom software is licensed as follows:
 
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
+met:
 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 \end{verbatim}
 
 \eject
@@ -67718,3 +67727,4 @@ Springer-Verlag, New York, NY 1992 ISBN 0-387-97855-0
 \end{thebibliography}
 \printindex
 \end{document}
+>
\ No newline at end of file
diff --git a/books/bookvol1.pamphlet b/books/bookvol1.pamphlet
index 34f6ff8..0447517 100644
--- a/books/bookvol1.pamphlet
+++ b/books/bookvol1.pamphlet
@@ -130,39 +130,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 \end{verbatim}
 
 Inclusion of names in the list of credits is based on historical
diff --git a/books/bookvol10.pamphlet b/books/bookvol10.pamphlet
index bf3b0c4..5cc8067 100644
--- a/books/bookvol10.pamphlet
+++ b/books/bookvol10.pamphlet
@@ -131,38 +131,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol11.pamphlet b/books/bookvol11.pamphlet
index 8e552df..babf7bd 100644
--- a/books/bookvol11.pamphlet
+++ b/books/bookvol11.pamphlet
@@ -27,37 +27,53 @@ $$
 \end{titlepage}
 \pagenumbering{roman}
 \begin{verbatim}
-Portions Copyright (c) 2007 Timothy Daly
 Portions Copyright (c) 2007 Alfredo Portes
 Portions Copyright (c) 2007 Arthur Ralfs
+Portions Copyright (c) 2005 Timothy Daly
 
 The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
-This book is licensed as follows:
+Portions Copyright (c) 2004 Martin Dunstan
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
+All rights reserved.
+
+This book and the Axiom software is licensed as follows:
+
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol12.pamphlet b/books/bookvol12.pamphlet
index 3b75fb7..5fed721 100644
--- a/books/bookvol12.pamphlet
+++ b/books/bookvol12.pamphlet
@@ -130,38 +130,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol2.pamphlet b/books/bookvol2.pamphlet
index 5cc5820..d48a597 100644
--- a/books/bookvol2.pamphlet
+++ b/books/bookvol2.pamphlet
@@ -130,38 +130,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol3.pamphlet b/books/bookvol3.pamphlet
index cf709e7..d8bbdff 100644
--- a/books/bookvol3.pamphlet
+++ b/books/bookvol3.pamphlet
@@ -130,38 +130,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol4.pamphlet b/books/bookvol4.pamphlet
index 61b7321..e02268a 100644
--- a/books/bookvol4.pamphlet
+++ b/books/bookvol4.pamphlet
@@ -130,38 +130,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 4d56731..4414f64 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -36,42 +36,51 @@ $$
 \end{titlepage}
 \pagenumbering{roman}
 \begin{verbatim}
+Portions Copyright (c) 2005 Timothy Daly
+
 The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 \tableofcontents
diff --git a/books/bookvol6.pamphlet b/books/bookvol6.pamphlet
index 9ac5576..11c966e 100644
--- a/books/bookvol6.pamphlet
+++ b/books/bookvol6.pamphlet
@@ -25,50 +25,54 @@ $$
 \center{\large{VOLUME 6: AXIOM COMMAND}}
 \end{titlepage}
 \pagenumbering{roman}
-
+\begin{verbatim}
 Portions Copyright (c) 2005 Timothy Daly
 
 The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group 
-Ltd. All rights reserved.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
+All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
 Redistribution and use in source and binary forms, with or 
 without modification, are permitted provided that the following 
-conditions are met:
-\begin{itemize}
-\item Redistributions of source code must retain the above 
-      copyright notice, this list of conditions and the following 
-      disclaimer.
-
-\item Redistributions in binary form must reproduce the above 
-      copyright notice, this list of conditions and the following 
-      disclaimer in the documentation and/or other materials 
-      provided with the distribution.
-
-\item Neither the name of The Numerical ALgorithms Group Ltd. nor 
-      the names of its contributors may be used to endorse or promote 
-      products derived from this software without specific prior 
-      written permission.
-\end{itemize}
+conditions are
+met:
+
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
 
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
 CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-POSSIBILITY OF SUCH DAMAGE.
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
+
+\end{verbatim}
 
 Inclusion of names in the list of credits is based on historical
 information and is as accurate as possible. Inclusion of names
diff --git a/books/bookvol7.pamphlet b/books/bookvol7.pamphlet
index 3aca5c8..82a3d03 100644
--- a/books/bookvol7.pamphlet
+++ b/books/bookvol7.pamphlet
@@ -33,38 +33,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol8.pamphlet b/books/bookvol8.pamphlet
index 50acd0b..1deb0ea 100644
--- a/books/bookvol8.pamphlet
+++ b/books/bookvol8.pamphlet
@@ -33,38 +33,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet
index e9ab535..5daa933 100644
--- a/books/bookvol9.pamphlet
+++ b/books/bookvol9.pamphlet
@@ -130,38 +130,45 @@ The Blue Bayou image Copyright (c) 2004 Jocelyn Guidry
 
 Portions Copyright (c) 2004 Martin Dunstan
 
-Portions Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+Portions Copyright (c) 1991-2002, 
+The Numerical ALgorithms Group Ltd.
 All rights reserved.
 
 This book and the Axiom software is licensed as follows:
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
+Redistribution and use in source and binary forms, with or 
+without modification, are permitted provided that the following 
+conditions are
 met:
 
-    - Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    - Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in
-      the documentation and/or other materials provided with the
-      distribution.
-
-    - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    - Redistributions of source code must retain the above 
+      copyright notice, this list of conditions and the 
+      following disclaimer.
+
+    - Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the 
+      following disclaimer in the documentation and/or other 
+      materials provided with the distribution.
+
+    - Neither the name of The Numerical ALgorithms Group Ltd. 
+      nor the names of its contributors may be used to endorse 
+      or promote products derived from this software without 
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+SUCH DAMAGE.
 
 \end{verbatim}
 
diff --git a/changelog b/changelog
index 7d6a881..6ab41bf 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,17 @@
+20080725 tpd books/bookvol0 fix copyright latex line overflows
+20080725 tpd books/bookvol1 fix copyright latex line overflows
+20080725 tpd books/bookvol2 fix copyright latex line overflows
+20080725 tpd books/bookvol3 fix copyright latex line overflows
+20080725 tpd books/bookvol4 fix copyright latex line overflows
+20080725 tpd books/bookvol5 fix copyright latex line overflows
+20080725 tpd books/bookvol6 fix copyright latex line overflows
+20080725 tpd books/bookvol7 fix copyright latex line overflows
+20080725 tpd books/bookvol7.1 fix copyright latex line overflows
+20080725 tpd books/bookvol8 fix copyright latex line overflows
+20080725 tpd books/bookvol9 fix copyright latex line overflows
+20080725 tpd books/bookvol10 fix copyright latex line overflows
+20080725 tpd books/bookvol11 fix copyright latex line overflows
+20080725 tpd books/bookvol12 fix copyright latex line overflows
 20080724 tpd books/bookvol7.1 add LispFunctions page
 20080722 tpd (July 2008) release
 20080721 tpd books/bookvol7.1 docs/corrections/updates

\start
Date: Fri, 25 Jul 2008 18:36:10 -0500
From: Tim Daly
To: list
Subject: binaries

The opensuse and fedora6 binaries are available.

\start
Date: Sat, 26 Jul 2008 13:51:24 -0500
From: Tim Daly
To: list
Subject: binaries

fedora8 and fedora9 binaries are available -- Tim

\start
Date: Sun, 27 Jul 2008 02:03:12 -0400
From: Bill Page
To: Alfredo Portes
Subject: Re: RISC

Alfredo,

On Sat, Jul 26, 2008 at 10:43 PM, you wrote:
> Hi Bill,
>
> For those no so fortune to be able to travel to Europe
> ( I cannot even travel in the states :-),
> is there gonna be a summary some where of what it
> was discussed ? or at least interesting news :)
>
> Maybe a video...:p...yeah I know I am asking for too much.
>
> Thank you,
>

I am quite sorry that you and some of the other Axiom and Aldor
developers and users were not able to come to the meeting. I am sure
you could have provided valuable input to the discussion. Notably
absent also was Tim Daly, especially since the main developers of the
two other other Axiom-related projects were there (Gaby, and Waldek).

Here is a fairly accurate updated schedule of the workshop prepared by
the organizer of the workshop Ralf Hemmecke:

http://portal.risc.uni-linz.ac.at/Members/hemmecke/aldoraxiom2008

I think that overall the organization of the workshop was very good -
much thanks to Ralf! And in spite of often being arranged at the "last
minute", the talks and discussions actually fit together into a quite
coherently whole. But sorry, there was no video or audio recording.
:-( In my opinion this is something that we need to try harder to do
in the future.

One very good thing that was done this year for the first time was to
combine both the Aldor and Axiom workshops into one. This meant that
Stephen Watt and a few other people were present specifically because
of Aldor and vice-versa. This was good for two reasons: Stephen of
course was deeply involved in the development of ScratchPad before it
became Axiom and the main developer of Aldor so he was able to offer a
lot of important background on both projects.

Secondly I think it helped strengthen the argument that Aldor should
have a more open open-source license because of the amount of
development work occurring in the Axiom forks in comparison to Aldor.
At the main ISSAC meeting which occurred just before the workshop
William Stein, the main developer of Sage, emphasized exactly the same
issue.

Besides many technical discussions on language design, comparing
developments in SPAD  (especially in OpenAxiom) and Aldor, there was
at least some small progress towards a more open license. One reason
for this is the work being done by Ralf Hemmecke and Peter Broadbery
on the Aldor-Axiom interface. There a few runtime-related files in the
Aldor distribution that are required to build the interface and
everyone agrees that it would be a good thing to be able to distribute
and build the Aldor-Axiom interface without having to include the
Aldor sources and it's license. More information about that will
follow in a few weeks I hope.

For me one of the most surprising and exciting developments in the
last year was that an entirely new and very active Aldor developer has
appeared thanks mainly due to the ubiquity of the Internet and the
still rapidly growing open source culture. Pippijn van Steenhoven
discussed his work on the internals of the Aldor compiler using
"state-of-the-art" tools and methods that are common in other open
source projects, such as valgrind and other profiling tools. As a
result of this work Pippijn has already been able to isolate and fix
some important causes of segfaults that plague the Aldor compiler. You
can both see (and use!) the results of his work here:

http://xinutec.org/~pippijn/en/projects_aldor.xhtml

Please ask more questions. It seems a bit hard for me, although it is
still current, to really summarize the results of the workshop. As
time permits, I will try to add more in follow-up comments. I hope
some of the other people who were there will also offer their
perspectives and comments here.

\start
Date: Sun, 27 Jul 2008 14:28:02 -0500
From: Tim Daly
To: list
Subject: 20080727.01.tpd.patch (update What's New pages)

Update the What's New pages in Hyperdoc, including new images.

=======================================================================
diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet
index 9b7426b..e1a9dca 100644
--- a/books/bookvol7.1.pamphlet
+++ b/books/bookvol7.1.pamphlet
@@ -233,6 +233,7 @@ November 10, 2003 ((iHy))
 \pagepic{ps/v71releasenotes.eps}{releasenotes}
 \pagefrom{Root Page}{RootPage}
 \pageto{Online information}{onlineInformation}
+\pageto{July 2008}{july2008}
 \pageto{May 2008}{may2008}
 \pageto{March 2008}{march2008}
 \pageto{January 2008}{january2008}
@@ -243,6 +244,7 @@ November 10, 2003 ((iHy))
 \beginscroll
 \beginmenu
     \menudownlink{Online information}{onlineInformation}
+    \menudownlink{July 2008}{july2008}
     \menudownlink{May 2008}{may2008}
     \menudownlink{March 2008}{march2008}
     \menudownlink{January 2008}{january2008}
@@ -255,6 +257,8 @@ November 10, 2003 ((iHy))
 
 @
 \pagehead{onlineInformation}{releasenotes.ht}{Online Information}
+\pagepic{ps/v71onlineinformation.eps}{onlineinformation}
+\pagefrom{What's New in Axiom}{releaseNotes}
 <<releasenotes.ht>>=
 \begin{page}{onlineInformation}{Online information}
 \beginscroll
@@ -267,7 +271,150 @@ Axiom information can be found online at
 \end{page}
 
 @
+\pagehead{july2008}{releasenotes.ht}{July 23, 2008 Release Notes}
+\pagepic{ps/v71july2008.eps}{july2008}
+\pagefrom{What's New in Axiom}{releaseNotes}
+<<releasenotes.ht>>=
+\begin{page}{july2008}{July 23, 2008 Release Notes}
+\beginscroll
+\begin{verbatim}
+The July 2008 release marks the second large-scale change toward a
+literate Axiom distribution. The original change was to make every
+file into a pamphlet document. This second change draws Axiom into
+tighter collections, called books (for obvious reasons). 
+
+There is a new "books" directory which contains 14 books, most of
+which are new:
+
+ bookvol0:  The reconstructed Jenks and Sutor book
+ bookvol1:  The published tutorial volume
+ bookvol2:  Users Guide
+ bookvol3:  Programmers Guide
+ bookvol4:  Developers Guide
+ bookvol5:  Interpreter
+ bookvol6:  Command
+ bookvol7:  Hyperdoc
+ bookvol7.1 Hyperdoc Pages
+ bookvol8:  Graphics
+ bookvol9:  Compiler
+ bookvol10: Algebra
+ bookvol11: Browser
+ bookvol12: Crystal
+
+All of these books now exist. Portions of the current system have
+been moved completely into book form (Graphics and Hyperdoc) so
+the old files have been removed from the src tree. Both Graphics
+and Hyperdoc are now built directly from their book. Work will 
+follow on other parts of the system.
+
+These books are online at:
+<http://axiom.axiom-developer.org/axiom-website/documentation.html>
+
+
+
+
+There is an interesting side-effect of using literate technology.
+Once you combine C and .h files into a single document so that each
+file is a separate chunk it becomes obvious that there is no need for
+local include files. The lines that read:
+   #include "foo.h"
+become
+   @<<foo.h>>
+and get expanded inline. Once you do this it also becomes obvious
+that many include files get included multiple times (a clear waste
+of disk I/O and preparser time). Further it becomes clear that there
+is no need for creating tiny .o files since all of the source can
+be combined into one C file using chunks. 
+
+These approaches were used to reduce the compile-time overhead
+for both the graphics and the hyperdoc functions.
+
+
+
+
+In addition to consolidating the source files for Graphics into
+bookvol8 there were several other changes.
+
+  * the functions for graphics, that is, viewman, view2d, view3d
+    and viewalone are now built as single C files. 
+  * the graphics code was reorganized into chapters of related code
+  * there is the beginnings of documentation
+  * there is the beginnings of a test suite based on the 
+    CRC Handbook of Curves and Surfaces
+  * the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
+  * redundant code was eliminated
+  * the code is fully indexed
+  * the src/graph subdirectory is gone
+
+
+
+In addition to consolidating the source files for Hyperdoc into
+bookvol7 there were several other changes.
+
+  * the functions for hyperdoc, that is, spadbuf, ex2ht, htadd, hthits
+    and hypertex are now built as single C files
+  * the hyperdoc code was reorganized into chapters of related code
+  * there is the beginnngs of documentation
+  * redundant code was eliminated
+  * scroll wheel handling was added (Gregory Vanuxem)
+  * the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
+  * the code is fully indexed
+  * )hd now works to start or restart Hyperdoc (Jose Alfredo Portes)
+  * the src/hyper subdirectory is gone
+
+
+
+In addition to consolidating the hyperdoc pages into bookvol7.1
+there were several other changes:
+
+  * the pages are hyperlinked
+  * new latex macros were written to simplify page handling
+  * images of hyperdoc pages were added
+  * forward and backward hyperlinks between pages images works
+    making it possible to "browse" the hyperdoc pages using only
+    the single PDF file (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
+  * the pages are fully indexed
+  * the src/hyper/pages subdirectory is gone
+
+
+
+A combined table of contents PDF is now automatically generated
+which covers all of the volumes. This makes it easier to find the
+topic of interest.
+
+
+In addition there were several other changes.
+
+  * Some fixes were made for different platforms
+       In particular, Fedora9 breaks the build and needs work
+
+  * The configure script was replaced by instructions
+       The standard (export AXIOM) works everywhere so the configure
+       script is useless for guessing.
+
+  * the FAQ was updated about git
+       Since the May 2008 release the primary Gold source code platform
+       is github. The FAQ was updated to reflect this.
+
+  * the FAQ was updated about X11
+       X11 has moved yet again so more notes are needed
+
+  * move axbook to books
+       The hyperlinked version of Jenks is now built from the books dir
+
+  * add Ralf Hemmecke's documentation to ax.boot
+  * add Monoid multiply to DirectProduct (Ralf Hemmecke)
+  * add Monoid multiply regression test
+
+\end{verbatim}
+\endscroll
+\autobuttons
+\end{page}
+
+@
 \pagehead{may2008}{releasenotes.ht}{May 27, 2008 Release Notes}
+\pagepic{ps/v71may2008.eps}{may2008}
+\pagefrom{What's New in Axiom}{releaseNotes}
 <<releasenotes.ht>>=
 \begin{page}{may2008}{May 27, 2008 Release Notes}
 \beginscroll
@@ -309,6 +456,8 @@ PORTING
 
 @
 \pagehead{march2008}{releasenotes.ht}{March 25, 2008 Release Notes}
+\pagepic{ps/v71march2008.eps}{march2008}
+\pagefrom{What's New in Axiom}{releaseNotes}
 <<releasenotes.ht>>=
 \begin{page}{march2008}{March 25, 2008 Release Notes}
 \beginscroll
@@ -404,6 +553,8 @@ o  Complex Gamma, logGamma, and log(Gamma) have additional tests and
 
 @
 \pagehead{january2008}{releasenotes.ht}{January 25, 2008 Release Notes}
+\pagepic{ps/v71january2008.eps}{january2008}
+\pagefrom{What's New in Axiom}{releaseNotes}
 <<releasenotes.ht>>=
 \begin{page}{january2008}{January 25, 2008 Release Notes}
 \beginscroll
@@ -660,6 +811,8 @@ Patches released
 
 @
 \pagehead{november2007}{releasenotes.ht}{November 23, 2007 Release Notes}
+\pagepic{ps/v71november2007.eps}{november2007}
+\pagefrom{What's New in Axiom}{releaseNotes}
 <<releasenotes.ht>>=
 \begin{page}{november2007}{November 23, 2007 Release Notes}
 \beginscroll
@@ -848,6 +1001,8 @@ ADD )HELP FACILITY
 
 @
 \pagehead{feb2005}{releasenotes.ht}{Feature Complete Release Feb 2005}
+\pagepic{ps/v71feb2005.eps}{feb2005}
+\pagefrom{What's New in Axiom}{releaseNotes}
 <<releasenotes.ht>>=
 \begin{page}{feb2005}{Feature Complete Release Feb 2005}
 \beginscroll
diff --git a/changelog b/changelog
index 6ab41bf..c5aab40 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,11 @@
+20080727 tpd books/bookvol7.1.pamphlet update What's New branch
+20080727 tpd books/ps/v71feb2005.eps added
+20080727 tpd books/ps/v71january2008.eps added
+20080727 tpd books/ps/v71july2008.eps added
+20080727 tpd books/ps/v71march2008.eps added
+20080727 tpd books/ps/v71may2008.eps added
+20080727 tpd books/ps/v71november2007.eps added
+20080727 tpd books/ps/v71onlineinformation.eps added
 20080725 tpd books/bookvol0 fix copyright latex line overflows
 20080725 tpd books/bookvol1 fix copyright latex line overflows
 20080725 tpd books/bookvol2 fix copyright latex line overflows

\start
Date: Mon, 28 Jul 2008 21:15:57 -0500
From: Tim Daly
To: list
Subject: 20080728.01.tpd.patch (expand	RootPage->Topics->Numbers)

Expand the page documentation for RootPage->Topics->Numbers.
Fix up known broken links.

=========================================================================
diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet
index e1a9dca..11ed426 100644
--- a/books/bookvol7.1.pamphlet
+++ b/books/bookvol7.1.pamphlet
@@ -2235,8 +2235,8 @@ The \spadtype{TwoDimensionalArray} domain is used for storing data in
 a \twodim{} data structure indexed by row and by column.  Such an
 array is a homogeneous data structure in that all the entries of the
 array must belong to the same Axiom domain (although see
-\downlink{``\ugTypesAnyNoneTitle''}{ugTypesAnyNonePage} in Section
-\ugTypesAnyNoneNumber\ignore{ugTypesAnyNone}).  Each array has a fixed
+\downlink{``The Any Domain''}{ugTypesAnyNonePage} in Section 2.6
+\ignore{ugTypesAnyNone}).  Each array has a fixed
 number of rows and columns specified by the user and arrays are not
 extensible.  In Axiom, the indexing of two-dimensional arrays is
 one-based.  This means that both the ``first'' row of an array and the
@@ -2577,13 +2577,14 @@ answer for \texht{$12^2$}{12**2}.
 @
 \section{binary.ht}
 \pagehead{BinaryExpansionXmpPage}{binary.ht}{BinaryExpansion}
-\pageto{notitle}{DecimalExpansionXmpPage}
-\pageto{notitle}{RadixExpansionXmpPage}
-\pageto{notitle}{HexExpansionXmpPage}
+\pagepic{ps/v71binaryexpansionxmppage.eps}{BinaryExpansionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{DecimalExpansion}{DecimalExpansionXmpPage}
+\pageto{RadixExpansion}{RadixExpansionXmpPage}
+\pageto{HexadecimalExpansion}{HexExpansionXmpPage}
 <<binary.ht>>=
 \begin{page}{BinaryExpansionXmpPage}{BinaryExpansion}
 \beginscroll
- 
 All rational numbers have repeating binary expansions.
 Operations to access the individual bits of a binary expansion can
 be obtained by converting the value to \spadtype{RadixExpansion(2)}.
@@ -2743,8 +2744,8 @@ To solve the above equation, enter this.
 }{
 \spadpaste{solve(deq, y, x) \free{e1}\free{y}}
 }
-See \downlink{``\ugProblemDEQTitle''}{ugProblemDEQPage} 
-in Section \ugProblemDEQNumber\ignore{ugProblemDEQ}
+See \downlink{``Solution of Differential Equations''}{ugProblemDEQPage} 
+in Section 8.10\ignore{ugProblemDEQ}
 for this kind of use of \axiomType{BasicOperator}.
 
 Use the single argument form of
@@ -2946,10 +2947,11 @@ Have Axiom check that these are equal.
 @
 \section{card.ht}
 \pagehead{CardinalNumberXmpPage}{card.ht}{CardinalNumber}
+\pagepic{ps/v71cardinalnumberxmppage.eps}{CardinalNumberXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
 <<card.ht>>=
 \begin{page}{CardinalNumberXmpPage}{CardinalNumber}
 \beginscroll
-
 The \spadtype{CardinalNumber} domain can be used for values indicating
 the cardinality of sets, both finite and infinite.
 For example, the \spadfunFrom{dimension}{VectorSpace} operation in the
@@ -3997,12 +3999,13 @@ for t in 1..4]) \bound{lhs}\free{g gam m n r s}}
 @
 \section{complex.ht}
 \pagehead{ComplexXmpPage}{complex.ht}{Complex}
-\pageto{notitle}{ugProblemNumericPage}
+\pagepic{ps/v71complexxmppage.eps}{ComplexXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Numeric Functions}{ugProblemNumericPage}
 \pageto{notitle}{ugTypesConvertPage}
 <<complex.ht>>=
 \begin{page}{ComplexXmpPage}{Complex}
 \beginscroll
-
 The \spadtype{Complex} constructor implements complex objects over a
 commutative ring \spad{R}.
 Typically, the ring \spad{R} is \spadtype{Integer}, \spadtype{Fraction
@@ -4010,8 +4013,8 @@ Integer}, \spadtype{Float} or \spadtype{DoubleFloat}.
 \spad{R} can also be a symbolic type, like \spadtype{Polynomial Integer}.
 For more information about the numerical and graphical aspects of complex
 numbers, 
-see \downlink{``\ugProblemNumericTitle''}{ugProblemNumericPage} in Section 
-\ugProblemNumericNumber\ignore{ugProblemNumeric}.
+see \downlink{``Numeric Functions''}{ugProblemNumericPage} in Section 8.1
+\ignore{ugProblemNumeric}.
 
 \xtc{
 Complex objects are created by the \spadfunFrom{complex}{Complex} operation.
@@ -4041,8 +4044,8 @@ If \spad{R} is a field, you can also divide the complex objects.
 \spadpaste{a / b \free{a b}\bound{adb}}
 }
 \xtc{
-Use a conversion (\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} 
-in Section \ugTypesConvertNumber\ignore{ugTypesConvert}) to view the last
+Use a conversion (\downlink{``Conversion''}{ugTypesConvertPage} 
+in Section 2.7\ignore{ugTypesConvert}) to view the last
 object as a fraction of complex integers.
 }{
 \spadpaste{\% :: Fraction Complex Integer \free{adb}}
@@ -4102,21 +4105,21 @@ You can \spadfunFrom{factor}{Complex} Gaussian integers.
 @
 \section{contfrac.ht}
 \pagehead{ContinuedFractionXmpPage}{contfrac.ht}{ContinuedFraction}
-\pageto{notitle}{StreamXmpPage}
+\pagepic{ps/v71continuedfractionxmppage.eps}{ContinuedFractionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Stream}{StreamXmpPage}
 <<contfrac.ht>>=
 \begin{page}{ContinuedFractionXmpPage}{ContinuedFraction}
 \beginscroll
 
-Continued fractions have been a fascinating and useful tool in mathematics
-for well over three hundred years.
-Axiom implements continued fractions for fractions of any Euclidean
-domain.
-In practice, this usually means rational numbers.
-In this section we demonstrate some of the operations available for
-manipulating both finite and infinite continued fractions.
-It may be helpful if you review 
-\downlink{`Stream'}{StreamXmpPage}\ignore{Stream} to remind yourself of some
-of the operations with streams.
+Continued fractions have been a fascinating and useful tool in
+mathematics for well over three hundred years.  Axiom implements
+continued fractions for fractions of any Euclidean domain.  In
+practice, this usually means rational numbers.  In this section we
+demonstrate some of the operations available for manipulating both
+finite and infinite continued fractions.  It may be helpful if you
+review \downlink{`Stream'}{StreamXmpPage}\ignore{Stream} to remind
+yourself of some of the operations with streams.
 
 The \spadtype{ContinuedFraction} domain is a field and therefore you can
 add, subtract, multiply and divide the fractions.
@@ -5112,14 +5115,14 @@ u=0..\%pi,v=0..2*\%pi)}
 @
 \section{decimal.ht}
 \pagehead{DecimalExpansionXmpPage}{decimal.ht}{Decimal Expansion}
-\pageto{notitle}{BinaryExpansionXmpPage}
-\pageto{notitle}{HexExpansionXmpPage}
-\pageto{notitle}{RadixExpansionXmpPage}
+\pagepic{ps/v71decimalexpansionxmppage.eps}{DecimalExpansionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{BinaryExpansion}{BinaryExpansionXmpPage}
+\pageto{HexadecimalExpansion}{HexExpansionXmpPage}
+\pageto{RadixExpansion}{RadixExpansionXmpPage}
 <<decimal.ht>>=
 \begin{page}{DecimalExpansionXmpPage}{Decimal Expansion}
 \beginscroll
-
-
 All rationals have repeating decimal expansions.
 Operations to access the individual digits of a decimal expansion can
 be obtained by converting the value to \spadtype{RadixExpansion(10)}.
@@ -5386,13 +5389,14 @@ consists of the eight forms: \spad{1}, \spad{dx}, \spad{dy}, \spad{dz},
 @
 \section{dfloat.ht}
 \pagehead{DoubleFloatXmpPage}{dfloat.ht}{DoubleFloat}
-\pageto{notitle}{ugGraphPage}
-\pageto{notitle}{ugProblemNumericPage}
-\pageto{notitle}{FloatXmpPage}
+\pagepic{ps/v71doublefloatxmppage.eps}{DoubleFloatXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Graphics}{ugGraphPage}
+\pageto{Numeric Functions}{ugProblemNumericPage}
+\pageto{Float}{FloatXmpPage}
 <<dfloat.ht>>=
 \begin{page}{DoubleFloatXmpPage}{DoubleFloat}
 \beginscroll
-
 Axiom provides two kinds of floating point numbers.
 The domain \spadtype{Float} (abbreviation \spadtype{FLOAT})
 implements a model of arbitrary
@@ -5484,10 +5488,10 @@ By far, the most common usage of \spadtype{DoubleFloat} is for functions
 to be graphed.
 For more information about Axiom's numerical and graphical
 facilities, see
-\downlink{``\ugGraphTitle''}{ugGraphPage} in Section \ugGraphNumber
+\downlink{``Graphics''}{ugGraphPage} in Section 7.
 \ignore{ugGraph},
-\downlink{``\ugProblemNumericTitle''}{ugProblemNumericPage} in 
-Section \ugProblemNumericNumber\ignore{ugProblemNumeric}, and
+\downlink{``Numeric Functions''}{ugProblemNumericPage} in 
+Section 8.1\ignore{ugProblemNumeric}, and
 \downlink{`Float'}{FloatXmpPage}\ignore{Float}.
 \endscroll
 \autobuttons
@@ -5569,10 +5573,10 @@ This flexibility is mostly important for algorithms such as
 sensitive to term ordering.
 
 For more information on related topics, see
-\downlink{``\ugIntroVariablesTitle''}{ugIntroVariablesPage} 
-in Section \ugIntroVariablesNumber\ignore{ugIntroVariables},
-\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} 
-in Section \ugTypesConvertNumber\ignore{ugTypesConvert},
+\downlink{``Polynomials''}{ugIntroVariablesPage} 
+in Section 1.9\ignore{ugIntroVariables},
+\downlink{``Conversion''}{ugTypesConvertPage} 
+in Section 2.7\ignore{ugTypesConvert},
 \downlink{`Polynomial'}{PolynomialXmpPage}\ignore{Polynomial},
 \downlink{`UnivariatePolynomial'}{UnivariatePolyXmpPage}
 \ignore{UnivariatePolynomial}, and
@@ -5947,8 +5951,8 @@ Because
 }
 
 For functions which return no value at all, use \spadtype{Void}.
-See \downlink{``\ugUserTitle''}{ugUserPage} in 
-Section \ugUserNumber\ignore{ugUser} and 
+See \downlink{``User-Defined Functions, Macros and Rules''}
+{ugUserPage} in Section 6\ignore{ugUser} and 
 \downlink{`Void'}{VoidXmpPage}\ignore{Void} for more information.
 %
 \showBlurb{Exit}
@@ -6607,23 +6611,23 @@ Use \axiomFunFrom{D}{Expression} to compute partial derivatives.
 \spadpaste{D(e, x) \free{e}}
 }
 \xtc{
-See \downlink{``\ugIntroCalcDerivTitle''}{ugIntroCalcDerivPage} in Section 
-\ugIntroCalcDerivNumber\ignore{ugIntroCalcDeriv}
+See \downlink{``Derivatives''}{ugIntroCalcDerivPage} in Section 1.12
+\ignore{ugIntroCalcDeriv}
 for more examples of expressions and derivatives.
 }{
 \spadpaste{D(e, [x, y], [1, 2]) \free{e}}
 }
-See \downlink{``\ugIntroCalcLimitsTitle''}{ugIntroCalcLimitsPage} 
-in Section \ugIntroCalcLimitsNumber\ignore{ugIntroCalcLimits} and
-\downlink{``\ugIntroSeriesTitle''}{ugIntroSeriesPage} in Section 
-\ugIntroSeriesNumber\ignore{ugIntroSeries}
+See \downlink{``Limits''}{ugIntroCalcLimitsPage} 
+in Section 1.10\ignore{ugIntroCalcLimits} and
+\downlink{``Series''}{ugIntroSeriesPage} in Section 1.11
+\ignore{ugIntroSeries}
 for more examples of expressions and calculus.
 Differential equations involving expressions are discussed in
-\downlink{``\ugProblemDEQTitle''}{ugProblemDEQPage} in Section 
-\ugProblemDEQNumber\ignore{ugProblemDEQ}.
+\downlink{``Solution of Differential Equations''}
+{ugProblemDEQPage} in Section 8.10\ignore{ugProblemDEQ}.
 Chapter 8 has many advanced examples: see
-\downlink{``\ugProblemIntegrationTitle''}{ugProblemIntegrationPage} 
-in Section \ugProblemIntegrationNumber\ignore{ugProblemIntegration}
+\downlink{``Integration''}{ugProblemIntegrationPage} 
+in Section 8.8\ignore{ugProblemIntegration}
 for a discussion of Axiom's integration facilities.
 
 When an expression involves no ``symbol kernels'' (for example,
@@ -6688,11 +6692,9 @@ use \axiomFun{simplify}.
 }{
 \spadpaste{simplify \% \free{tan6}}
 }
-See \downlink{``\ugUserRulesTitle''}{ugUserRulesPage} in 
-Section \ugUserRulesNumber\ignore{ugUserRules}
-for examples of how to write your own rewrite rules for
-expressions.
-
+See \downlink{``Rules and Pattern Matching''}{ugUserRulesPage} in
+Section 6.21\ignore{ugUserRules} for examples of how to write your own
+rewrite rules for expressions.
 
 \endscroll
 \autobuttons
@@ -7374,17 +7376,18 @@ For more information on related topics, see
 @
 \section{float.ht}
 \pagehead{FloatXmpPage}{float.ht}{Float}
-\pageto{notitle}{ugGraphPage}
-\pageto{notitle}{ugProblemNumericPage}
-\pageto{notitle}{DoubleFloatXmpPage}
-\pageto{notitle}{ugxFloatIntroPage}
-\pageto{notitle}{ugxFloatConvertPage}
-\pageto{notitle}{ugxFloatOutputPage}
-\pageto{notitle}{ugxFloatHilbertPage}
+\pagepic{ps/v71floatxmppage.eps}{FloatXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Graphics}{ugGraphPage}
+\pageto{Numeric Functions}{ugProblemNumericPage}
+\pageto{DoubleFloat}{DoubleFloatXmpPage}
+\pageto{Introduction to Float}{ugxFloatIntroPage}
+\pageto{Conversion Functions}{ugxFloatConvertPage}
+\pageto{Output Functions}{ugxFloatOutputPage}
+\pageto{Determinant of a Hilbert Matrix}{ugxFloatHilbertPage}
 <<float.ht>>=
 \begin{page}{FloatXmpPage}{Float}
 \beginscroll
-
  Axiom provides two kinds of floating point numbers.
 The domain \spadtype{Float} (abbreviation \spadtype{FLOAT})
 implements a model of arbitrary
@@ -7405,10 +7408,10 @@ twenty to two hundred times more time than hardware floating point.
 
 For more information about Axiom's numeric and graphic
 facilities,  see
-\downlink{``\ugGraphTitle''}{ugGraphPage} in 
-Section \ugGraphNumber\ignore{ugGraph},
-\downlink{``\ugProblemNumericTitle''}{ugProblemNumericPage} in 
-Section \ugProblemNumericNumber\ignore{ugProblemNumeric}, and
+\downlink{``Graphics''}{ugGraphPage} in 
+Section 7 \ignore{ugGraph},
+\downlink{``Numeric Functions''}{ugProblemNumericPage} in 
+Section 8.1\ignore{ugProblemNumeric}, and
 \downlink{`DoubleFloat'}{DoubleFloatXmpPage}\ignore{DoubleFloat}.
 
 \beginmenu
@@ -7467,8 +7470,8 @@ numbers.
 \labelSpace{3pc}
 \xtc{
 You can use conversion
-(\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} 
-in Section \ugTypesConvertNumber\ignore{ugTypesConvert})
+(\downlink{``Conversion''}{ugTypesConvertPage} 
+in Section 2.7\ignore{ugTypesConvert})
 to go back and forth between \spadtype{Integer}, 
 \spadtype{Fraction Integer} and \spadtype{Float}, as appropriate.
 }{
@@ -7636,7 +7639,8 @@ This resets the output printing to the default behavior.
 \pagehead{ugxFloatHilbertPage}{float.ht}
 {An Example: Determinant of a Hilbert Matrix}
 <<float.ht>>=
-\begin{page}{ugxFloatHilbertPage}{An Example: Determinant of a Hilbert Matrix}
+\begin{page}{ugxFloatHilbertPage}
+{An Example: Determinant of a Hilbert Matrix}
 \beginscroll
 
 Consider the problem of computing the determinant of a \spad{10} by \spad{10}
@@ -8036,8 +8040,8 @@ respectively.
 \xtc{
 Another way to get the zero and one factored objects is to use
 package calling 
-(see \downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} 
-in Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall}).
+(see \downlink{``Package Calling and Target Types''}
+{ugTypesPkgCallPage} in Section 2.9\ignore{ugTypesPkgCall}).
 }{
 \spadpaste{0\$Factored(Integer)}
 }
@@ -8199,8 +8203,8 @@ by \spadfunFrom{map}{FactoredFunctions2}.
 
 For more information about factored objects and their use, see
 \downlink{`Factored'}{FactoredXmpPage}\ignore{Factored} and
-\downlink{``\ugProblemGaloisTitle''}{ugProblemGaloisPage} in 
-Section \ugProblemGaloisNumber\ignore{ugProblemGalois}.
+\downlink{``Computation of Galois Groups''}{ugProblemGaloisPage} in 
+Section 8.13\ignore{ugProblemGalois}.
 \endscroll
 \autobuttons
 \end{page}
@@ -8298,8 +8302,8 @@ moved in and out of the numerator and denominator.
 }
 \xtc{
 Conversion is discussed in detail in 
-\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} 
-in Section \ugTypesConvertNumber\ignore{ugTypesConvert}.
+\downlink{``Conversion''}{ugTypesConvertPage} 
+in Section 2.7\ignore{ugTypesConvert}.
 }{
 \spadpaste{g :: FRAC COMPLEX INT \free{g}}
 }
@@ -11015,13 +11019,14 @@ Apply \spadfun{heapsort} to present elements in order.
 @
 \section{hexadec.ht}
 \pagehead{HexExpansionXmpPage}{hexadec.ht}{HexadecimalExpansion}
-\pageto{notitle}{DecimalExpansionXmpPage}
-\pageto{notitle}{BinaryExpansionXmpPage}
-\pageto{notitle}{RadixExpansionXmpPage}
+\pagepic{ps/v71hexexpansionxmppage.eps}{HexExpansionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{DecimalExpansion}{DecimalExpansionXmpPage}
+\pageto{BinaryExpansion}{BinaryExpansionXmpPage}
+\pageto{RadixExpansion}{RadixExpansionXmpPage}
 <<hexadec.ht>>=
 \begin{page}{HexExpansionXmpPage}{HexadecimalExpansion}
 \beginscroll
-
 All rationals have repeating hexadecimal expansions.  The operation
 \spadfunFrom{hex}{HexadecimalExpansion} returns these expansions of
 type \spadtype{HexadecimalExpansion}.  Operations to access the
@@ -11095,8 +11100,7 @@ integers.  In this section we will show some of those that come from
 \spadtype{Integer} itself plus some that are implemented in other
 packages.  More examples of using integers are in the following
 sections:
-\downlink{``\ugIntroNumbersTitle''}{ugIntroNumbersPage} in section
-\ugIntroNumbersNumber
+\downlink{``Numbers''}{ugIntroNumbersPage} in section 1.5
 \downlink{`IntegerNumberTheoryFunctions'}
 {IntNumberTheoryFnsXmpPage}
 \ignore{IntegerNumberTheoryFunctions},
@@ -11293,8 +11297,8 @@ remainder.
 \xtc{
 One integer is evenly divisible by another if the remainder is zero.
 The operation \spadfunFrom{exquo}{Integer} can also be used.
-See \downlink{``\ugTypesUnionsTitle''}{ugTypesUnionsPage} in Section 
-\ugTypesUnionsNumber\ignore{ugTypesUnions} for an example.
+See \downlink{``Unions''}{ugTypesUnionsPage} in Section 2.5
+\ignore{ugTypesUnions} for an example.
 }{
 \spadpaste{zero?(167604736446952 rem 2003644)}
 }
@@ -11311,8 +11315,8 @@ quotient and remainder and thus is more efficient when both are needed.
 }
 \xtc{
 Records are discussed in detail in 
-\downlink{``\ugTypesRecordsTitle''}{ugTypesRecordsPage} in Section 
-\ugTypesRecordsNumber\ignore{ugTypesRecords}.
+\downlink{``Records''}{ugTypesRecordsPage} in Section 2.4
+\ignore{ugTypesRecords}.
 }{
 \spadpaste{d.remainder \free{d}}
 }
@@ -16071,12 +16075,12 @@ is also two.
 }
 
 For more information on related topics, see
-\downlink{``\ugIntroTwoDimTitle''}{ugIntroTwoDimPage} in 
-Section \ugIntroTwoDimNumber\ignore{ugIntroTwoDim},
-\downlink{``\ugProblemEigenTitle''}{ugProblemEigenPage} in 
-Section \ugProblemEigenNumber\ignore{ugProblemEigen},
-\downlink{``\ugxFloatHilbertTitle''}{ugxFloatHilbertPage} in 
-Section \ugxFloatHilbertNumber\ignore{ugxFloatHilbert},
+\downlink{``Expanding to Higher Dimensions''}{ugIntroTwoDimPage} in 
+Section 1.7\ignore{ugIntroTwoDim},
+\downlink{``Computation of Eigenvalues and Eigenvectors''}
+{ugProblemEigenPage} in Section 8.4\ignore{ugProblemEigen},
+\downlink{``Determinant of a Hilbert Matrix''}
+{ugxFloatHilbertPage}\ignore{ugxFloatHilbert},
 \downlink{`Permanent'}{PermanentXmpPage}\ignore{Permanent},
 \downlink{`Vector'}{VectorXmpPage}\ignore{Vector},
 \downlink{`OneDimensionalArray'}{OneDimensionalArrayXmpPage}
@@ -16168,8 +16172,9 @@ for which they are defined.
 \spadpaste{h(m1, m2) \free{h m1 m2}}
 }
 %
-For more information, see \downlink{``\ugUserMakeTitle''}{ugUserMakePage} 
-in Section \ugUserMakeNumber\ignore{ugUserMake}.
+For more information, see 
+\downlink{``Making Functions from Objects''}{ugUserMakePage} 
+in Section 6.14\ignore{ugUserMake}.
 \showBlurb{MakeFunction}
 \endscroll
 \autobuttons
@@ -16345,7 +16350,7 @@ type directly, such as \spadtype{List NonNegativeInteger}, do it this way.
 \section{numbers.ht}
 \pagehead{NumberPage}{numbers.ht}{Axiom Number Types}
 \pagepic{ps/v71numberpage.eps}{numberpage}
-\pagefrom{Topics}{TopicPage}
+\pagefrom{Axiom Topics}{TopicPage}
 \pageto{Integers}{IntegerPage}
 \pageto{Fractions}{FractionPage}
 \pageto{Machine Floats}{DoubleFloatXmpPage}
@@ -16413,11 +16418,12 @@ Additional Topics
 
 @
 \pagehead{FractionPage}{numbers.ht}{Fraction}
-\pageto{notitle}{RationalNumberPage}
-\pageto{notitle}{FractionXmpPage}
+\pagepic{ps/v71fractionpage.eps}{FractionPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Rational Numbers}{RationalNumberPage}
+\pageto{Quotient Fields}{FractionXmpPage}
 <<numbers.ht>>=
 \begin{page}{FractionPage}{Fractions}
-
 \beginscroll
 Axiom handles fractions in many different contexts
 and will automatically simplify fractions whenever possible.
@@ -16429,15 +16435,10 @@ Here are some examples:
 \endscroll
 Additional Topics:
 \beginmenu
-
 \menulink{Rational Numbers}{RationalNumberPage} \tab{18}
 Quotients of integers
-
 \menulink{Quotient Fields}{FractionXmpPage}  \tab{18}
 Quotients over an arbitrary integral domain
-
-%\menulink{Localizations}{LocalizationPage}  \tab{18}
-%Fractions in the most general setting
 \endmenu
 \autobuttons
 \end{page}
@@ -16470,11 +16471,13 @@ command:
 
 @
 \pagehead{IntegerPage}{numbers.ht}{Integers}
-\pageto{notitle}{IntegerXmpPage}
-\pageto{notitle}{ugxIntegerPrimesPage}
-\pageto{notitle}{IntNumberTheoryFnsXmpPage}
-\pageto{notitle}{IntegerExamplePage}
-\pageto{notitle}{IntegerProblemPage}
+\pagepic{ps/v71integerpage.eps}{IntegerPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{General Info}{IntegerXmpPage}
+\pageto{Factorization}{ugxIntegerPrimesPage}
+\pageto{Functions}{IntNumberTheoryFnsXmpPage}
+\pageto{Examples}{IntegerExamplePage}
+\pageto{Problems}{IntegerProblemPage}
 <<numbers.ht>>=
 \begin{page}{IntegerPage}{Integers}
 \beginscroll
@@ -16671,11 +16674,12 @@ n**n - n + 41 is not prime.
 @
 \section{oct.ht}
 \pagehead{OctonionXmpPage}{oct.ht}{Octonion}
-\pageto{notitle}{QuaternionXmpPage}
+\pagepic{ps/v71octonionxmppage.eps}{OctonionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Quaternion}{QuaternionXmpPage}
 <<oct.ht>>=
 \begin{page}{OctonionXmpPage}{Octonion}
 \beginscroll
-
 The Octonions, also called the Cayley-Dixon algebra, defined over a
 commutative ring are an eight-dimensional non-associative algebra.
 Their construction from quaternions is similar to the construction
@@ -17317,11 +17321,12 @@ Here are some derangement numbers, which you see grow quite fast.
 @
 \section{pfr.ht}
 \pagehead{PartialFractionXmpPage}{pfr.ht}{PartialFraction}
-\pageto{notitle}{FullPartialFracExpansionXmpPage}
+\pagepic{ps/v71partialfractionxmppage.eps}{PartialFractionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{FullPartialFracExpansion}{FullPartialFracExpansionXmpPage}
 <<pfr.ht>>=
 \begin{page}{PartialFractionXmpPage}{PartialFraction}
 \beginscroll
-
 A {\it partial fraction} is a decomposition of a quotient into a sum
 of quotients where the denominators of the summands are powers of
 primes.\footnote{Most people first encounter partial fractions when
@@ -17740,8 +17745,8 @@ for factoring polynomials created with \spadtype{Polynomial} are
 currently restricted to the integer and rational number coefficient
 cases.  There are more complete facilities for factoring univariate
 polynomials: see
-\downlink{``\ugProblemFactorTitle''}{ugProblemFactorPage} in Section
-\ugProblemFactorNumber\ignore{ugProblemFactor}.
+\downlink{``Polynomial Factorization''}{ugProblemFactorPage} in 
+Section 8.2\ignore{ugProblemFactor}.
 
 \xtc{
 The standard arithmetic operations are available for polynomials.
@@ -18013,13 +18018,16 @@ to display the full list of operations defined by
 @
 \section{quat.ht}
 \pagehead{QuaternionXmpPage}{quat.ht}{Quaternion}
+\pagepic{ps/v71quaternionxmppage.eps}{QuaternionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Complex}{ComplexXmpPage}
+\pageto{Octonion}{OctonionXmpPage}
 <<quat.ht>>=
 \begin{page}{QuaternionXmpPage}{Quaternion}
 \beginscroll
 The domain constructor \spadtype{Quaternion} implements quaternions over
 commutative rings.
 For information on related topics, see
-%\menuxmpref{CliffordAlgebra}
 \downlink{`Complex'}{ComplexXmpPage}\ignore{Complex} and
 \downlink{`Octonion'}{OctonionXmpPage}\ignore{Octonion}.
 You can also issue the system command
@@ -18092,15 +18100,15 @@ The norm is the quaternion times its conjugate.
 @
 \section{radix.ht}
 \pagehead{RadixExpansionXmpPage}{radix.ht}{RadixExpansion}
-\pageto{notitle}{HexExpansionXmpPage}
-\pageto{notitle}{DecimalExpansionXmpPage}
-\pageto{notitle}{BinaryExpansionXmpPage}
+\pagepic{ps/v71radixexpansionxmppage.eps}{RadixExpansionXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{HexadecimalExpansion}{HexExpansionXmpPage}
+\pageto{DecimalExpansion}{DecimalExpansionXmpPage}
+\pageto{BinaryExpansion}{BinaryExpansionXmpPage}
 <<radix.ht>>=
 \begin{page}{RadixExpansionXmpPage}{RadixExpansion}
 \beginscroll
-
-It possible to expand numbers in general bases.
-
+It is possible to expand numbers in general bases.
 \labelSpace{2pc}
 \xtc{
 Here we expand \spad{111} in base \spad{5}.
@@ -19102,10 +19110,11 @@ marc@nag.co.uk} for more information and help.
 @
 \section{roman.ht}
 \pagehead{RomanNumeralXmpPage}{roman.ht}{RomanNumeral}
+\pagepic{ps/v71romannumeralxmppage.eps}{RomanNumeralXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
 <<roman.ht>>=
 \begin{page}{RomanNumeralXmpPage}{RomanNumeral}
 \beginscroll
-
 The Roman numeral package was added to Axiom in MCMLXXXVI
 for use in denoting higher order derivatives.
 
@@ -19461,13 +19470,14 @@ For more information about lists, see
 @
 \section{sint.ht}
 \pagehead{SingleIntegerXmpPage}{sint.ht}{SingleInteger}
-\pageto{notitle}{ugTypesDeclarePage}
-\pageto{notitle}{ugTypesPkgCallPage}
-\pageto{notitle}{ugBrowsePage}
+\pagepic{ps/v71singleintegerxmppage.eps}{SingleIntegerXmpPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Declarations}{ugTypesDeclarePage}
+\pageto{Package Calling and Target Types}{ugTypesPkgCallPage}
+\pageto{Browse}{ugBrowsePage}
 <<sint.ht>>=
 \begin{page}{SingleIntegerXmpPage}{SingleInteger}
 \beginscroll
-
 The \axiomType{SingleInteger} domain is intended to provide support in
 Axiom for machine integer arithmetic.  It is generally much faster
 than (bignum) \axiomType{Integer} arithmetic but suffers from a
@@ -19494,15 +19504,15 @@ by using \spadfunFrom{min}{SingleInteger} and \spadfunFrom{max}{SingleInteger}.
 \xtc{
 To avoid confusion with \axiomType{Integer}, which is the default
 type for integers, you usually need to work with declared variables
-(\downlink{``\ugTypesDeclareTitle''}{ugTypesDeclarePage} 
-in Section \ugTypesDeclareNumber\ignore{ugTypesDeclare}) \ldots
+(\downlink{``Declarations''}{ugTypesDeclarePage} 
+in Section 2.3\ignore{ugTypesDeclare}) \ldots
 }{
 \spadpaste{a := 1234 :: SingleInteger \bound{a}}
 }
 \xtc{
 or use package calling
-(\downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} 
-in Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall}).
+(\downlink{``Package Calling and Target Types''}{ugTypesPkgCallPage} 
+in Section 2.9\ignore{ugTypesPkgCall}).
 }{
 \spadpaste{b := 124\$SingleInteger \bound{b}}
 }
@@ -19560,8 +19570,7 @@ if negative.
 Many other operations are available for small integers, including
 many of those provided for \axiomType{Integer}.
 To see the other operations, use the Browse Hyperdoc facility
-(\downlink{``\ugBrowseTitle''}{ugBrowsePage} in Section 
-\ugBrowseNumber\ignore{ugBrowse}).
+(\downlink{``Browse''}{ugBrowsePage} in Section 14\ignore{ugBrowse}).
 \showBlurb{SingleInteger}.
 \endscroll
 \autobuttons
@@ -19625,10 +19634,10 @@ coefficients.
 }
  
 For more information on related topics, see
-\downlink{``\ugTypesWritingModesTitle''}{ugTypesWritingModesPage} 
-in Section \ugTypesWritingModesNumber\ignore{ugTypesWritingModes},
-\downlink{``\ugTypesExposeTitle''}{ugTypesExposePage} 
-in Section \ugTypesExposeNumber\ignore{ugTypesExpose}, and
+\downlink{``Modes''}{ugTypesWritingModesPage} 
+in Section 2.2.4\ignore{ugTypesWritingModes},
+\downlink{``Exposing Domains and Packages''}{ugTypesExposePage} 
+in Section 2.11\ignore{ugTypesExpose}, and
 \downlink{`Matrix'}{MatrixXmpPage}\ignore{Matrix}.
 \showBlurb{SquareMatrix}
 \endscroll
@@ -19977,10 +19986,10 @@ The packages \spadtype{StreamFunctions1},
 \spadtype{StreamFunctions3} export some useful stream manipulation
 operations.
 For more information, see
-\downlink{``\ugLangItsTitle''}{ugLangItsPage} in Section 
-\ugLangItsNumber\ignore{ugLangIts},
-\downlink{``\ugProblemSeriesTitle''}{ugProblemSeriesPage} 
-in Section \ugProblemSeriesNumber\ignore{ugProblemSeries},
+\downlink{``Creating Lists and Streams with Iterators''}
+{ugLangItsPage} in Section 5.5\ignore{ugLangIts},
+\downlink{``Working with Power Series''}{ugProblemSeriesPage} 
+in Section 8.9\ignore{ugProblemSeries},
 \downlink{`ContinuedFraction'}{ContinuedFractionXmpPage}
 \ignore{ContinuedFraction}, and
 \downlink{`List'}{ListXmpPage}\ignore{List}.
@@ -21288,15 +21297,15 @@ decide on the full type and how to do the transformation.
 \spadpaste{u :: UP(b1,?) \free{u}}
 }
 
-See \downlink{``\ugProblemFactorTitle''}{ugProblemFactorPage} in 
-Section \ugProblemFactorNumber\ignore{ugProblemFactor}
+See \downlink{``Polynomial Factorization''}{ugProblemFactorPage} in 
+Section 8.2\ignore{ugProblemFactor}
 for a discussion of the factorization facilities
 in Axiom for univariate polynomials.
 For more information on related topics, see
-\downlink{``\ugIntroVariablesTitle''}{ugIntroVariablesPage} in 
-Section \ugIntroVariablesNumber\ignore{ugIntroVariables},
-\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} in 
-Section \ugTypesConvertNumber\ignore{ugTypesConvert},
+\downlink{``Polynomials''}{ugIntroVariablesPage} in 
+Section 1.9\ignore{ugIntroVariables},
+\downlink{``Conversion''}{ugTypesConvertPage} in 
+Section 2.7\ignore{ugTypesConvert},
 \downlink{`Polynomial'}{PolynomialXmpPage}\ignore{Polynomial},
 \downlink{`MultivariatePolynomial'}{MultivariatePolyXmpPage}
 \ignore{MultivariatePolynomial}, and
@@ -23182,8 +23191,8 @@ with the discussion of system commands and an interactive ``undo.''
 Before embarking on the tour, we need to brief those readers
 working interactively with Axiom on some details.
 Others can skip right immediately to
-\downlink{``\ugIntroTypoTitle''}{ugIntroTypoPage} in 
-Section \ugIntroTypoNumber\ignore{ugIntroTypo}.
+\downlink{``Typographic Conventions''}{ugIntroTypoPage} in 
+Section 1.2\ignore{ugIntroTypo}.
 
 \beginmenu
     \menudownlink{{1.1. Starting Up and Winding Down}}{ugIntroStartPage}
@@ -23246,8 +23255,7 @@ expressions, and generate graphics.  If you are in a graphical
 windowing environment, it is usually started automatically when Axiom
 begins.  If it is not running, issue \spadsys{)hd} to start it.  We
 discuss the basics of Hyperdoc in
-\downlink{``\ugHyperTitle''}{ugHyperPage} in Chapter
-\ugHyperNumber\ignore{ugHyper}.
+\downlink{``Using Hyperdoc''}{ugHyperPage} in Chapter 3\ignore{ugHyper}.
 
 To interrupt an Axiom computation, hold down the
 \texht{\fbox{\bf Ctrl}}{{\bf Ctrl}} (control) key and press
@@ -23271,8 +23279,8 @@ different machines, operating systems and window environments, and
 these differences all affect the physical look of the system.  You can
 also change the way that Axiom behaves via \spadgloss{system commands}
 described later in this chapter and in
-\downlink{``\ugSysCmdTitle''}{ugSysCmdPage} in Appendix
-\ugSysCmdNumber\ignore{ugSysCmd}.  System commands are special
+\downlink{``Axiom System Commands''}{ugSysCmdPage} in Appendix B
+\ignore{ugSysCmd}.  System commands are special
 commands, like \spadcmd{)set}, that begin with a closing parenthesis
 and are used to change your environment.  For example, you can set a
 system variable so that you are not prompted for confirmation when you
@@ -23502,8 +23510,9 @@ This is the result from step number 1.
 Everything in Axiom has a type.
 The type determines what operations you can perform on an object and
 how the object can be used.
-An entire chapter of this book (\downlink{``\ugTypesTitle''}{ugTypesPage} 
-in Chapter \ugTypesNumber\ignore{ugTypes}) is dedicated to
+An entire chapter of this book (
+\downlink{``Using Types and Modes''}{ugTypesPage} 
+in Chapter 2\ignore{ugTypes}) is dedicated to
 the interactive use of types.
 Several of the final chapters discuss how types are built and how
 they are organized in the Axiom library.
@@ -23566,10 +23575,10 @@ variable refers to a value.  To \spadglossSee{assign}{assignment} a
 value to a variable, the operator \axiomSyntax{:=} is
 used.\footnote{Axiom actually has two forms of assignment: {\it
 immediate} assignment, as discussed here, and {\it delayed
-assignment}. See \downlink{``\ugLangAssignTitle''}{ugLangAssignPage}
-in Section \ugLangAssignNumber\ignore{ugLangAssign} for details.}  A
-variable initially has no restrictions on the kinds of values to which
-it can refer.
+assignment}. See \downlink{``Immediate and Delayed Assignments''}
+{ugLangAssignPage} in Section 5.1\ignore{ugLangAssign} for details.}
+A variable initially has no restrictions on the kinds of values to
+which it can refer.
 
 \xtc{
 This assignment gives the value \axiom{4} (an integer) to
@@ -23674,8 +23683,8 @@ Objects of one type can usually be ``converted'' to objects of several
 other types.  To \spadglossSee{convert}{conversion} an object to a new
 type, use the \axiomSyntax{::} infix operator.\footnote{Conversion is
 discussed in detail in
-\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} in Section
-\ugTypesConvertNumber\ignore{ugTypesConvert}.}  For example, to
+\downlink{``Conversion''}{ugTypesConvertPage} in Section
+2.7\ignore{ugTypesConvert}.}  For example, to
 display an object, it is necessary to convert the object to type
 \spadtype{OutputForm}.
 
@@ -23767,13 +23776,11 @@ operations are provided for efficiency reasons.
 \begin{page}{ugIntroMacrosPage}{1.3.7. Some Predefined Macros}
 \beginscroll
 
-Axiom provides several \spadglossSee{macros}{macro}
-for your convenience.\footnote{See 
-\downlink{``\ugUserMacrosTitle''}{ugUserMacrosPage} 
-in Section \ugUserMacrosNumber\ignore{ugUserMacros}
-for a discussion on how to write your own macros.}
-Macros are names
-(or forms) that expand to larger expressions for commonly used values.
+Axiom provides several \spadglossSee{macros}{macro} for your
+convenience.\footnote{See \downlink{``Macros''}{ugUserMacrosPage} in
+Section 6.2\ignore{ugUserMacros} for a discussion on how to write your
+own macros.}  Macros are names (or forms) that expand to larger
+expressions for commonly used values.
 
 \texht{
 \centerline{{\begin{tabular}{ll}}}
@@ -23833,11 +23840,11 @@ is the same as if you had entered
 \end{verbatim}
 
 If you are putting your Axiom statements in an input file
-(see \downlink{``\ugInOutInTitle''}{ugInOutInPage} 
-in Section \ugInOutInNumber\ignore{ugInOutIn}),
+(see \downlink{``Input Files''}{ugInOutInPage} 
+in Section 4.1\ignore{ugInOutIn}),
 you can use indentation to indicate the structure of your program.
-(see \downlink{``\ugLangBlocksTitle''}{ugLangBlocksPage} 
-in Section \ugLangBlocksNumber\ignore{ugLangBlocks}).
+(see \downlink{``Blocks''}{ugLangBlocksPage} 
+in Section 5.2\ignore{ugLangBlocks}).
 
 \endscroll
 \autobuttons
@@ -23905,8 +23912,8 @@ options set from the 3D Control Panel.  The PostScript output was
 produced by clicking on the \texht{\fbox{\bf save}}{{\bf save}} 3D
 Control Panel button and then clicking on the \texht{\fbox{\bf
 PS}}{{\bf PS}} button.  See
-\downlink{``\ugProblemNumericTitle''}{ugProblemNumericPage} in Section
-\ugProblemNumericNumber\ignore{ugProblemNumeric} for more details and
+\downlink{``Numeric Functions''}{ugProblemNumericPage} in Section
+8.1\ignore{ugProblemNumeric} for more details and
 examples of Axiom's numeric and graphics capabilities.
 }{
 \graphpaste{draw((x,y) +-> real atan complex(x,y), -\%pi..\%pi, 
@@ -23915,20 +23922,17 @@ examples of Axiom's numeric and graphics capabilities.
 \epsffile[72 72 285 285]{../ps/atan-1.ps}
 }
 
-An exhibit of \Gallery{} is given in the
-center section of this book.
-For a description of the commands and programs that
-produced these figures, see 
-\downlink{``\ugAppGraphicsTitle''}{ugAppGraphicsPage} 
-in Appendix \ugAppGraphicsNumber\ignore{ugAppGraphics}.
-PostScript
-output is available so that Axiom images can be
-printed.\footnote{PostScript is a trademark of Adobe Systems 
-Incorporated, registered in the United States.}
-See \downlink{``\ugGraphTitle''}{ugGraphPage} 
-in Chapter \ugGraphNumber\ignore{ugGraph} for 
-more examples and details about using
-Axiom's graphics facilities.
+An exhibit of \Gallery{} is given in the center section of this book.
+For a description of the commands and programs that produced these
+figures, see 
+\downlink{``Programs for Axiom Images''}{ugAppGraphicsPage} 
+in Appendix G.\ignore{ugAppGraphics}.
+PostScript output is available so that Axiom images can be
+printed.\footnote{PostScript is a trademark of Adobe Systems
+Incorporated, registered in the United States.}  See
+\downlink{``Graphics''}{ugGraphPage} in Chapter 7
+\ignore{ugGraph} for more examples and details about
+using Axiom's graphics facilities.
 
 \endscroll
 \autobuttons
@@ -24161,8 +24165,9 @@ All of the usual arithmetic operations are available.
 Inversion is not available if the modulus is not a prime
 number.
 Modular arithmetic and prime fields are discussed in
-\downlink{``\ugxProblemFinitePrimeTitle''}{ugxProblemFinitePrimePage} 
-in Section \ugxProblemFinitePrimeNumber\ignore{ugxProblemFinitePrime}.
+\downlink{``Modular Arithmetic and Prime Fields''}
+{ugxProblemFinitePrimePage} 
+in Section 8.11.1\ignore{ugxProblemFinitePrime}.
 }{
 \spadpaste{1/y \free{y}}
 }
@@ -24254,8 +24259,8 @@ A \spadgloss{list} is the most commonly used data structure in
 Axiom for holding objects all of the same
 type.\footnote{Lists are discussed in 
 \downlink{`List'}{ListXmpPage}\ignore{List} and in
-\downlink{``\ugLangItsTitle''}{ugLangItsPage} 
-in Section \ugLangItsNumber\ignore{ugLangIts}.}
+\downlink{``Creating Lists and Streams with Iterators''}
+{ugLangItsPage} in Section 5.5\ignore{ugLangIts}.}
 The name {\it list} is short for ``linked-list of nodes.'' Each
 node consists of a value (\spadfunFrom{first}{List}) and a link
 (\spadfunFrom{rest}{List}) that
@@ -24318,8 +24323,8 @@ A \spadgloss{stream}
 is a structure that (potentially) has an infinite number of
 distinct elements.\footnote{Streams are discussed in
 \downlink{`Stream'}{StreamXmpPage}\ignore{Stream} and in 
-\downlink{``\ugLangItsTitle''}{ugLangItsPage} 
-in Section \ugLangItsNumber\ignore{ugLangIts}.}
+\downlink{``Creating Lists and Streams with Iterators''}
+{ugLangItsPage} in Section 5.5\ignore{ugLangIts}.}
 Think of a stream as an ``infinite list'' where elements are
 computed successively.
 
@@ -24554,8 +24559,8 @@ t\free{how t}}
 A {\it record}
 is an example of an inhomogeneous collection
 of objects.\footnote{See 
-\downlink{``\ugTypesRecordsTitle''}{ugTypesRecordsPage} 
-in Section \ugTypesRecordsNumber\ignore{ugTypesRecords} for details.}
+\downlink{``Records''}{ugTypesRecordsPage} 
+in Section 2.4\ignore{ugTypesRecords} for details.}
 A record consists of a set of named {\it selectors} that
 can be used to access its components.
 
@@ -24580,8 +24585,8 @@ Give \axiom{daniel} a raise.
 A {\it union}
 is a data structure used when objects
 have multiple types.\footnote{See 
-\downlink{``\ugTypesUnionsTitle''}{ugTypesUnionsPage} 
-in Section \ugTypesUnionsNumber\ignore{ugTypesUnions} for details.}
+\downlink{``Unions''}{ugTypesUnionsPage} 
+in Section 2.5\ignore{ugTypesUnions} for details.}
 
 \xtc{
 Let \axiom{dog} be either an integer or a string value.
@@ -24597,8 +24602,8 @@ Give \axiom{dog} a name.
 All told, there are over forty different data structures in
 Axiom.
 Using the domain constructors described in 
-\downlink{``\ugDomainsTitle''}{ugDomainsPage} 
-in Chapter \ugDomainsNumber\ignore{ugDomains}, you
+\downlink{``Domains''}{ugDomainsPage} 
+in Chapter 13\ignore{ugDomains}, you
 can add your own data structure or extend an existing one.
 Choosing the right data structure for your application may be the key
 to obtaining good performance.
@@ -24646,13 +24651,13 @@ facilities, see \downlink{`Matrix'}{MatrixXmpPage}\ignore{Matrix},
 \downlink{`Permanent'}{PermanentXmpPage}\ignore{Permanent},
 \downlink{`SquareMatrix'}{SqMatrixXmpPage}\ignore{SquareMatrix}, 
 \downlink{`Vector'}{VectorXmpPage}\ignore{Vector},
-\downlink{``\ugProblemEigenTitle''}{ugProblemEigenPage} 
-in Section \ugProblemEigenNumber\ignore{ugProblemEigen}
+\downlink{``Computation of Eigenvalues and Eigenvectors''}
+{ugProblemEigenPage} in Section 8.4\ignore{ugProblemEigen}
 \texht{(computation of eigenvalues and
 eigenvectors)}{}, and
-\downlink{``\ugProblemLinPolEqnTitle''}{ugProblemLinPolEqnPage} 
-in Section \ugProblemLinPolEqnNumber\ignore{ugProblemLinPolEqn}\
-texht{(solution of linear and
+\downlink{``Solution of Linear and Polynomial Equations''}
+{ugProblemLinPolEqnPage} in Section 8.5\ignore{ugProblemLinPolEqn}
+\texht{(solution of linear and
 polynomial equations)}{}.}
 
 \xtc{
@@ -24663,8 +24668,8 @@ where each of the inner lists represents a row of the matrix.
 }
 \xtc{
 The ``collections'' construct (see 
-\downlink{``\ugLangItsTitle''}{ugLangItsPage} 
-in Section \ugLangItsNumber\ignore{ugLangIts}) is
+\downlink{``Creating Lists and Streams with Iterators''}
+{ugLangItsPage} in Section 5.5\ignore{ugLangIts}) is
 useful for creating matrices whose entries are given by formulas.
 }{
 \spadpaste{matrix([[1/(i + j - x) for i in 1..4] for j in 1..4]) 
@@ -24722,8 +24727,8 @@ For many applications, you need to interact with the interpreter and
 write some Axiom programs to tackle your application.  Axiom allows
 you to write functions interactively, thereby effectively extending
 the system library.  Here we give a few simple examples, leaving the
-details to \downlink{``\ugUserTitle''}{ugUserPage} in Chapter
-\ugUserNumber\ignore{ugUser}.
+details to \downlink{``User-Defined Functions, Macros and Rules''}
+{ugUserPage} in Chapter 6\ignore{ugUser}.
 
 We begin by looking at several ways that you can define the
 ``factorial'' function in Axiom.  The first way is to give a
@@ -24793,8 +24798,8 @@ above because it highly optimizes the recurrence relation definition of
 
 You are not limited to one-line functions in Axiom.
 If you place your function definitions in {\bf .input} files
-(see \downlink{``\ugInOutInTitle''}{ugInOutInPage} 
-in Section \ugInOutInNumber\ignore{ugInOutIn}), you can have
+(see \downlink{``Input Files''}{ugInOutInPage} 
+in Section 4.1\ignore{ugInOutIn}), you can have
 multi-line functions that use indentation for grouping.
 
 Given \axiom{n} elements, \axiomFun{diagonalMatrix} creates an
@@ -25002,8 +25007,8 @@ To find the limit of an expression \axiom{f} as a real variable
 \axiom{x} tends to a limit value \axiom{a}, enter \axiom{limit(f, x=a)}.
 Use \axiomFun{complexLimit} if the variable is complex.
 Additional information and examples of limits are in
-\downlink{``\ugProblemLimitsTitle''}{ugProblemLimitsPage} 
-in Section \ugProblemLimitsNumber\ignore{ugProblemLimits}.
+\downlink{``Limits''}{ugProblemLimitsPage} 
+in Section 8.6\ignore{ugProblemLimits}.
 
 \xtc{
 You can take limits of functions with parameters.
@@ -25070,8 +25075,8 @@ to something else.
 For the purposes of this book, we have used this system command to display
 fewer than ten terms.
 For more information about working with series, see
-\downlink{``\ugProblemSeriesTitle''}{ugProblemSeriesPage} 
-in Section \ugProblemSeriesNumber\ignore{ugProblemSeries}.
+\downlink{``Working with Power Series''}{ugProblemSeriesPage} 
+in Section 8.9\ignore{ugProblemSeries}.
 
 \xtc{
 You can convert a functional expression to a power series by using the
@@ -25377,8 +25382,8 @@ handle some of them.
 }
 
 More examples of Axiom's integration capabilities are discussed in
-\downlink{``\ugProblemIntegrationTitle''}{ugProblemIntegrationPage} 
-in Section \ugProblemIntegrationNumber\ignore{ugProblemIntegration}.
+\downlink{``Integration''}{ugProblemIntegrationPage} 
+in Section 8.8\ignore{ugProblemIntegration}.
 
 \endscroll
 \autobuttons
@@ -25567,8 +25572,8 @@ system, issue operating system commands and leave Axiom.  For example,
 \spadsys{)system} is used to issue commands to the operating system
 from Axiom.  Here is a brief description of some of these commands.
 For more information on specific commands, see
-\downlink{``\ugSysCmdTitle''}{ugSysCmdPage} in Appendix
-\ugSysCmdNumber\ignore{ugSysCmd}.
+\downlink{``Axiom System Commands''}{ugSysCmdPage} in Appendix B
+\ignore{ugSysCmd}.
 
 Perhaps the most important user command is the \spadsys{)clear all}
 command that initializes your environment.  Every section and
@@ -26073,8 +26078,8 @@ wrongfully applying algorithms that presume that the ring axioms hold.
 
 
 Enough on categories. To learn more about them, see
-\downlink{``\ugCategoriesTitle''}{ugCategoriesPage} 
-in Chapter \ugCategoriesNumber\ignore{ugCategories}.
+\downlink{``Categories''}{ugCategoriesPage} 
+in Chapter 12\ignore{ugCategories}.
 We now return to our discussion of domains.
 
 Domains \spadgloss{export} a set of operations to make them available
@@ -26116,8 +26121,8 @@ convert an object from \axiomType{Polynomial(Integer)} to
 \axiomType{Polynomial(Float)}, Axiom builds the package
 \axiomType{PolynomialFunctions2(Integer,Float)} in order to create the
 required conversion function.  (This happens ``behind the scenes'' for
-you: see \downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} in
-Section \ugTypesConvertNumber\ignore{ugTypesConvert} for details on
+you: see \downlink{``Conversion''}{ugTypesConvertPage} in
+Section 2.7\ignore{ugTypesConvert} for details on
 how to convert objects.)
 
 Axiom categories, domains and packages and all their contained
@@ -26148,8 +26153,8 @@ their functions and how to write your own functions.
 %
 
 We have already seen in \texht{the last
-section}{\downlink{``\ugTypesBasicTitle''}{ugTypesBasicPage} in
-Section \ugTypesBasicNumber\ignore{ugTypesBasic}} several examples of
+section}{\downlink{``The Basic Idea''}{ugTypesBasicPage} in
+Section 2.1\ignore{ugTypesBasic}} several examples of
 types.  Most of these examples had either no arguments (for example,
 \axiomType{Integer}) or one argument (for example,
 \axiomType{Polynomial (Integer)}).  In this section we give details
@@ -26165,15 +26170,15 @@ You need to do so when you declare variables.
 }
 \xtc{
 You need to do so when you declare functions
-(\downlink{``\ugTypesDeclareTitle''}{ugTypesDeclarePage} 
-in Section \ugTypesDeclareNumber\ignore{ugTypesDeclare}),
+(\downlink{``Declarations''}{ugTypesDeclarePage} 
+in Section 2.3\ignore{ugTypesDeclare}),
 }{
 \spadpaste{f : Integer -> String}
 }
 \xtc{
 You need to do so when you convert an object from one type to another
-(\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} 
-in Section \ugTypesConvertNumber\ignore{ugTypesConvert}).
+(\downlink{``Conversion''}{ugTypesConvertPage} 
+in Section 2.7\ignore{ugTypesConvert}).
 }{
 \spadpaste{factor(2 :: Complex(Integer))}
 }
@@ -26183,8 +26188,8 @@ in Section \ugTypesConvertNumber\ignore{ugTypesConvert}).
 }
 \xtc{
 You need to do so when you give computation target type information
-(\downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} 
-in Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall}).
+(\downlink{``Package Calling and Target Types''}{ugTypesPkgCallPage} 
+in Section 2.9\ignore{ugTypesPkgCall}).
 }{
 \spadpaste{(2 = 3)@Boolean}
 }
@@ -26275,8 +26280,8 @@ then enclose the whole type expression with parentheses.
 }
 \xtc{
 If you supply computation target type information
-(\downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} 
-in Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall})
+(\downlink{``Package Calling and Target Types''}{ugTypesPkgCallPage} 
+in Section 2.9\ignore{ugTypesPkgCall})
 then you should enclose the argument in parentheses.
 }{
 \spadpaste{(2/3)@Fraction(Polynomial(Integer))}
@@ -26365,11 +26370,10 @@ integer that is the dimension of a square matrix).  This rules out,
 for example, the two \axiomType{SquareMatrix} expressions.
 
 Modes can be used for declarations
-(\downlink{``\ugTypesDeclareTitle''}{ugTypesDeclarePage} 
-in Section \ugTypesDeclareNumber\ignore{ugTypesDeclare})
-and conversions
-(\downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} 
-in Section \ugTypesConvertNumber\ignore{ugTypesConvert}).
+(\downlink{``Declarations''}{ugTypesDeclarePage} 
+in Section 2.3\ignore{ugTypesDeclare}) and conversions
+(\downlink{``Conversion''}{ugTypesConvertPage} 
+in Section 2.7\ignore{ugTypesConvert}).
 However, you cannot use a mode for package calling or giving target
 type information.
 
@@ -26429,8 +26433,8 @@ abbreviations.  For a specific constructor, use \spadcmd{)abbreviation
 query}.  You can also use the \spadcmd{)what} system command to see
 the names and abbreviations of constructors.  For more information
 about \spadcmd{)what}, see
-\downlink{``\ugSysCmdwhatTitle''}{ugSysCmdwhatPage} in Section
-\ugSysCmdwhatNumber\ignore{ugSysCmdwhat}.
+\downlink{``)what''}{ugSysCmdwhatPage} in Section B.28
+\ignore{ugSysCmdwhat}.
 \xtc{
 \spadcmd{)abbreviation query} can be
 abbreviated (no pun intended) to \spadcmd{)abb q}.
@@ -26482,13 +26486,13 @@ You can always combine a declaration with an assignment.
 When you do, it is equivalent to first giving a declaration statement,
 then giving an assignment.
 For more information on assignment, see
-\downlink{``\ugIntroAssignTitle''}{ugIntroAssignPage} 
-in Section \ugIntroAssignNumber\ignore{ugIntroAssign} and
-\downlink{``\ugLangAssignTitle''}{ugLangAssignPage} 
-in Section \ugLangAssignNumber\ignore{ugLangAssign}.
+\downlink{``Symbols, Variables, Assignments, and Declarations''}
+{ugIntroAssignPage} in Section 1.3.4\ignore{ugIntroAssign} and
+\downlink{``Immediate and Delayed Assignments''}{ugLangAssignPage} 
+in Section 5.1\ignore{ugLangAssign}.
 To see how to declare your own functions, see
-\downlink{``\ugUserDeclareTitle''}{ugUserDeclarePage} 
-in Section \ugUserDeclareNumber\ignore{ugUserDeclare}.
+\downlink{``Declaring the Type of Functions''}{ugUserDeclarePage} 
+in Section 6.4\ignore{ugUserDeclare}.
 
 \xtc{
 This declares one variable to have a type.
@@ -26559,8 +26563,8 @@ This is a complex object with polynomial real and imaginary parts.
 \xtc{
 This is a polynomial with complex integer coefficients.
 The objects are convertible from one to the other.
-See \downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} 
-in Section \ugTypesConvertNumber\ignore{ugTypesConvert} for more 
+See \downlink{``Conversion''}{ugTypesConvertPage} 
+in Section 2.7\ignore{ugTypesConvert} for more 
 information.
 }{
 \spadpaste{g : POLY COMPLEX ? := (x + y*\%i)**2}
@@ -26904,10 +26908,8 @@ Here the retraction fails.
 \begin{page}{ugTypesUnionsWSelPage}{2.5.2. Unions With Selectors}
 \beginscroll
 
-Like records (
-\downlink{``\ugTypesRecordsTitle''}{ugTypesRecordsPage} 
-in Section \ugTypesRecordsNumber\ignore{ugTypesRecords}),
-you can write \pspadtype{Union} types
+Like records ( \downlink{``Records''}{ugTypesRecordsPage} in Section
+2.4\ignore{ugTypesRecords}), you can write \pspadtype{Union} types
 with selectors.
 
 \beginImportant
@@ -26933,8 +26935,8 @@ integer {\it and} a float {\it and} a string.  An object of type
 {\it or} a float {\it or} a string.
 
 Here is a version of the \userfun{sayBranch} function (cf.
-\downlink{``\ugTypesUnionsWOSelTitle''}{ugTypesUnionsWOSelPage} 
-in Section \ugTypesUnionsWOSelNumber\ignore{ugTypesUnionsWOSel}) 
+\downlink{``Unions Without Selectors''}{ugTypesUnionsWOSelPage} 
+in Section 2.5.1\ignore{ugTypesUnionsWOSel}) 
 that works with a union with selectors.
 It displays a message stating in which branch of the \pspadtype{Union} the
 object lies.
@@ -27140,8 +27142,8 @@ argument type have commutative multiplication, whereas
 that its argument belong to the category \axiomType{IntegralDomain} and
 \axiomType{Complex} requires that its argument belong to
 \axiomType{CommutativeRing}. See
-\downlink{``\ugTypesBasicTitle''}{ugTypesBasicPage} 
-in Section \ugTypesBasicNumber\ignore{ugTypesBasic}
+\downlink{``The Basic Idea''}{ugTypesBasicPage} 
+in Section 2.1\ignore{ugTypesBasic}
 for a brief discussion of categories.}
 The \axiomType{Integer} level did not move anywhere
 because it does not allow any arguments.
@@ -27335,8 +27337,8 @@ Nevertheless, there are times when you need to help it along by
 providing hints (or even orders!) to get Axiom to do what
 you want.
 
-We saw in \downlink{``\ugTypesDeclareTitle''}{ugTypesDeclarePage} 
-in Section \ugTypesDeclareNumber\ignore{ugTypesDeclare} that 
+We saw in \downlink{``Declarations''}{ugTypesDeclarePage} 
+in Section 2.3\ignore{ugTypesDeclare} that 
 declarations using types
 and modes control the type of the results produced.
 For example, we can either produce a complex object with
@@ -27403,8 +27405,9 @@ For example, to call the ``minimum'' function from \axiomType{DoubleFloat}
 on two integers, you could write \axiom{min(4,89)\$DoubleFloat}.
 Another use of package calling is to tell Axiom to use a library
 function rather than a function you defined.
-We discuss this in \downlink{``\ugUserUseTitle''}{ugUserUsePage} 
-in Section \ugUserUseNumber\ignore{ugUserUse}.
+We discuss this in 
+\downlink{``How Axiom Determines What Function to Use''}{ugUserUsePage} 
+in Section 6.9\ignore{ugUserUse}.
 
 Sometimes rather than specifying where an operation comes from, you just
 want to say what type the result should be.
@@ -27620,8 +27623,8 @@ either
 operations without doing
 anything special) or it is {\it hidden} (meaning you have to either
 package call
-(see \downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} 
-in Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall})
+(see \downlink{``Package Calling and Target Types''}{ugTypesPkgCallPage} 
+in Section 2.9\ignore{ugTypesPkgCall})
 the operations it contains or explicitly expose it to use the
 operations).
 The initial exposure status for a constructor is set in the
@@ -27691,8 +27694,8 @@ default environment.
 
 It is more likely that you would want to expose or hide individual
 constructors.  In
-\downlink{``\ugUserTriangleTitle''}{ugUserTrianglePage} in Section
-\ugUserTriangleNumber\ignore{ugUserTriangle} we use several operations
+\downlink{``A Famous Triangle''}{ugUserTrianglePage} in Section
+6.19\ignore{ugUserTriangle} we use several operations
 from \axiomType{OutputForm}, a domain usually hidden.  To avoid
 package calling every operation from \axiomType{OutputForm}, we expose
 the domain and let Axiom conclude that those operations should be
@@ -27722,8 +27725,8 @@ drop constructor OutputForm \bound{setexposedrop}} }
 
 Finally, exposure is done on a frame-by-frame basis.  A
 \spadgloss{frame} (see
-\downlink{``\ugSysCmdframeTitle''}{ugSysCmdframePage} in Section
-\ugSysCmdframeNumber\ignore{ugSysCmdframe}) is one of possibly several
+\downlink{``)frame''}{ugSysCmdframePage} in Section B.11
+\ignore{ugSysCmdframe}) is one of possibly several
 logical Axiom workspaces within a physical one, each having its own
 environment (for example, variables and function definitions).  If you
 have several Axiom workspace windows on your screen, they are all
@@ -27751,8 +27754,8 @@ that you can use for getting more information about domains,
 packages, categories, and operations.
 The most powerful Axiom facility for getting information about
 constructors and operations is the \Browse{} component of Hyperdoc.
-This is discussed in \downlink{``\ugBrowseTitle''}{ugBrowsePage} 
-in Chapter \ugBrowseNumber\ignore{ugBrowse}.
+This is discussed in \downlink{``Browse''}{ugBrowsePage} 
+in Chapter 14\ignore{ugBrowse}.
 
 Use the \spadsys{)what} system command to see lists of system objects
 whose name contain a particular substring (uppercase or lowercase is
@@ -27808,8 +27811,8 @@ The primary example of a constructor implementing domains
 belonging to \axiomType{ComplexCategory} is \axiomType{Complex}.
 See \downlink{`Complex'}{ComplexXmpPage}\ignore{Complex} 
 for more information on that and see
-\downlink{``\ugUserDeclareTitle''}{ugUserDeclarePage} in 
-Section \ugUserDeclareNumber\ignore{ugUserDeclare} 
+\downlink{``Declaring the Type of Functions''}{ugUserDeclarePage} in 
+Section 6.4\ignore{ugUserDeclare} 
 for more information on function types.
 \endscroll
 \autobuttons
@@ -27920,10 +27923,10 @@ For example, there is no \ReturnButton{} button on the top-level menu.
 
 The following keyboard definitions are in effect throughout
 Hyperdoc.
-See \downlink{``\ugHyperScrollTitle''}{ugHyperScrollPage} 
-in Section \ugHyperScrollNumber\ignore{ugHyperScroll} and
-\downlink{``\ugHyperInputTitle''}{ugHyperInputPage} 
-in Section \ugHyperInputNumber\ignore{ugHyperInput}
+See \downlink{``Scroll Bars''}{ugHyperScrollPage} 
+in Section 3.3\ignore{ugHyperScroll} and
+\downlink{``Input Areas''}{ugHyperInputPage} 
+in Section 3.4\ignore{ugHyperInput}
 for some contextual key definitions.
 %
 \indent{0}
@@ -27989,8 +27992,8 @@ They move the visible part of the region up and down one page each
 time you press them.
 
 If the Hyperdoc page does not contain an input area
-(see \downlink{``\ugHyperInputTitle''}{ugHyperInputPage} 
-in Section \ugHyperInputNumber\ignore{ugHyperInput}), 
+(see \downlink{``Input Areas''}{ugHyperInputPage} 
+in Section 3.4\ignore{ugHyperInput}), 
 you can also use the
 \texht{\fbox{\bf Home}}{{\bf Home}} and
 \texht{\fbox{$\uparrow$}}{up} and
@@ -28420,8 +28423,8 @@ The file is in your home directory or in the directory you
 specified with \spadsys{)cd}.
 \endImportant
 
-In \downlink{``\ugLangBlocksTitle''}{ugLangBlocksPage} 
-in Section \ugLangBlocksNumber\ignore{ugLangBlocks}
+In \downlink{``Blocks''}{ugLangBlocksPage} in Section 5.2
+\ignore{ugLangBlocks}
 we discuss using indentation in input files to group statements
 into {\it blocks.}
 
@@ -29057,8 +29060,9 @@ values held by variables.
 
 There is no syntactic form for multiple delayed assignments.
 See the discussion in
-\downlink{``\ugUserDelayTitle''}{ugUserDelayPage} 
-in Section \ugUserDelayNumber\ignore{ugUserDelay}
+\downlink{``Delayed Assignments vs. Functions with No Arguments''}
+{ugUserDelayPage} 
+in Section 6.8\ignore{ugUserDelay}
 about how Axiom differentiates between delayed assignments and
 user functions of no arguments.
 
@@ -29201,8 +29205,8 @@ eval(x**2 - x*y**2,
 }
 \xtc{
 Blocks can be used in the clauses of \axiom{if-then-else}
-expressions (see \downlink{``\ugLangIfTitle''}{ugLangIfPage} 
-in Section \ugLangIfNumber\ignore{ugLangIf}).
+expressions (see \downlink{``if-then-else''}{ugLangIfPage} 
+in Section 5.3\ignore{ugLangIf}).
 }{
 \spadpaste{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5)) \free{h}}
 }
@@ -29287,8 +29291,8 @@ If the
 \void{}.
 If both clauses are present, the type of the value returned by \axiom{if}
 is obtained by resolving the types of the values of the two clauses.
-See \downlink{``\ugTypesResolveTitle''}{ugTypesResolvePage} 
-in Section \ugTypesResolveNumber\ignore{ugTypesResolve}
+See \downlink{``Resolving Types''}{ugTypesResolvePage} 
+in Section 2.10\ignore{ugTypesResolve}
 for more information.
 
 The predicate must evaluate to, or be convertible to, an object of type
@@ -29310,8 +29314,9 @@ In other contexts you may need to tell Axiom that you want
 to test for equality rather than create an equation.
 In those cases, use \axiomSyntax{@} and a target type of
 \axiomType{Boolean}.
-See \downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} in Section 
-\ugTypesPkgCallNumber\ignore{ugTypesPkgCall} for more information.
+See \downlink{``Package Calling and Target Types''}
+{ugTypesPkgCallPage} in Section 2.9
+\ignore{ugTypesPkgCall} for more information.
 
 The compound symbol meaning ``not equal'' in Axiom is
 ``\texht{$\sim =$}{\axiom{~=}}''.
@@ -29467,8 +29472,8 @@ message stating the problem and then the following message:
 %
 It is still possible that Axiom can evaluate the loop but in
 \spadgloss{interpret-code mode}.
-See \downlink{``\ugUserCompIntTitle''}{ugUserCompIntPage} 
-in Section \ugUserCompIntNumber\ignore{ugUserCompInt} where 
+See \downlink{``Compiling vs. Interpreting''}{ugUserCompIntPage} 
+in Section 6.10\ignore{ugUserCompInt} where 
 this is discussed in terms
 of compiling versus interpreting functions.
 
@@ -29548,8 +29553,8 @@ f() ==
 \xtc{
 When we try \userfun{f} again we get what we wanted.
 See
-\downlink{``\ugUserBlocksTitle''}{ugUserBlocksPage} 
-in Section \ugUserBlocksNumber\ignore{ugUserBlocks}
+\downlink{``Functions Defined with Blocks''}{ugUserBlocksPage} 
+in Section 6.15\ignore{ugUserBlocks}
 for more information.
 }{
 \spadpaste{f() \free{f1}}
@@ -29580,8 +29585,8 @@ That is, \axiom{break} takes no argument.
 \xtc{
 This example is a modification of the last example in
 \texht{the previous section}{
-\downlink{``\ugLangLoopsReturnTitle''}{ugLangLoopsReturnPage} 
-in Section \ugLangLoopsReturnNumber\ignore{ugLangLoopsReturn}}.
+\downlink{``return in Loops''}{ugLangLoopsReturnPage} 
+in Section 5.4.2\ignore{ugLangLoopsReturn}}.
 Instead of using \axiom{return}, we'll use \axiom{break}.
 }{
 \begin{spadsrc}[\bound{f1}]
@@ -29771,8 +29776,8 @@ Scan the rows looking for the first negative element.
 We remark that you can reformulate this example in a better, more
 concise form by using a \axiom{for} clause with \axiom{repeat}.
 See
-\downlink{``\ugLangLoopsForInTitle''}{ugLangLoopsForInPage} 
-in Section \ugLangLoopsForInNumber\ignore{ugLangLoopsForIn}
+\downlink{``for Loops''}{ugLangLoopsForInPage} 
+in Section 5.4.8\ignore{ugLangLoopsForIn}
 for more information.
 }{
 \begin{spadsrc}[\free{m2 r c lastrow lastcol}]
@@ -30234,8 +30239,8 @@ for i in 1..50 repeat
 
 The last example of
 \texht{the previous section}{
-\downlink{``\ugLangLoopsForInPredTitle''}{ugLangLoopsForInPredPage} 
-in Section \ugLangLoopsForInPredNumber\ignore{ugLangLoopsForInPred}}
+\downlink{``Such that Predicates''}{ugLangLoopsForInPredPage} 
+in Section 5.4.13\ignore{ugLangLoopsForInPred}}
 gives an example of
 \spadgloss{nested iteration}: a loop is contained
 in another loop.
@@ -30371,8 +30376,8 @@ or any \axiom{for} clause to the left.
 \beginscroll
 
 All of what we did for loops in 
-\downlink{``\ugLangLoopsTitle''}{ugLangLoopsPage} 
-in Section \ugLangLoopsNumber\ignore{ugLangLoops}
+\downlink{``Loops''}{ugLangLoopsPage} 
+in Section 5.4\ignore{ugLangLoops}
 can be transformed into expressions that create lists
 and streams.
 The \axiom{repeat,} \axiom{break} or \axiom{iterate} words are not used but
@@ -30742,8 +30747,8 @@ This is a use of the ``absolute value'' library function for integers.
 \xtc{
 This is an unnamed function that does the same thing, using the
 ``maps-to'' syntax \axiomSyntax{+->} that we discuss in
-\downlink{``\ugUserAnonTitle''}{ugUserAnonPage} 
-in Section \ugUserAnonNumber\ignore{ugUserAnon}.
+\downlink{``Anonymous Functions''}{ugUserAnonPage} 
+in Section 6.17\ignore{ugUserAnon}.
 }{
 \spadpaste{(x +-> if x < 0 then -x else x)(-8)}
 }
@@ -30926,8 +30931,8 @@ If you define a function in the workspace that has the same name and number
 of arguments as one in the library, then your definition takes precedence.
 In fact, to get the library function you must
 \spadglossSee{package-call}{package call} it (see 
-\downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} 
-in Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall}).
+\downlink{``Package Calling and Target Types''}{ugTypesPkgCallPage} 
+in Section 2.9\ignore{ugTypesPkgCall}).
 
 To use a function in Axiom, you apply it to its arguments.
 Most functions are applied by entering the name of the function followed by
@@ -30976,8 +30981,8 @@ Every function in Axiom is identified by
 a \spadgloss{name} and \spadgloss{type}.\footnote{An exception is
 an ``anonymous function''
 discussed in
-\downlink{``\ugUserAnonTitle''}{ugUserAnonPage} 
-in Section \ugUserAnonNumber\ignore{ugUserAnon}.}
+\downlink{``Anonymous Functions''}{ugUserAnonPage} 
+in Section 6.17\ignore{ugUserAnon}.}
 The type of a function is always a mapping of the form
 \spadsig{Source}{Target}
 where \axiom{Source} and \axiom{Target} are types.
@@ -31010,8 +31015,8 @@ but with different functions.
 \begin{page}{ugUserDeclarePage}{6.4. Declaring the Type of Functions}
 \beginscroll
 
-In \downlink{``\ugTypesDeclareTitle''}{ugTypesDeclarePage} 
-in Section \ugTypesDeclareNumber\ignore{ugTypesDeclare} we 
+In \downlink{``Declarations''}{ugTypesDeclarePage} 
+in Section 2.3\ignore{ugTypesDeclare} we 
 discussed how to declare a variable
 to restrict the kind of values that can be assigned to it.
 In this section we show how to declare a variable that refers to
@@ -31080,8 +31085,8 @@ A current restriction on function declarations is that they must
 involve fully specified types (that is, cannot include modes involving
 explicit or implicit \axiomSyntax{?}).
 For more information on declaring things in general, see
-\downlink{``\ugTypesDeclareTitle''}{ugTypesDeclarePage} 
-in Section \ugTypesDeclareNumber\ignore{ugTypesDeclare}.
+\downlink{``Declarations''}{ugTypesDeclarePage} 
+in Section 2.3\ignore{ugTypesDeclare}.
 
 \endscroll
 \autobuttons
@@ -31213,8 +31218,8 @@ Here \axiom{x+1} for \axiom{x = "axiom"} makes no sense.
 \spadpaste{g("axiom")\free{g}}
 }
 
-As you will see in \downlink{``\ugCategoriesTitle''}{ugCategoriesPage} 
-in Chapter \ugCategoriesNumber\ignore{ugCategories},
+As you will see in \downlink{``Categories''}{ugCategoriesPage} 
+in Chapter 12\ignore{ugCategories},
 Axiom has a formal idea of categories for what ``makes sense.''
 
 \endscroll
@@ -31260,17 +31265,17 @@ type.  An operation is what domains and packages export.  Thus
 \axiomType{Ring} exports one operation \axiomOp{+}.  Every ring also
 exports this operation.  Also, the author of every ring in the system
 is obliged under contract (see
-\downlink{``\ugPackagesAbstractTitle''}{ugPackagesAbstractPage} in
-Section \ugPackagesAbstractNumber\ignore{ugPackagesAbstract}) to
+\downlink{``Abstract Datatypes''}{ugPackagesAbstractPage} in
+Section 11.3\ignore{ugPackagesAbstract}) to
 provide an implementation for this operation.
 
 This chapter is all about functions---how you create them
 interactively and how you apply them to meet your needs.  In
-\downlink{``\ugPackagesTitle''}{ugPackagesPage} in Chapter
-\ugPackagesNumber\ignore{ugPackages} you will learn how to create them
+\downlink{``Packages''}{ugPackagesPage} in Chapter
+11\ignore{ugPackages} you will learn how to create them
 for the Axiom library.  Then in
-\downlink{``\ugCategoriesTitle''}{ugCategoriesPage} in Chapter
-\ugCategoriesNumber\ignore{ugCategories}, you will learn about
+\downlink{``Categories''}{ugCategoriesPage} in Chapter
+12\ignore{ugCategories}, you will learn about
 categories and exported operations.
 
 \endscroll
@@ -31286,8 +31291,9 @@ categories and exported operations.
 {6.8. Delayed Assignments vs. Functions with No Arguments}
 \beginscroll
 
-In \downlink{``\ugLangAssignTitle''}{ugLangAssignPage} in Section 
-\ugLangAssignNumber\ignore{ugLangAssign} we discussed the difference 
+In \downlink{``Immediate and Delayed Assignments''}
+{ugLangAssignPage} in Section 
+5.1\ignore{ugLangAssign} we discussed the difference 
 between immediate and
 delayed assignments.
 In this section we show the difference between delayed
@@ -31362,8 +31368,8 @@ The value \axiom{1.0} is returned for any argument.
 }
 \xtc{
 If you want the library operation, we have to package-call it
-(see \downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} 
-in Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall}
+(see \downlink{``Package Calling and Target Types''}{ugTypesPkgCallPage} 
+in Section 2.9\ignore{ugTypesPkgCall}
 for more information).
 }{
 \spadpaste{sin(4.3)\$Float}
@@ -31423,8 +31429,8 @@ creating an object of type \axiomType{Fraction(Integer)}.
 \item[8. ] No \axiomOp{+} for arguments of types \axiomType{Variable(x)} 
 and \axiomType{Fraction(Integer)} are found in either domain.
 \item[9. ] Axiom resolves
-(see \downlink{``\ugTypesResolveTitle''}{ugTypesResolvePage} 
-in Section \ugTypesResolveNumber\ignore{ugTypesResolve})
+(see \downlink{``Resolving Types''}{ugTypesResolvePage} 
+in Section 2.10\ignore{ugTypesResolve})
 the types and gets \axiomType{Polynomial (Fraction (Integer))}.
 \item[10. ] The \axiom{x} and the \axiom{2/3} are converted to objects 
 of this type and \axiomOp{+} is applied, yielding the answer, an object 
@@ -31501,8 +31507,8 @@ for var in ['x,'y,'z] repeat
 
 Sometimes you can help a function to compile by using an extra
 conversion or by using \axiom{pretend}.  \spadkey{pretend} See
-\downlink{``\ugTypesSubdomainsTitle''}{ugTypesSubdomainsPage} in
-Section \ugTypesSubdomainsNumber\ignore{ugTypesSubdomains} for
+\downlink{``Subdomains Again''}{ugTypesSubdomainsPage} in
+Section 2.8\ignore{ugTypesSubdomains} for
 details.
 
 When a function is compilable, you have the choice of whether it is
@@ -31698,8 +31704,8 @@ functions and compiled.
 \xtc{
 Let's recall the definition of \userfun{eleven} from
 \texht{the previous section}{
-\downlink{``\ugUserPieceBasicTitle''}{ugUserPieceBasicPage} 
-in Section \ugUserPieceBasicNumber\ignore{ugUserPieceBasic}}.
+\downlink{``A Basic Example''}{ugUserPieceBasicPage} 
+in Section 6.11.1\ignore{ugUserPieceBasic}}.
 }{
 \spadpaste{eleven(n | n < 1) == n + 11\bound{ff0}}
 }
@@ -31802,14 +31808,13 @@ Check it at \axiom{n= 100}.
 
 We have already seen some examples of
 predicates
-(\downlink{``\ugUserPieceBasicTitle''}{ugUserPieceBasicPage} 
-in Section \ugUserPieceBasicNumber\ignore{ugUserPieceBasic}).
+(\downlink{``A Basic Example''}{ugUserPieceBasicPage} 
+in Section 6.11.1\ignore{ugUserPieceBasic}).
 Predicates are \axiomType{Boolean}-valued expressions and Axiom uses them
 for filtering collections
-(see \downlink{``\ugLangItsTitle''}{ugLangItsPage} 
-in Section \ugLangItsNumber\ignore{ugLangIts})
-and for placing
-constraints on function arguments.
+(see \downlink{``Creating Lists and Streams with Iterators''}
+{ugLangItsPage} in Section 5.5\ignore{ugLangIts})
+and for placing constraints on function arguments.
 In this section we discuss their latter usage.
 
 \xtc{
@@ -31946,8 +31951,8 @@ arguments should be cached.
 
 You should also be careful about caching functions that depend on
 free variables.
-See \downlink{``\ugUserFreeLocalTitle''}{ugUserFreeLocalPage} in 
-Section \ugUserFreeLocalNumber\ignore{ugUserFreeLocal}
+See \downlink{``Free and Local Variables''}{ugUserFreeLocalPage} in 
+Section 6.16\ignore{ugUserFreeLocal}
 for an example.
 
 \endscroll
@@ -32043,11 +32048,11 @@ relation, Axiom caches the last \axiom{k} values.}
 If, after computing a value for \userfun{fib}, you ask
 for some larger value, Axiom picks up the cached values
 and continues computing from there.
-See \downlink{``\ugUserFreeLocalTitle''}{ugUserFreeLocalPage} 
-in Section \ugUserFreeLocalNumber\ignore{ugUserFreeLocal}
+See \downlink{``Free and Local Variables''}{ugUserFreeLocalPage} 
+in Section 6.16\ignore{ugUserFreeLocal}
 for an example of a function definition that has this same behavior.
-Also see \downlink{``\ugUserCacheTitle''}{ugUserCachePage} 
-in Section \ugUserCacheNumber\ignore{ugUserCache}
+Also see \downlink{``Caching Previously Computed Results''}
+{ugUserCachePage} in Section 6.12\ignore{ugUserCache}
 for a more general discussion of how you can cache function values.
 
 Recurrence relations can be used for defining recurrence relations
@@ -32239,8 +32244,8 @@ InputForm}.  Thus you can use \axiomFun{function} for
 You need not restrict yourself to functions that only fit on one line
 or are written in a piece-wise manner.
 The body of the function can be a block, as discussed in
-\downlink{``\ugLangBlocksTitle''}{ugLangBlocksPage} 
-in Section \ugLangBlocksNumber\ignore{ugLangBlocks}.
+\downlink{``Blocks''}{ugLangBlocksPage} 
+in Section 5.2\ignore{ugLangBlocks}.
 
 \labelSpace{1pc}
 \xtc{
@@ -32515,8 +32520,8 @@ in your functions.  No declaration is needed for this situation, but
 be sure to initialize their values.
 
 Be careful if you use free variables and you cache the value of
-your function (see \downlink{``\ugUserCacheTitle''}{ugUserCachePage} 
-in Section \ugUserCacheNumber\ignore{ugUserCache}).
+your function (see \downlink{``Caching Previously Computed Results''}
+{ugUserCachePage} in Section 6.12\ignore{ugUserCache}).
 Caching {\it only} checks if the values of the function arguments
 are the same as in a function call previously seen.
 It does not check if any of the free variables on which the
@@ -32600,8 +32605,8 @@ To conclude this section, we give an iterative definition of
 a function that computes Fibonacci numbers.
 This definition approximates the definition into which Axiom
 transforms the recurrence relation definition of \userfun{fib} in
-\downlink{``\ugUserRecurTitle''}{ugUserRecurPage} 
-in Section \ugUserRecurNumber\ignore{ugUserRecur}.
+\downlink{``Recurrence Relations''}{ugUserRecurPage} 
+in Section 6.13\ignore{ugUserRecur}.
 
 \xtc{
 Global variables
@@ -33004,8 +33009,8 @@ operations you probably haven't seen before.
 To make these output operations
 available, we have to \spadgloss{expose} the domain
 \axiomType{OutputForm}.
-See \downlink{``\ugTypesExposeTitle''}{ugTypesExposePage} 
-in Section \ugTypesExposeNumber\ignore{ugTypesExpose} for 
+See \downlink{``Exposing Domains and Packages''}{ugTypesExposePage} 
+in Section 2.11\ignore{ugTypesExpose} for 
 more information about exposing domains
 and packages.
 }{
@@ -33140,9 +33145,8 @@ A list of polynomials.
 }
 \xtc{
 A list of integers from the example in
-\texht{the last section.}{\downlink{``\ugUserTriangleTitle''}
-{ugUserTrianglePage} in Section \ugUserTriangleNumber
-\ignore{ugUserTriangle}.}
+\texht{the last section.}{\downlink{``A Famous Triangle''}
+{ugUserTrianglePage} in Section 6.19\ignore{ugUserTriangle}.}
 }{
 \spadpaste{pal? [1,6,15,20,15,6,1] \free{pal palAux}}
 }
@@ -33634,8 +33638,8 @@ The general format for drawing a function defined by a formula
 \centerline{{{\tt draw(f(x), x = a..b, {\it options})}}}
 where \axiom{a..b} defines the range of \axiom{x}, and where
 {\it options} prescribes zero or more options as described in
-\downlink{``\ugGraphTwoDOptionsTitle''}{ugGraphTwoDOptionsPage} 
-in Section \ugGraphTwoDOptionsNumber\ignore{ugGraphTwoDOptions}.
+\downlink{``Two-Dimensional Options''}{ugGraphTwoDOptionsPage} 
+in Section 7.1.4\ignore{ugGraphTwoDOptions}.
 An example of an option is \axiom{curveColor == bright red().}
 An alternative format involving functions \axiom{f} and \axiom{g}
 is also available.
@@ -33719,8 +33723,8 @@ parametric formulas \axiom{x = f(t)} and \axiom{y = g(t)} is:
 where \axiom{a..b} defines the range of the independent variable \axiom{t},
 and where {\it options} prescribes zero or more options as
 described in 
-\downlink{``\ugGraphThreeDOptionsTitle''}{ugGraphThreeDOptionsPage} 
-in Section \ugGraphThreeDOptionsNumber\ignore{ugGraphThreeDOptions}.
+\downlink{``Three-Dimensional Options''}{ugGraphThreeDOptionsPage} 
+in Section 7.2.4\ignore{ugGraphThreeDOptions}.
 An example of an option is \axiom{curveColor == bright red().}
 \endImportant
 
@@ -33824,8 +33828,8 @@ A {\tt range} option is always given to designate a bounding
 rectangular region of the plane \texht{$a \leq x \leq b, c \leq y
 \leq d$}{a <= x <= b, c <= y <= d}.
 Zero or more additional options as described in
-\downlink{``\ugGraphTwoDOptionsTitle''}{ugGraphTwoDOptionsPage} 
-in Section \ugGraphTwoDOptionsNumber\ignore{ugGraphTwoDOptions} 
+\downlink{``Two-Dimensional Options''}{ugGraphTwoDOptionsPage} 
+in Section 7.1.4\ignore{ugGraphTwoDOptions} 
 may be given.
 \endImportant
 
@@ -33923,10 +33927,10 @@ clip == [-2*\%pi..2*\%pi,-\%pi..\%pi], unit == [1.0,1.0])}
 \psXtc{
 Option {\tt curveColor} sets the color of the graph curves or 
 lines to be the indicated palette color
-(see \downlink{``\ugGraphColorTitle''}{ugGraphColorPage} in Section 
-\ugGraphColorNumber\ignore{ugGraphColor} and 
-\downlink{``\ugGraphColorPaletteTitle''}{ugGraphColorPalettePage} 
-in Section \ugGraphColorPaletteNumber\ignore{ugGraphColorPalette}).
+(see \downlink{``Color''}{ugGraphColorPage} in Section 
+7.1.5\ignore{ugGraphColor} and 
+\downlink{``Palette''}{ugGraphColorPalettePage} 
+in Section 7.1.6\ignore{ugGraphColorPalette}).
 }{
 \graphpaste{draw(sin(x),x=-\%pi..\%pi, curveColor == bright red())}
 }{
@@ -33937,10 +33941,10 @@ in Section \ugGraphColorPaletteNumber\ignore{ugGraphColorPalette}).
 Option {\tt pointColor}
 sets the color of the graph points to the indicated
 palette color
-(see \downlink{``\ugGraphColorTitle''}{ugGraphColorPage} 
-in Section \ugGraphColorNumber\ignore{ugGraphColor} and 
-\downlink{``\ugGraphColorPaletteTitle''}{ugGraphColorPalettePage} 
-in Section \ugGraphColorPaletteNumber\ignore{ugGraphColorPalette}).
+(see \downlink{``Color''}{ugGraphColorPage} 
+in Section 7.1.5\ignore{ugGraphColor} and 
+\downlink{``Palette''}{ugGraphColorPalettePage} 
+in Section 7.1.6\ignore{ugGraphColorPalette}).
 }{
 \graphpaste{draw(sin(x),x=-\%pi..\%pi, pointColor == pastel yellow())}
 }{
@@ -33986,8 +33990,8 @@ in which the graph
 is plotted.
 The default is to use the Cartesian coordinate system.
 For more details, see 
-\downlink{``\ugGraphCoordTitle''}{ugGraphCoordPage} in 
-Section \ugGraphCoordNumber\ignore{ugGraphCoord} \texht{.}{or
+\downlink{``Coordinate System Transformations''}{ugGraphCoordPage} in 
+Section 7.2.7\ignore{ugGraphCoord} \texht{.}{or
 \axiomType{CoordinateSystems}.}
 }{
 \graphpaste{draw(curve(sin(5*t),t),t=0..2*\%pi, coordinates == polar)}
@@ -34888,8 +34892,8 @@ The general format for drawing a surface defined by a formula
 where \axiom{a..b} and \axiom{c..d} define the range of \axiom{x}
 and \axiom{y}, and where {\it options} prescribes zero or more
 options as described in 
-\downlink{``\ugGraphThreeDOptionsTitle''}{ugGraphThreeDOptionsPage} 
-in Section \ugGraphThreeDOptionsNumber\ignore{ugGraphThreeDOptions}.
+\downlink{``Three-Dimensional Options''}{ugGraphThreeDOptionsPage} 
+in Section 7.2.4\ignore{ugGraphThreeDOptions}.
 An example of an option is \axiom{title == "Title of Graph".}
 An alternative format involving a function \axiom{f} is also
 available.
@@ -34955,8 +34959,8 @@ parametric formulas \axiom{x = f(t)}, \axiom{y = g(t)}, and
 where \axiom{a..b} defines the range of the independent variable
 \axiom{t}, and where {\it options} prescribes zero or more options
 as described in 
-\downlink{``\ugGraphThreeDOptionsTitle''}{ugGraphThreeDOptionsPage} 
-in Section \ugGraphThreeDOptionsNumber\ignore{ugGraphThreeDOptions}.
+\downlink{``Three-Dimensional Options''}{ugGraphThreeDOptionsPage} 
+in Section 7.2.4\ignore{ugGraphThreeDOptions}.
 An example of an option is \axiom{title == "Title of Graph".}
 An alternative format involving functions \axiom{f}, \axiom{g} and
 \axiom{h} is also available.
@@ -35029,8 +35033,8 @@ u = a..b, v = c..d, {\it options})}}}
 where \axiom{a..b} and \axiom{c..d} define the range of the
 independent variables \axiom{u} and \axiom{v}, and where
 {\it options} prescribes zero or more options as described in
-\downlink{``\ugGraphThreeDOptionsTitle''}{ugGraphThreeDOptionsPage} 
-in Section \ugGraphThreeDOptionsNumber\ignore{ugGraphThreeDOptions}.
+\downlink{``Three-Dimensional Options''}{ugGraphThreeDOptionsPage} 
+in Section 7.2.4\ignore{ugGraphThreeDOptions}.
 An example of an option is \axiom{title == "Title of Graph".}
 An alternative format involving functions \axiom{f}, \axiom{g} and
 \axiom{h} is also available.
@@ -35043,8 +35047,8 @@ parabolic cylindrical coordinate system option.
 The values of the functions supplied to \axiomFun{surface} are
 interpreted in coordinates as given by a {\tt coordinates} option,
 here as parabolic cylindrical coordinates (see
-\downlink{``\ugGraphCoordTitle''}{ugGraphCoordPage} 
-in Section \ugGraphCoordNumber\ignore{ugGraphCoord}).
+\downlink{``Coordinate System Transformations''}{ugGraphCoordPage} 
+in Section 7.2.7\ignore{ugGraphCoord}).
 }{
 \graphpaste{draw(surface(u*cos(v), u*sin(v), v*cos(u)), 
 u=-4..4, v=0..\%pi, coordinates== parabolicCylindrical)}
@@ -35186,8 +35190,8 @@ color also depends on the value of the function.
 Normally the Cartesian coordinate system is used.
 To change this, use the {\tt coordinates} option.
 For details, see 
-\downlink{``\ugGraphCoordTitle''}{ugGraphCoordPage} 
-in Section \ugGraphCoordNumber\ignore{ugGraphCoord}.
+\downlink{``Coordinate System Transformations''}{ugGraphCoordPage} 
+in Section 7.2.7\ignore{ugGraphCoord}.
 %
 %
 \xtc{
@@ -36506,19 +36510,20 @@ with Axiom.
 
 @
 \pagehead{ugProblemNumericPage}{ug08.ht}{Numeric Functions}
-\pageto{notitle}{ugIntroPage}
-\pageto{notitle}{FloatXmpPage}
-\pageto{notitle}{DoubleFloatXmpPage}
+\pagepic{ps/v71ugproblemnumericpage.eps}{ugProblemNumericPage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{An Overview of Axiom}{ugIntroPage}
+\pageto{Float}{FloatXmpPage}
+\pageto{DoubleFloat}{DoubleFloatXmpPage}
 <<ug08.ht>>=
 \begin{page}{ugProblemNumericPage}{8.1. Numeric Functions}
 \beginscroll
-%
 Axiom provides two basic floating-point types: \axiomType{Float} and
 \axiomType{DoubleFloat}.  This section describes how to use numerical
 operations defined on these types and the related complex types.
 
-As we mentioned in \downlink{``\ugIntroTitle''}{ugIntroPage} in
-Chapter \ugIntroNumber\ignore{ugIntro}, the \axiomType{Float} type is
+As we mentioned in \downlink{``An Overview of Axiom''}{ugIntroPage} in
+Chapter 1\ignore{ugIntro}, the \axiomType{Float} type is
 a software implementation of floating-point numbers in which the
 exponent and the significand may have any number of digits.  See
 \downlink{`Float'}{FloatXmpPage}\ignore{Float} for detailed
@@ -37160,8 +37165,8 @@ extensions of these fields.
 \xtc{
 Convert this to have coefficients in the finite field with
 \texht{$19^3$}{\axiom{19**3}} elements.  See
-\downlink{``\ugProblemFiniteTitle''}{ugProblemFinitePage} in Section
-\ugProblemFiniteNumber\ignore{ugProblemFinite} for more information
+\downlink{``Finite Fields''}{ugProblemFinitePage} in Section
+8.11\ignore{ugProblemFinite} for more information
 about finite fields.
 }{
 \spadpaste{factor(u :: POLY FFX(PF 19,3)) \free{u}}
@@ -37283,10 +37288,12 @@ In this section we show you how to work with one root or all roots
 of a polynomial.
 These roots are represented symbolically (as opposed to being
 numeric approximations).
-See \downlink{``\ugxProblemOnePolTitle''}{ugxProblemOnePolPage} 
-in Section \ugxProblemOnePolNumber\ignore{ugxProblemOnePol} and 
-\downlink{``\ugxProblemPolSysTitle''}{ugxProblemPolSysPage} in 
-Section \ugxProblemPolSysNumber\ignore{ugxProblemPolSys} for
+See \downlink{``Solution of a Single Polynomial Equation''}
+{ugxProblemOnePolPage} 
+in Section 8.5.2\ignore{ugxProblemOnePol} and 
+\downlink{``Solution of Systems of Polynomial Equations''}
+{ugxProblemPolSysPage} in 
+Section 8.5.3\ignore{ugxProblemPolSys} for
 information about solving for the roots of one or more
 polynomials.
 
@@ -37422,8 +37429,9 @@ its trace and norm.
 \xtc{
 Corresponding to the pair of operations
 \axiomFun{rootOf}/\axiomFun{zeroOf} in
-\downlink{``\ugxProblemOnePolTitle''}{ugxProblemOnePolPage} in Section
-\ugxProblemOnePolNumber\ignore{ugxProblemOnePol}, there is an
+\downlink{``Solution of a Single Polynomial Equation''}
+{ugxProblemOnePolPage} in Section
+8.5.2\ignore{ugxProblemOnePol}, there is an
 operation \axiomFun{zerosOf} that, like \axiomFun{rootsOf}, computes
 all the roots of a given polynomial, but which expresses some of them
 in terms of radicals.
@@ -37569,8 +37577,8 @@ In this section we discuss the Axiom facilities for solving
 systems of linear equations, finding the roots of polynomials and
 solving systems of polynomial equations.
 For a discussion of the solution of differential equations, see
-\downlink{``\ugProblemDEQTitle''}{ugProblemDEQPage} in 
-Section \ugProblemDEQNumber\ignore{ugProblemDEQ}.
+\downlink{``Solution of Differential Equations''}{ugProblemDEQPage} in 
+Section 8.10\ignore{ugProblemDEQ}.
 
 \beginmenu
     \menudownlink{{8.5.1. Solution of Systems of Linear Equations}}
@@ -37814,8 +37822,8 @@ Instead of a polynomial equation, one has to give a list of
 equations and instead of a single variable to solve for, a list of
 variables.
 For solutions of single equations see 
-\downlink{``\ugxProblemOnePolTitle''}{ugxProblemOnePolPage} in 
-Section \ugxProblemOnePolNumber\ignore{ugxProblemOnePol}.
+\downlink{``Solution of a Single Polynomial Equation''}
+{ugxProblemOnePolPage} in Section 8.5.2\ignore{ugxProblemOnePol}.
 
 %
 \xtc{
@@ -38150,8 +38158,8 @@ Sometimes \axiomFun{integrate} can involve symbolic algebraic numbers
 such as those returned by \axiomFunFrom{rootOf}{Expression}.
 To see how to work with these strange generated symbols (such as
 \axiom{\%\%a0}), see 
-\downlink{``\ugxProblemSymRootAllTitle''}{ugxProblemSymRootAllPage} 
-in Section \ugxProblemSymRootAllNumber\ignore{ugxProblemSymRootAll}.
+\downlink{``Using All Roots of a Polynomial''}{ugxProblemSymRootAllPage} 
+in Section 8.3.2\ignore{ugxProblemSymRootAll}.
 
 Definite integration is the process of computing the area between the
 \axiom{x}-axis and the curve of a function \axiom{f(x)}.  The
@@ -38243,8 +38251,9 @@ know what kind of exponents are involved.
 
 For information about solving differential equations in terms of
 power series, see 
-\downlink{``\ugxProblemDEQSeriesTitle''}{ugxProblemDEQSeriesPage} in 
-Section \ugxProblemDEQSeriesNumber\ignore{ugxProblemDEQSeries}.
+\downlink{``Power Series Solutions of Differential Equations''}
+{ugxProblemDEQSeriesPage} in 
+Section 8.10.3\ignore{ugxProblemDEQSeries}.
 
 \beginmenu
   \menudownlink{{8.9.1. Creation of Power Series}}
@@ -38321,22 +38330,21 @@ You can also convert an expression into a series expansion.
 This expression creates the series expansion of \axiom{1/log(y)}
 about \axiom{y = 1}.
 For details and more examples, see
-\downlink{``\ugxProblemSeriesConversionsTitle''}
+\downlink{``Converting to Power Series''}
 {ugxProblemSeriesConversionsPage} in Section 
-\ugxProblemSeriesConversionsNumber\ignore{ugxProblemSeriesConversions}.
+8.9.5\ignore{ugxProblemSeriesConversions}.
 }{
 \spadpaste{series(1/log(y),y = 1)}
 }
 
 You can create power series with more general coefficients.
 You normally accomplish this via a type declaration (see
-\downlink{``\ugTypesDeclareTitle''}{ugTypesDeclarePage} in Section 
-\ugTypesDeclareNumber\ignore{ugTypesDeclare}).
+\downlink{``Declarations''}{ugTypesDeclarePage} in Section 
+2.3\ignore{ugTypesDeclare}).
 See 
-\downlink{``\ugxProblemSeriesFunctionsTitle''}
+\downlink{``Functions on Power Series''}
 {ugxProblemSeriesFunctionsPage}
-in Section \ugxProblemSeriesFunctionsNumber
-\ignore{ugxProblemSeriesFunctions} 
+in Section 8.9.4\ignore{ugxProblemSeriesFunctions} 
 for some warnings about working with declared series.
 
 \xtc{
@@ -38354,8 +38362,8 @@ Then, by assignment, we obtain the Taylor expansion of
 You can also create a power series by giving an explicit formula
 for its \eth{\axiom{n}} coefficient.
 For details and more examples, see
-\downlink{``\ugxProblemSeriesFormulaTitle''}{ugxProblemSeriesFormulaPage} 
-in Section \ugxProblemSeriesFormulaNumber\ignore{ugxProblemSeriesFormula}.
+\downlink{``Power Series from Formulas''}{ugxProblemSeriesFormulaPage} 
+in Section 8.9.6\ignore{ugxProblemSeriesFormula}.
 
 \xtc{
 To create a series about
@@ -38746,9 +38754,9 @@ certain transcendental functions by giving formulas for their
 coefficients.  You can also compute such series expansions directly
 simply by specifying the function and the point about which the series
 is to be expanded.  See
-\downlink{``\ugxProblemSeriesConversionsTitle''}
+\downlink{``Converting to Power Series''}
 {ugxProblemSeriesConversionsPage} in Section
-\ugxProblemSeriesConversionsNumber\ignore{ugxProblemSeriesConversions}
+8.9.5\ignore{ugxProblemSeriesConversions}
 for more information.
 
 Consider the Taylor expansion of \texht{$e^x$}{\axiom{\%e**x}}
@@ -38779,8 +38787,8 @@ powers of \axiom{(x - 0)}, that is, in powers of \axiom{x}.  Since we
 did not specify an initial degree, the first term in the series was
 the term of degree 0 (the constant term).  Note that the formula was
 given as an anonymous function.  These are discussed in
-\downlink{``\ugUserAnonTitle''}{ugUserAnonPage} in Section
-\ugUserAnonNumber\ignore{ugUserAnon}.
+\downlink{``Anonymous Functions''}{ugUserAnonPage} in Section
+6.17\ignore{ugUserAnon}.
 
 Consider the Taylor expansion of \axiom{log x} about \axiom{x = 1}:
 \texht{\narrowDisplay{%
@@ -38867,9 +38875,9 @@ When we compute the \axiom{sin} of this series, we get \axiom{x}
 }
 
 As we discussed in 
-\downlink{``\ugxProblemSeriesConversionsTitle''}
+\downlink{``Converting to Power Series''}
 {ugxProblemSeriesConversionsPage} in Section 
-\ugxProblemSeriesConversionsNumber\ignore{ugxProblemSeriesConversions},
+8.9.5\ignore{ugxProblemSeriesConversions},
 you can also use the operations \axiomFun{taylor}, \axiomFun{laurent} and
 \axiomFun{puiseux} instead of \axiomFun{series} if you know ahead of time
 what kind of exponents a series has.
@@ -39111,8 +39119,8 @@ when integrating factors can be found just by integration.
 
 For a discussion of the solution of systems of linear and polynomial
 equations, see
-\downlink{``\ugProblemLinPolEqnTitle''}{ugProblemLinPolEqnPage} in 
-Section \ugProblemLinPolEqnNumber\ignore{ugProblemLinPolEqn}.
+\downlink{``Solution of Linear and Polynomial Equations''}
+{ugProblemLinPolEqnPage} in Section 8.5\ignore{ugProblemLinPolEqn}.
 
 \beginmenu
     \menudownlink{
@@ -39529,19 +39537,21 @@ the solution.
 
 @
 \pagehead{ugProblemFinitePage}{ug08.ht}{Finite Fields}
-\pageto{notitle}{ugxProblemFinitePrimePage}
-\pageto{notitle}{ugxProblemFinitePrimePage}
-\pageto{notitle}{ugxProblemFiniteExtensionFinitePage}
-\pageto{notitle}{ugxProblemFiniteModulusPage}
-\pageto{notitle}{ugxProblemFiniteCyclicPage}
-\pageto{notitle}{ugxProblemFiniteNormalPage}
-\pageto{notitle}{ugxProblemFiniteConversionPage}
-\pageto{notitle}{ugxProblemFiniteUtilityPage}
+\pagepic{ps/v71ugproblemfinitepage.eps}{ugProblemFinitePage}
+\pagefrom{Axiom Number Types}{NumberPage}
+\pageto{Modular Arithmetic and Prime Fields}{ugxProblemFinitePrimePage}
+\pageto{Extensions of Finite Fields}{ugxProblemFiniteExtensionFinitePage}
+\pageto{Irreducible Modulus Polynomial Representations}
+{ugxProblemFiniteModulusPage}
+\pageto{Cyclic Group Representations}{ugxProblemFiniteCyclicPage}
+\pageto{Normal Basis Representations}{ugxProblemFiniteNormalPage}
+\pageto{Conversion Operations for Finite Fields}
+{ugxProblemFiniteConversionPage}
+\pageto{Utility Operations for Finite Fields}
+{ugxProblemFiniteUtilityPage}
 <<ug08.ht>>=
 \begin{page}{ugProblemFinitePage}{8.11. Finite Fields}
 \beginscroll
-%
-
 A {\it finite field} (also called a {\it Galois field}) is a
 finite algebraic structure where one can add, multiply and divide
 under the same laws (for example, commutativity, associativity or
@@ -39568,8 +39578,9 @@ Press, 1983, ISBN 0 521 30240 4.}
 When \axiom{n = 1,} the field has \smath{p} elements and is
 called a {\it prime field}, discussed in \texht{the next
 section}{
-\downlink{``\ugxProblemFinitePrimeTitle''}{ugxProblemFinitePrimePage} 
-in Section \ugxProblemFinitePrimeNumber\ignore{ugxProblemFinitePrime}}.
+\downlink{``Modular Arithmetic and Prime Fields''}
+{ugxProblemFinitePrimePage} 
+in Section 8.11.1\ignore{ugxProblemFinitePrime}}.
 There are several ways of implementing extensions of finite
 fields, and Axiom provides quite a bit of freedom to allow
 you to choose the one that is best for your application.
@@ -39579,8 +39590,8 @@ field.
 Finally, note that you usually need to package-call operations
 from finite fields if the operations do not take as an argument an
 object of the field.
-See \downlink{``\ugTypesPkgCallTitle''}{ugTypesPkgCallPage} in 
-Section \ugTypesPkgCallNumber\ignore{ugTypesPkgCall} for more 
+See \downlink{``Package Calling and Target Types''}
+{ugTypesPkgCallPage} in Section 2.9\ignore{ugTypesPkgCall} for more 
 information on package-calling.
 
 \beginmenu
@@ -39883,9 +39894,8 @@ This polynomial may be given explicitly by you or automatically
 generated.
 The ground field may be the prime field or one you specify.
 See 
-\downlink{``\ugxProblemFiniteExtensionFiniteTitle''}
-{ugxProblemFiniteExtensionFinitePage} in Section 
-\ugxProblemFiniteExtensionFiniteNumber
+\downlink{``Extensions of Finite Fields''}
+{ugxProblemFiniteExtensionFinitePage} in Section 8.11.2
 \ignore{ugxProblemFiniteExtensionFinite}
 for general information about finite field extensions.
 
@@ -40042,9 +40052,9 @@ multiplicative group).  Multiplication (and hence exponentiation)
 using this representation is easy.  To do addition, we consider our
 primitive element as the root of a primitive polynomial (an
 irreducible polynomial whose roots are all primitive).  See
-\downlink{``\ugxProblemFiniteUtilityTitle''}
+\downlink{``Utility Operations for Finite Fields''}
 {ugxProblemFiniteUtilityPage} in Section
-\ugxProblemFiniteUtilityNumber\ignore{ugxProblemFiniteUtility} for
+8.11.7\ignore{ugxProblemFiniteUtility} for
 examples of how to compute such a polynomial.
 
 %
@@ -40125,8 +40135,9 @@ polynomial.
 \xtc{
 We use a utility operation to generate an irreducible primitive
 polynomial (see 
-\downlink{``\ugxProblemFiniteUtilityTitle''}{ugxProblemFiniteUtilityPage} 
-in Section \ugxProblemFiniteUtilityNumber\ignore{ugxProblemFiniteUtility}).
+\downlink{``Utility Operations for Finite Fields''}
+{ugxProblemFiniteUtilityPage} 
+in Section 8.11.7\ignore{ugxProblemFiniteUtility}).
 The polynomial has one variable that is ``anonymous'': it displays
 as a question mark.
 }{
@@ -40257,8 +40268,9 @@ The degree of the extension is the degree of the polynomial.
 \xtc{
 We use a utility operation to generate an irreducible normal
 polynomial (see 
-\downlink{``\ugxProblemFiniteUtilityTitle''}{ugxProblemFiniteUtilityPage} 
-in Section \ugxProblemFiniteUtilityNumber\ignore{ugxProblemFiniteUtility}).
+\downlink{``Utility Operations for Finite Fields''}
+{ugxProblemFiniteUtilityPage} 
+in Section 8.11.7\ignore{ugxProblemFiniteUtility}).
 The polynomial has one variable that is ``anonymous'': it displays
 as a question mark.
 }{
@@ -40380,9 +40392,8 @@ To check this, let's do some arithmetic.
 There are also conversions available for the
 situation, when \texht{$K_m$}{\axiom{Km}} and \texht{$K_n$}{\axiom{Kn}}
 are represented in different ways (see
-\downlink{``\ugxProblemFiniteExtensionFiniteTitle''}
-{ugxProblemFiniteExtensionFinitePage} in Section 
-\ugxProblemFiniteExtensionFiniteNumber
+\downlink{``Extensions of Finite Fields''}
+{ugxProblemFiniteExtensionFinitePage} in Section 8.11.2
 \ignore{ugxProblemFiniteExtensionFinite}).
 For example let's choose \texht{$K_m$}{\axiom{Km}} where the
 representation is 0 plus the cyclic multiplicative group and
@@ -41155,8 +41166,8 @@ following five commands as necessary).
 
 Proceeding in this fashion, you can find the values of
 \axiom{aa2,...aa5}.\footnote{Here you should use the \Clef{} line
-editor.  See \downlink{``\ugAvailCLEFTitle''}{ugAvailCLEFPage} in
-Section \ugAvailCLEFNumber\ignore{ugAvailCLEF} for more information
+editor.  See \downlink{``Clef''}{ugAvailCLEFPage} in
+Section 1.1.1\ignore{ugAvailCLEF} for more information
 about \Clef{}.}  You have represented the automorphism \axiom{beta ->
 bb} as a permutation of the roots \axiom{a1,...,a5}.  If you wish, you
 can repeat this computation for all the roots of \smath{r(x)} and
@@ -41439,8 +41450,8 @@ By the end of this chapter you will know enough about graphics and
 programming in the interpreter to not only understand all these
 examples, but to tackle interesting and difficult problems on your
 own.
-\downlink{``\ugAppGraphicsTitle''}{ugAppGraphicsPage} in 
-Appendix \ugAppGraphicsNumber\ignore{ugAppGraphics} lists 
+\downlink{``Programs for Axiom Images''}{ugAppGraphicsPage} in 
+Appendix G\ignore{ugAppGraphics} lists 
 all the remaining commands and
 programs used to create these images.
 
@@ -41558,8 +41569,8 @@ There are many other things you can do.
 In fact, most everything you can do interactively using the
 \threedim{} control panel (such as translating, zooming, resizing,
 coloring, perspective and lighting selections) can also be done
-directly by operations (see \downlink{``\ugGraphTitle''}{ugGraphPage} 
-in Chapter \ugGraphNumber\ignore{ugGraph} for more details).
+directly by operations (see \downlink{``Graphics''}{ugGraphPage} 
+in Chapter 7\ignore{ugGraph} for more details).
 
 When you are done experimenting, say \spad{reset(vp)} to restore the
 picture to its original position and settings.
@@ -41687,16 +41698,17 @@ containing the following program.
 \endImportant
 
 Here are some remarks on the syntax used in the \pspadfun{drawRibbons}
-function (consult \downlink{``\ugUserTitle''}{ugUserPage} in Chapter
-\ugUserNumber\ignore{ugUser} for more details).  Unlike most other
+function (consult 
+\downlink{``User-Defined Functions, Macros and Rules''}{ugUserPage} 
+in Chapter 6\ignore{ugUser} for more details).  Unlike most other
 programming languages which use semicolons, parentheses, or {\it
 begin}--{\it end} brackets to delineate the structure of programs, the
 structure of an Axiom program is determined by indentation.  The first
 line of the function definition always begins in column 1.  All other
 lines of the function are indented with respect to the first line and
 form a \spadgloss{pile} (see
-\downlink{``\ugLangBlocksTitle''}{ugLangBlocksPage} in Section
-\ugLangBlocksNumber\ignore{ugLangBlocks}).
+\downlink{``Blocks''}{ugLangBlocksPage} in Section
+5.2\ignore{ugLangBlocks}).
 
 The definition of \userfun{drawRibbons} consists of a pile of
 expressions to be executed one after another.  Each expression of the
@@ -42165,8 +42177,8 @@ draw the complex valued function, again considering the
 \smath{(x,y)}-plane as the complex plane, using \smath{r} as the
 height (or \smath{z}-coordinate) and \smath{\theta} as the color.
 This is a standard plot---we learned how to do this in
-\downlink{``\ugGraphTitle''}{ugGraphPage} in Chapter
-\ugGraphNumber\ignore{ugGraph}---but here we write a new program to
+\downlink{``Graphics''}{ugGraphPage} in Chapter
+7\ignore{ugGraph}---but here we write a new program to
 illustrate the creation of polygon meshes, or grids.
 
 Call this function \userfun{drawComplex}.
@@ -42262,8 +42274,8 @@ Draw it with an odd number of steps to avoid the pole.
 \begin{page}{ugIntProgFunctionsPage}{10.8. Functions Producing Functions}
 \beginscroll
 
-In \downlink{``\ugUserMakeTitle''}{ugUserMakePage} in Section
-\ugUserMakeNumber\ignore{ugUserMake}, you learned how to use the
+In \downlink{``Making Functions from Objects''}{ugUserMakePage} in Section
+6.14\ignore{ugUserMake}, you learned how to use the
 operation \spadfun{function} to create a function from symbolic
 formulas.  Here we introduce a similar operation which not only
 creates functions, but functions from functions.
@@ -42490,15 +42502,15 @@ Axiom's algorithmic library, from numeric packages for computing
 special functions to symbolic facilities for
 differential equations, symbolic integration, and limits.
 
-In \downlink{``\ugIntProgTitle''}{ugIntProgPage} in Chapter
-\ugIntProgNumber\ignore{ugIntProg}, we developed several useful
+In \downlink{``Interactive Programming''}{ugIntProgPage} in Chapter
+10\ignore{ugIntProg}, we developed several useful
 functions for drawing vector fields and complex functions.  We now
 show you how you can add these functions to the Axiom library to make
 them available for general use.
 
 The way we created the functions in
-\downlink{``\ugIntProgTitle''}{ugIntProgPage} in Chapter
-\ugIntProgNumber\ignore{ugIntProg} is typical of how you, as an
+\downlink{``Interactive Programming''}{ugIntProgPage} in Chapter
+10\ignore{ugIntProg} is typical of how you, as an
 advanced Axiom user, may interact with Axiom.  You have an
 application.  You go to your editor and create an input file defining
 some functions for the application.  Then you run the file and try the
@@ -42597,14 +42609,14 @@ drawComplex(f,\ realRange,\ imagRange,\ arrows?)\ ==\ ...}\newline
 
 Each package has a name and an abbreviation.  For a package of the
 complex draw functions from
-\downlink{``\ugIntProgTitle''}{ugIntProgPage} in Chapter
-\ugIntProgNumber\ignore{ugIntProg}, we choose the name
+\downlink{``Interactive Programming''}{ugIntProgPage} in Chapter
+10\ignore{ugIntProg}, we choose the name
 \nonLibAxiomType{DrawComplex} and abbreviation
 \nonLibAxiomType{DRAWCX}.\footnote{An abbreviation can be any string
 of between two and seven capital letters and digits, beginning with a
 letter.  See
-\downlink{``\ugTypesWritingAbbrTitle''}{ugTypesWritingAbbrPage} in
-Section \ugTypesWritingAbbrNumber\ignore{ugTypesWritingAbbr} for more
+\downlink{``Abbreviations''}{ugTypesWritingAbbrPage} in
+Section 2.5.5\ignore{ugTypesWritingAbbr} for more
 information.}  To be sure that you have not chosen a name or
 abbreviation already used by the system, issue the system command
 \spadcmd{)show} for both the name and the abbreviation.
@@ -42710,8 +42722,8 @@ to users.  As an author of a package, you must ensure that the {\tt
 Implementation} part provides a function for each operation in the
 {\tt Exports} part.\footnote{The \spadtype{DrawComplex} package
 enhances the facility described in
-\downlink{``\ugIntProgCompFunsTitle''}{ugIntProgCompFunsPage} in
-Chapter \ugIntProgCompFunsNumber\ignore{ugIntProgCompFuns} by allowing
+\downlink{``Drawing Complex Functions''}{ugIntProgCompFunsPage} in
+Chapter 10.7\ignore{ugIntProgCompFuns} by allowing
 a complex function to have arrows emanating from the surface to
 indicate the direction of the complex argument.}
 
@@ -42921,13 +42933,13 @@ The power of packages becomes evident when packages have parameters.
 Usually these parameters are domains and the exported operations have
 types involving these parameters.
 
-In \downlink{``\ugTypesTitle''}{ugTypesPage} in Chapter
-\ugTypesNumber\ignore{ugTypes}, you learned that categories denote
+In \downlink{``Using Types and Modes''}{ugTypesPage} in Chapter
+2\ignore{ugTypes}, you learned that categories denote
 classes of domains.  Although we cover this notion in detail in the
 next chapter, we now give you a sneak preview of its usefulness.
 
-In \downlink{``\ugUserBlocksTitle''}{ugUserBlocksPage} in Section
-\ugUserBlocksNumber\ignore{ugUserBlocks}, we defined functions
+In \downlink{``Functions Defined with Blocks''}{ugUserBlocksPage} in
+Section 6.15\ignore{ugUserBlocks}, we defined functions
 \axiom{bubbleSort(m)} and \axiom{insertionSort(m)} to sort a list of
 integers.  If you look at the code for these functions, you see that
 they may be used to sort {\it any} structure \axiom{m} with the right
@@ -42951,9 +42963,8 @@ maximum index of the list.  The first obvious property is that
 done by your telling Axiom that \axiom{m} has the ``attribute''
 \spadatt{finiteAggregate}.  An \spadgloss{attribute} is a property
 that a domain either has or does not have.  As we show later in
-\downlink{``\ugCategoriesAttributesTitle''}{ugCategoriesAttributesPage}
-in Section
-\ugCategoriesAttributesNumber\ignore{ugCategoriesAttributes}, programs
+\downlink{``Attributes''}{ugCategoriesAttributesPage}
+in Section 12.9\ignore{ugCategoriesAttributes}, programs
 can query domains as to the presence or absence of an attribute.
 
 The operation \spadfunX{swap} swaps elements of \axiom{m}.
@@ -43095,8 +43106,8 @@ bubbleSort!(m)\ ==\ bubbleSort!(m,<\$S)}\newline
 insertionSort!(m)\ ==\ insertionSort!(m,<\$S)}\newline
 \endImportant
 
-In \downlink{``\ugUserBlocksTitle''}{ugUserBlocksPage} in Section
-\ugUserBlocksNumber\ignore{ugUserBlocks}, we give an alternative
+In \downlink{``Functions Defined with Blocks''}{ugUserBlocksPage} in 
+Section 6.15\ignore{ugUserBlocks}, we give an alternative
 definition of \fakeAxiomFun{bubbleSort} using
 \spadfunFrom{first}{List} and \spadfunFrom{rest}{List} that is more
 efficient for a list (for which access to any element requires
@@ -43315,8 +43326,8 @@ IndexedAggregate(Integer, D2) with} two attributes.
 So the interpreter searches for an \axiomType{IndexedAggregate}
 among the ancestors of \axiomType{List (Integer)} (see
 
-\downlink{``\ugCategoriesHierTitle''}{ugCategoriesHierPage} in Section
-\ugCategoriesHierNumber\ignore{ugCategoriesHier}).  It finds one:
+\downlink{``Hierarchies''}{ugCategoriesHierPage} in Section
+12.4\ignore{ugCategoriesHier}).  It finds one:
 \axiomType{IndexedAggregate(Integer, Integer)}.  The interpreter tries
 defining \axiom{D2} as \axiomType{Integer}.  After substituting for
 \axiom{D1} and \axiom{D2}, the predicate evaluates to \axiom{true}.
@@ -43363,9 +43374,8 @@ system to include new categories of your own.
 
 We assume that you have read the introductory material on domains and
 categories in
-\downlink{``\ugTypesBasicDomainConsTitle''}{ugTypesBasicDomainConsPage}
-in Section
-\ugTypesBasicDomainConsNumber\ignore{ugTypesBasicDomainCons}.  There
+\downlink{``Domain Constructors''}{ugTypesBasicDomainConsPage}
+in Section 2.1.1\ignore{ugTypesBasicDomainCons}.  There
 you learned that the notion of packages covered in the previous
 chapter are special cases of domains.  While this is in fact the case,
 it is useful here to regard domains as distinct from packages.
@@ -43458,8 +43468,8 @@ always in column one in the source file.
 All parts of a category definition are then indented with respect to this
 first line.
 
-In \downlink{``\ugTypesTitle''}{ugTypesPage} in Chapter
-\ugTypesNumber\ignore{ugTypes}, we talked about \spadtype{Ring} as
+In \downlink{``Using Types and Modes''}{ugTypesPage} in Chapter
+2\ignore{ugTypes}, we talked about \spadtype{Ring} as
 denoting the class of all domains that are rings, in short, the class
 of all rings.  While this is the usual naming convention in Axiom, it
 is also common to use the word ``Category'' at the end of a category
@@ -43748,8 +43758,8 @@ operations \spadop{*} and \spadop{**}.
 We actually omitted the last
 part of the definition of
 \spadtype{SemiGroup} in
-\downlink{``\ugCategoriesHierTitle''}{ugCategoriesHierPage} 
-in Section \ugCategoriesHierNumber\ignore{ugCategoriesHier}.
+\downlink{``Hierarchies''}{ugCategoriesHierPage} 
+in Section 12.4\ignore{ugCategoriesHier}.
 Here now is its complete Axiom definition.
 
 \beginImportant
@@ -43784,8 +43794,8 @@ sense of the hierarchy) to the domain is chosen.
 The part of the category definition following an \spadop{add} operation
 is a \spadgloss{capsule}, as discussed in
 \texht{the previous chapter.}
-{\downlink{``\ugPackagesTitle''}{ugPackagesPage} 
-in Chapter \ugPackagesNumber\ignore{ugPackages}.}
+{\downlink{``Packages''}{ugPackagesPage} 
+in Chapter 11\ignore{ugPackages}.}
 The line
 \begin{verbatim}
 import RepeatedSquaring($)
@@ -43834,8 +43844,8 @@ as automatically generated by Axiom from the above definition of
 \beginscroll
 
 In \texht{the previous section}
-{\downlink{``\ugCategoriesDefaultsTitle''}{ugCategoriesDefaultsPage}
-in Section \ugCategoriesDefaultsNumber\ignore{ugCategoriesDefaults}}
+{\downlink{``Defaults''}{ugCategoriesDefaultsPage}
+in Section 12.6\ignore{ugCategoriesDefaults}}
 you saw the complete Axiom program defining \index{axiom}
 \spadtype{SemiGroup}.  According to this definition, semigroups (that
 is, are sets with the operations \spadopFrom{*}{SemiGroup} and
@@ -43973,8 +43983,8 @@ have commutative multiplication?
 
 Attributes are used to conditionally export and define
 operations for a domain (see 
-\downlink{``\ugDomainsAssertionsTitle''}{ugDomainsAssertionsPage} in 
-Section \ugDomainsAssertionsNumber\ignore{ugDomainsAssertions}).
+\downlink{``Category Assertions''}{ugDomainsAssertionsPage} in 
+Section 13.3\ignore{ugDomainsAssertions}).
 Attributes can also be asserted in a category definition.
 
 After mentioning category \spadtype{Ring} many times in this book,
@@ -44138,8 +44148,8 @@ if R has IntegerNumberSystem then
 
 Here the predicate used is identical to the predicate in the {\tt
 Exports} part.  This need not be the case.  See
-\downlink{``\ugPackagesCondsTitle''}{ugPackagesCondsPage} in Section
-\ugPackagesCondsNumber\ignore{ugPackagesConds} for a more complicated
+\downlink{``Conditionals''}{ugPackagesCondsPage} in Section
+11.8\ignore{ugPackagesConds} for a more complicated
 example.
 
 \endscroll
@@ -44157,8 +44167,8 @@ The part of a category to the right of a {\tt with} is also regarded
 as a category---an ``anonymous category.''  Thus you have already seen
 a category definition The {\tt Exports} part of the package
 \pspadtype{DrawComplex}
-(\downlink{``\ugPackagesAbstractTitle''}{ugPackagesAbstractPage} in
-Section \ugPackagesAbstractNumber\ignore{ugPackagesAbstract}) is an
+(\downlink{``Abstract Datatypes''}{ugPackagesAbstractPage} in
+Section 11.3\ignore{ugPackagesAbstract}) is an
 anonymous category.  This is not necessary.  We could, instead, give
 this category a name:
 
@@ -44267,8 +44277,8 @@ operation returns an element of the domain.
 If no exported operations mention \axiomSyntax{\$}, then evidently
 there is nothing of interest to do with the objects of the domain.
 You might then say that a package is a ``boring'' domain!  But, as you
-saw in \downlink{``\ugPackagesTitle''}{ugPackagesPage} in Chapter
-\ugPackagesNumber\ignore{ugPackages}, packages are a very useful
+saw in \downlink{``Packages''}{ugPackagesPage} in Chapter
+11\ignore{ugPackages}, packages are a very useful
 notion indeed.  The exported operations of a package depend solely on
 the parameters to the package constructor and other explicit domains.
 
@@ -44416,9 +44426,8 @@ means that membership in a category does not depend on the values of
 the parameters to the domain constructor.  This part thus defines the
 link between the domains and the category hierarchies given on the
 inside covers of this book.  As described in
-\downlink{``\ugCategoriesCorrectnessTitle''}{ugCategoriesCorrectnessPage}
-in Section
-\ugCategoriesCorrectnessNumber\ignore{ugCategoriesCorrectness}, it is
+\downlink{``Correctness''}{ugCategoriesCorrectnessPage}
+in Section 12.8\ignore{ugCategoriesCorrectness}, it is
 this link that makes it possible for you to pass objects of the
 domains as arguments to other operations in Axiom.
 
@@ -44434,9 +44443,8 @@ possible to pass quadratic forms to algorithms that only assume
 arguments to have these abelian group properties.
 
 In
-\downlink{``\ugCategoriesConditionalsTitle''}{ugCategoriesConditionalsPage}
-in Section
-\ugCategoriesConditionalsNumber\ignore{ugCategoriesConditionals}, you
+\downlink{``Conditionals''}{ugCategoriesConditionalsPage}
+in Section 12.11\ignore{ugCategoriesConditionals}, you
 saw that \axiomType{Fraction(R)}, a member of
 \axiomType{QuotientFieldCategory(R)}, is a member of
 \axiomType{OrderedSet} if \axiom{R} is a member of
@@ -44594,13 +44602,13 @@ required by the compiler.  Aside from checking that the matrix is
 symmetric, the code for this function essentially does nothing.  The
 {\frenchspacing\tt m :: \$} on line 28 coerces \axiom{m} to a
 quadratic form.  In fact, the quadratic form you created in step (3)
-of \downlink{``\ugDomainsDemoTitle''}{ugDomainsDemoPage} in Section
-\ugDomainsDemoNumber\ignore{ugDomainsDemo} is just the matrix you
+of \downlink{``A Demo''}{ugDomainsDemoPage} in Section
+13.4\ignore{ugDomainsDemo} is just the matrix you
 passed it in disguise!  Without seeing this definition, you would not
 know that.  Nor can you take advantage of this fact now that you do
 know!  When we try in the next step of
-\downlink{``\ugDomainsDemoTitle''}{ugDomainsDemoPage} in Section
-\ugDomainsDemoNumber\ignore{ugDomainsDemo} to regard \axiom{q} as a
+\downlink{``A Demo''}{ugDomainsDemoPage} in Section
+13.4\ignore{ugDomainsDemo} to regard \axiom{q} as a
 matrix by asking for \axiomFun{nrows}, the number of its rows, Axiom
 gives you an error message saying, in effect, ``Good try, but this
 won't work!''
@@ -44686,8 +44694,8 @@ of polynomial implementation is used.
 Within a given domain, however, you define (at most) one
 representation.\footnote{You can make that representation a
 \pspadtype{Union} type, however.  See
-\downlink{``\ugTypesUnionsTitle''}{ugTypesUnionsPage} in Section
-\ugTypesUnionsNumber\ignore{ugTypesUnions} for examples of unions.}
+\downlink{``Unions''}{ugTypesUnionsPage} in Section
+2.5\ignore{ugTypesUnions} for examples of unions.}
 If you want to have multiple representations (that is, several
 domains, each with its own representation), use a category to describe
 the {\tt Exports}, then define separate domains for each
@@ -44708,8 +44716,8 @@ representation.
 The capsule part of {\tt Implementation} defines functions that
 implement the operations exported by the domain---usually only some of
 the operations.  In our demo in
-\downlink{``\ugDomainsDemoTitle''}{ugDomainsDemoPage} in Section
-\ugDomainsDemoNumber\ignore{ugDomainsDemo}, we asked for the value of
+\downlink{``A Demo''}{ugDomainsDemoPage} in Section
+13.4\ignore{ugDomainsDemo}, we asked for the value of
 \axiom{3*q-q+q}.  Where do the operations \axiomOp{*}, \axiomOp{+},
 and \axiomOp{-} come from?  There is no definition for them in the
 capsule!
@@ -44736,8 +44744,8 @@ and \axiomOpFrom{-}{QuadraticForm} come from
 \begin{page}{ugDomainsDefaultsPage}{13.9. Defaults}
 \beginscroll
 %
-In \downlink{``\ugPackagesTitle''}{ugPackagesPage} in 
-Chapter \ugPackagesNumber\ignore{ugPackages}, we saw that 
+In \downlink{``Packages''}{ugPackagesPage} in 
+Chapter 11\ignore{ugPackages}, we saw that 
 categories can provide
 default implementations for their operations.
 How and when are they used?
@@ -44767,8 +44775,8 @@ for \axiomType{QuadraticForm}, consult \Browse{}: from the
 Let's apply this search strategy for our example \axiom{3*q-q+q}.  The
 scalar multiplication comes first.  Axiom finds a default
 implementation in \axiomType{AbelianGroup\&}.  Remember from
-\downlink{``\ugCategoriesDefaultsTitle''}{ugCategoriesDefaultsPage} in
-Section \ugCategoriesDefaultsNumber\ignore{ugCategoriesDefaults} that
+\downlink{``Defaults''}{ugCategoriesDefaultsPage} in
+Section 12.6\ignore{ugCategoriesDefaults} that
 \axiomType{SemiGroup} provides a default definition for
 \texht{$x^n$}{x**n} by repeated squaring?  \axiomType{AbelianGroup}
 similarly provides a definition for \texht{$n x$}{n*x} by repeated
@@ -45684,18 +45692,16 @@ We show the use of each of the buttons by example.
 First enter the search string {\tt Matrix} into the input area and
 click on {\bf Constructors}.  What you get is the {\it constructor
 page} for \axiomType{Matrix}.  We show and describe this page in
-detail in \downlink{``\ugBrowseDomainTitle''}{ugBrowseDomainPage} in
-Section \ugBrowseDomainNumber\ignore{ugBrowseDomain}.  By convention,
+detail in \downlink{``The Constructor Page''}{ugBrowseDomainPage} in
+Section 14.2\ignore{ugBrowseDomain}.  By convention,
 Axiom does a case-insensitive search for a match.  Thus {\tt matrix}
 is just as good as {\tt Matrix}, has the same effect as {\tt MaTrix},
 and so on.  We recommend that you generally use small letters for
 names however.  A search string with only capital letters has a
 special meaning (see
-\downlink{``\ugBrowseCapitalizationConventionTitle''}
+\downlink{``Capitalization Convention''}
 {ugBrowseCapitalizationConventionPage}
-in Section
-\ugBrowseCapitalizationConventionNumber
-\ignore{ugBrowseCapitalizationConvention}).
+in Section 14.3.3\ignore{ugBrowseCapitalizationConvention}).
 
 
 Click on \UpBitmap{} to return to the \Browse{} front page.
@@ -45727,10 +45733,8 @@ Again click on the \UpBitmap{} to return to the table of constructors
 whose names contain {\tt matrix}.  Below the table is a {\it Views}
 panel.  This panel contains buttons that let you view constructors in
 different ways.  To learn about views of constructors, skip to
-\downlink{``\ugBrowseViewsOfConstructorsTitle''}
-{ugBrowseViewsOfConstructorsPage}
-in Section
-\ugBrowseViewsOfConstructorsNumber\ignore{ugBrowseViewsOfConstructors}.
+\downlink{``Views Of Constructors''}{ugBrowseViewsOfConstructorsPage}
+in Section 14.2.3\ignore{ugBrowseViewsOfConstructors}.
 
 Click on \UpBitmap{} to return to the \Browse{} front page.
 
@@ -45745,10 +45749,8 @@ If you select an operation name, you go to a page describing all the
 operations in Axiom of that name.  At the bottom of an operation page
 is another kind of {\it Views} panel, one for operation pages.  To
 learn more about these views, skip to
-\downlink{``\ugBrowseViewsOfOperationsTitle''}
-{ugBrowseViewsOfOperationsPage}
-in Section
-\ugBrowseViewsOfOperationsNumber\ignore{ugBrowseViewsOfOperations}.
+\downlink{``Views of Operations''}{ugBrowseViewsOfOperationsPage}
+in Section 14.3.2\ignore{ugBrowseViewsOfOperations}.
 
 Click on \UpBitmap{} to return to the \Browse{} front page.
 
@@ -45878,10 +45880,8 @@ below.
 
 If you click on an operation name, you bring up a description page for
 the operations.  For a detailed description of these pages, skip to
-\downlink{``\ugBrowseViewsOfOperationsTitle''}
-{ugBrowseViewsOfOperationsPage}
-in Section
-\ugBrowseViewsOfOperationsNumber\ignore{ugBrowseViewsOfOperations}.
+\downlink{``Views of Operations''}{ugBrowseViewsOfOperationsPage}
+in Section 14.3.2\ignore{ugBrowseViewsOfOperations}.
 
 \subsubsection{Attributes}
 
@@ -46747,8 +46747,9 @@ general, the correspondence to Axiom types is as follows.
 (Exceptionally, for NAG EXTERNAL parameters -- ASPs in link parlance
 -- REAL and COMPLEX correspond to \axiomType{MachineFloat} and 
 \axiomType{MachineComplex},
-respectively; see \downlink{``\aspSectionTitle''}{aspSectionPage} 
-in Section \aspSectionNumber\ignore{aspSection}.)
+respectively; see 
+\downlink{``Providing values for Argument Subprograms''}
+{aspSectionPage} in Section 15.3.3\ignore{aspSection}.)
 
 The correspondence for aggregates is as follows.
 \indent{4}
@@ -46768,8 +46769,8 @@ Higher-dimensional arrays are not currently needed for the \naglib{}.
 
 Arguments which are Fortran FUNCTIONs or SUBROUTINEs correspond to
 special ASP domains in Axiom. See
-\downlink{``\aspSectionTitle''}{aspSectionPage} in Section
-\aspSectionNumber\ignore{aspSection}.
+\downlink{``Providing values for Argument Subprograms''}
+{aspSectionPage} in Section 15.3.3\ignore{aspSection}.
 
 \subsubsection{Classification of NAG parameters}
 
@@ -46966,8 +46967,8 @@ from appropriate instantiations of \axiomType{Expression},
 \texht{\exptypeindex{FortranCode}}{} \axiomType{FortranCode} allows us
 to build arbitrarily complex ASPs via a kind of pseudo-code.  It is
 described fully in
-\downlink{``\generalFortranTitle''}{generalFortranPage} in Section
-\generalFortranNumber\ignore{generalFortran}.
+\downlink{``General Fortran-generation utilities in Axiom''}
+{generalFortranPage} in Section 15.3.4\ignore{generalFortran}.
 
 Every ASP exports two \axiomFun{coerce} functions: one from
 \axiomType{FortranCode} and one from \axiomType{List FortranCode}.
@@ -47647,8 +47648,8 @@ the resulting program on the numeric part of the RPC stream.
 
 The \axiom{leave} keyword has been replaced by the \axiom{break}
 keyword for compatibility with the new Axiom extension language.  See
-section \downlink{``\ugLangLoopsBreakTitle''}{ugLangLoopsBreakPage} in
-Section \ugLangLoopsBreakNumber\ignore{ugLangLoopsBreak} for more
+section \downlink{``break in Loops''}{ugLangLoopsBreakPage} in
+Section 5.4.3\ignore{ugLangLoopsBreak} for more
 information.
 
 Curly braces are no longer used to create sets. Instead, use
@@ -47659,8 +47660,8 @@ Curly braces are no longer used to create sets. Instead, use
 }
 
 Curly braces are now used to enclose a block (see section
-\downlink{``\ugLangBlocksTitle''}{ugLangBlocksPage} in Section
-\ugLangBlocksNumber\ignore{ugLangBlocks} for more information). For
+\downlink{``Blocks''}{ugLangBlocksPage} in Section
+5.2\ignore{ugLangBlocks} for more information). For
 compatibility, a block can still be enclosed by parentheses as well.
 
 ``Free functions'' created by the Aldor compiler can now be
@@ -47836,14 +47837,16 @@ HyperDoc.
 A section has been added to the graphics chapter, describing how to
 build \twodim{} graphs from lists of points. An example is given
 showing how to read the points from a file.  See section
-\downlink{``\ugGraphTwoDbuildTitle''}{ugGraphTwoDbuildPage} in Section
-\ugGraphTwoDbuildNumber\ignore{ugGraphTwoDbuild} for details.
+\downlink{``Building Two-Dimensional Graphs''}
+{ugGraphTwoDbuildPage} in Section
+7.1.9\ignore{ugGraphTwoDbuild} for details.
 
 A further section has been added to that same chapter, describing how
 to add a \twodim{} graph to a viewport which already contains other
 graphs.  See section
-\downlink{``\ugGraphTwoDappendTitle''}{ugGraphTwoDappendPage} in
-Section \ugGraphTwoDappendNumber\ignore{ugGraphTwoDappend} for
+\downlink{``Appending a Graph to a Viewport 
+Window Containing a Graph''}{ugGraphTwoDappendPage} in
+Section 7.1.10\ignore{ugGraphTwoDappend} for
 details.
 
 Chapter 3 
@@ -47851,14 +47854,14 @@ and the on-line Hyperdoc help have been unified.
 
 An explanation of operation names ending in ``?'' and ``!'' has been
 added to the first chapter.  See the end of the section
-\downlink{``\ugIntroCallFunTitle''}{ugIntroCallFunPage} in Section
-\ugIntroCallFunNumber\ignore{ugIntroCallFun} for details.
+\downlink{``Calling Functions''}{ugIntroCallFunPage} in Section
+1.3.6\ignore{ugIntroCallFun} for details.
 
 An expanded explanation of using predicates has been added to the
 sixth chapter. See the example involving \userfun{evenRule} in the
 middle of the section
-\downlink{``\ugUserRulesTitle''}{ugUserRulesPage} in Section
-\ugUserRulesNumber\ignore{ugUserRules} for details.
+\downlink{``Rules and Pattern Matching''}{ugUserRulesPage} in Section
+6.21\ignore{ugUserRules} for details.
 
 Documentation for the \spadcmd{)compile}, \spadcmd{)library} and
 \spadcmd{)load} commands has been greatly changed. This reflects
@@ -47982,8 +47985,8 @@ set the user-access level to the three possible choices.  All commands
 are available at {\tt development} level and the fewest are available
 at {\tt interpreter} level.  The default user-level is {\tt
 interpreter}.  In addition to the \spadcmd{)set} command (discussed in
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} in Section
-\ugSysCmdsetNumber\ignore{ugSysCmdset}) you can use the Hyperdoc
+\downlink{``)set''}{ugSysCmdsetPage} in Section
+B.21\ignore{ugSysCmdset}) you can use the Hyperdoc
 settings facility to change the {\it user-level.}  \texht{}{Click on
 \lispmemolink{Settings}{(|htSystemVariables|)} here to immediately go
 to the settings facility.}
@@ -48145,9 +48148,7 @@ constructor name \spadtype{VectorFunctions2} from the system:
 \end{verbatim}
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdcompileTitle''}{ugSysCmdcompilePage} 
-in section \ugSysCmdcompileNumber
-
+\downlink{``)compile''}{ugSysCmdcompilePage} in section B.7
 
 \endscroll
 \autobuttons
@@ -48183,14 +48184,10 @@ creates and compiles the \Lisp{} function ``times3''
 obtained by translating the BOOT code.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdfinTitle''}{ugSysCmdfinPage} in 
-section \ugSysCmdfinNumber
-\downlink{``\ugSysCmdlispTitle''}{ugSysCmdlispPage} in 
-section \ugSysCmdlispNumber
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} in 
-section \ugSysCmdsetNumber
-\downlink{``\ugSysCmdsystemTitle''}{ugSysCmdsystemPage} in 
-section \ugSysCmdsystemNumber
+\downlink{``)fin''}{ugSysCmdfinPage} in section B.10
+\downlink{``)lisp''}{ugSysCmdlispPage} in section B.15
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
+\downlink{``)system''}{ugSysCmdsystemPage} in section B.25
 
 \endscroll
 \autobuttons
@@ -48238,18 +48235,12 @@ Except for the ``{\tt )}'' at the beginning of the command,
 this has the same syntax as the operating system {\tt cd} command.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdcompileTitle''}{ugSysCmdcompilePage} in 
-section \ugSysCmdcompileNumber
-\downlink{``\ugSysCmdeditTitle''}{ugSysCmdeditPage} in 
-section \ugSysCmdeditNumber
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} in 
-section \ugSysCmdhistoryNumber
-\downlink{``\ugSysCmdlibraryTitle''}{ugSysCmdlibraryPage} in 
-section \ugSysCmdlibraryNumber
-\downlink{``\ugSysCmdreadTitle''}{ugSysCmdreadPage} in 
-section \ugSysCmdreadNumber
-\downlink{``\ugSysCmdspoolTitle''}{ugSysCmdspoolPage} in 
-section \ugSysCmdspoolNumber
+\downlink{``)compile''}{ugSysCmdcompilePage} in section B.7
+\downlink{``)edit''}{ugSysCmdeditPage} in section B.9
+\downlink{``)history''}{ugSysCmdhistoryPage} in section B.13
+\downlink{``)library''}{ugSysCmdlibraryPage} in section B.14
+\downlink{``)read''}{ugSysCmdreadPage} in section B.20
+\downlink{``)spool''}{ugSysCmdspoolPage} in section B.32
 
 \endscroll
 \autobuttons
@@ -48296,10 +48287,7 @@ close down the interpreter client process without closing down
 the entire Axiom session.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdquitTitle''}{ugSysCmdquitPage} in 
-section \ugSysCmdquitNumber
-\downlink{``\ugSysCmdpquitTitle''}{ugSysCmdpquitPage} in 
-section \ugSysCmdpquitNumber
+\downlink{``)quit''}{ugSysCmdquitPage} in section B.19
 
 \endscroll
 \autobuttons
@@ -48395,12 +48383,9 @@ does everything that {\tt )clear all} does, and also clears the internal
 system function and constructor caches.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmddisplayTitle''}{ugSysCmddisplayPage} 
-in section \ugSysCmddisplayNumber
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} 
-in section \ugSysCmdhistoryNumber
-\downlink{``\ugSysCmdundoTitle''}{ugSysCmdundoPage} 
-in section \ugSysCmdundoNumber
+\downlink{``)display''}{ugSysCmddisplayPage} in section B.8
+\downlink{``)history''}{ugSysCmdhistoryPage} in section B.13
+\downlink{``)undo''}{ugSysCmdundoPage} in section B.27
 
 \endscroll
 \autobuttons
@@ -48672,8 +48657,8 @@ The sequence of commands
 will call the compiler, edit, and then call the compiler again on the
 file {\bf matrix.spad.}  If you do not specify a {\it directory,} the
 working current directory (see
-\downlink{``\ugSysCmdcdTitle''}{ugSysCmdcdPage} in Section
-\ugSysCmdcdNumber\ignore{ugSysCmdcd}) is searched for the file.  If
+\downlink{``)cd''}{ugSysCmdcdPage} in Section
+B.4\ignore{ugSysCmdcd}) is searched for the file.  If
 the file is not found, the standard system directories are searched.
 
 If you do not give any options, all constructors within a file are
@@ -48697,8 +48682,8 @@ compiler are completely different.
 The {\tt )vartrace} option causes the compiler to generate extra code
 for the constructor to support conditional tracing of variable
 assignments. (see
-\downlink{``\ugSysCmdtraceTitle''}{ugSysCmdtracePage} in Section
-\ugSysCmdtraceNumber\ignore{ugSysCmdtrace}). Without this option, this
+\downlink{``)trace''}{ugSysCmdtracePage} in Section
+B.26\ignore{ugSysCmdtrace}). Without this option, this
 code is suppressed and one cannot use the {\tt )vars} option for the
 trace command.
 
@@ -48724,12 +48709,9 @@ error.  The value of the {\tt )set break} variable then controls what
 happens.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdabbreviationTitle''}{ugSysCmdabbreviationPage} 
-in section \ugSysCmdabbreviationNumber
-\downlink{``\ugSysCmdeditTitle''}{ugSysCmdeditPage} 
-in section \ugSysCmdeditNumber
-\downlink{``\ugSysCmdlibraryTitle''}{ugSysCmdlibraryPage} 
-in section \ugSysCmdlibraryNumber
+\downlink{``)abbreviation''}{ugSysCmdabbreviationPage} in section B.2
+\downlink{``)edit''}{ugSysCmdeditPage} in section B.9
+\downlink{``)library''}{ugSysCmdlibraryPage} in section B.14
 
 \endscroll
 \autobuttons
@@ -48814,16 +48796,11 @@ operation \spadfunFrom{complex}{ComplexCategory}:
 \end{verbatim}
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdclearTitle''}{ugSysCmdclearPage} 
-in section \ugSysCmdclearNumber
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} 
-in section \ugSysCmdhistoryNumber
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} 
-in section \ugSysCmdsetNumber
-\downlink{``\ugSysCmdshowTitle''}{ugSysCmdshowPage} 
-in section \ugSysCmdshowNumber
-\downlink{``\ugSysCmdwhatTitle''}{ugSysCmdwhatPage} 
-in section \ugSysCmdwhatNumber
+\downlink{``)clear''}{ugSysCmdclearPage} in section B.6
+\downlink{``)history''}{ugSysCmdhistoryPage} in section B.13
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
+\downlink{``)show''}{ugSysCmdshowPage} in section B.22
+\downlink{``)what''}{ugSysCmdwhatPage} in section B.28
 
 \endscroll
 \autobuttons
@@ -48884,12 +48861,9 @@ For example,
 calls {\tt emacs} to edit the file.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdsystemTitle''}{ugSysCmdsystemPage} 
-in section \ugSysCmdsystemNumber
-\downlink{``\ugSysCmdcompileTitle''}{ugSysCmdcompilePage} 
-in section \ugSysCmdcompileNumber
-\downlink{``\ugSysCmdreadTitle''}{ugSysCmdreadPage} 
-in section \ugSysCmdreadNumber
+\downlink{``)system''}{ugSysCmdsystemPage} in section B.25
+\downlink{``)compile''}{ugSysCmdcompilePage} in section B.7
+\downlink{``)read''}{ugSysCmdreadPage} in section B.20
 
 \endscroll
 \autobuttons
@@ -48919,8 +48893,7 @@ To return to Axiom, issue the
 function call to \Lisp{}.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdpquitTitle''}{ugSysCmdpquitPage} 
-in section \ugSysCmdpquitNumber
+\downlink{``)pquit''}{ugSysCmdpquitPage} in section B.18
 
 \endscroll
 \autobuttons
@@ -49038,10 +49011,8 @@ when you start up. In this case, the frame name and step make up the
 prompt.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} 
-in section \ugSysCmdhistoryNumber
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} 
-in section \ugSysCmdsetNumber
+\downlink{``)history''}{ugSysCmdhistoryPage} in section B.13
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
 
 \endscroll
 \autobuttons
@@ -49157,15 +49128,15 @@ number is given, Axiom will signal an error.
 
 The {\it environment} information can either be saved in a file or
 entirely in memory (the default).  Each frame
-(\downlink{``\ugSysCmdframeTitle''}{ugSysCmdframePage} in Section
-\ugSysCmdframeNumber\ignore{ugSysCmdframe}) has its own history
+(\downlink{``)frame''}{ugSysCmdframePage} in Section
+B.11\ignore{ugSysCmdframe}) has its own history
 database.  When it is kept in a file, some of it may also be kept in
 memory for efficiency.  When the information is saved in a file, the
 name of the file is of the form {\bf FRAME.axh} where ``{\bf FRAME}''
 is the name of the current frame.  The history file is placed in the
 current working directory (see
-\downlink{``\ugSysCmdcdTitle''}{ugSysCmdcdPage} in Section
-\ugSysCmdcdNumber\ignore{ugSysCmdcd}).  Note that these history
+\downlink{``)cd''}{ugSysCmdcdPage} in Section
+B.4\ignore{ugSysCmdcd}).  Note that these history
 database files are not text files (in fact, they are directories
 themselves), and so are not in human-readable format.
 
@@ -49227,8 +49198,8 @@ for a file called {\bf last.axh}.
 \item[{\tt )save} {\it savedHistoryName}]
 is used to save  a snapshot of the environment in a file.
 This file is placed in the current working directory
-(see \downlink{``\ugSysCmdcdTitle''}{ugSysCmdcdPage} 
-in Section \ugSysCmdcdNumber\ignore{ugSysCmdcd}).
+(see \downlink{``)cd''}{ugSysCmdcdPage} 
+in Section B.4\ignore{ugSysCmdcd}).
 Use {\tt )history )restore} to restore the environment to the state
 preserved in the file.
 This option also creates an input file containing all the lines of input
@@ -49269,14 +49240,10 @@ the contents.
 \indent{0}
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdframeTitle''}{ugSysCmdframePage} 
-in section \ugSysCmdframeNumber
-\downlink{``\ugSysCmdreadTitle''}{ugSysCmdreadPage} 
-in section \ugSysCmdreadNumber
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} 
-in section \ugSysCmdsetNumber
-\downlink{``\ugSysCmdundoTitle''}{ugSysCmdundoPage} 
-in section \ugSysCmdundoNumber
+\downlink{``)frame''}{ugSysCmdframePage} in section B.11
+\downlink{``)read''}{ugSysCmdreadPage} in section B.20
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
+\downlink{``)undo''}{ugSysCmdundoPage} in section B.27
 
 \endscroll
 \autobuttons
@@ -49350,14 +49317,10 @@ command was called {\tt )local} and {\tt )with} before the name
 {\tt )library} became the official name.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdcdTitle''}{ugSysCmdcdPage} in section 
-\ugSysCmdcdNumber
-\downlink{``\ugSysCmdcompileTitle''}{ugSysCmdcompilePage} 
-in section \ugSysCmdcompileNumber
-\downlink{``\ugSysCmdframeTitle''}{ugSysCmdframePage} 
-in section \ugSysCmdframeNumber
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} 
-in section \ugSysCmdsetNumber
+\downlink{``)cd''}{ugSysCmdcdPage} in section B.4
+\downlink{``)compile''}{ugSysCmdcompilePage} in section B.7
+\downlink{``)frame''}{ugSysCmdframePage} in section B.11
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
 
 \endscroll
 \autobuttons
@@ -49392,12 +49355,9 @@ Since this command is only useful for evaluating single expressions,
 the {\tt )fin} command may be used to drop out of Axiom into \Lisp{}.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdsystemTitle''}{ugSysCmdsystemPage} 
-in section \ugSysCmdsystemNumber
-\downlink{``\ugSysCmdbootTitle''}{ugSysCmdbootPage} 
-in section \ugSysCmdbootNumber
-\downlink{``\ugSysCmdfinTitle''}{ugSysCmdfinPage} 
-in section \ugSysCmdfinNumber
+\downlink{``)system''}{ugSysCmdsystemPage} in section B.25
+\downlink{``)boot''}{ugSysCmdbootPage} in section B.3
+\downlink{``)fin''}{ugSysCmdfinPage} in section B.10
 
 \endscroll
 \autobuttons
@@ -49445,12 +49405,9 @@ BOOT functions.
 It is not supported for general use.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdbootTitle''}{ugSysCmdbootPage} 
-in section \ugSysCmdbootNumber
-\downlink{``\ugSysCmdlispTitle''}{ugSysCmdlispPage} 
-in section \ugSysCmdlispNumber
-\downlink{``\ugSysCmdtraceTitle''}{ugSysCmdtracePage} 
-in section \ugSysCmdtraceNumber
+\downlink{``)boot''}{ugSysCmdbootPage} in section B.3
+\downlink{``)lisp''}{ugSysCmdlispPage} in section B.15
+\downlink{``)trace''}{ugSysCmdtracePage} in section B.26
 
 \endscroll
 \autobuttons
@@ -49510,16 +49467,11 @@ Axiom interactive environment.}}
 will be displayed and, indeed, Axiom would still be running.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdfinTitle''}{ugSysCmdfinPage} 
-in section \ugSysCmdfinNumber
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} 
-in section \ugSysCmdhistoryNumber
-\downlink{``\ugSysCmdcloseTitle''}{ugSysCmdclosePage} 
-in section \ugSysCmdcloseNumber
-\downlink{``\ugSysCmdquitTitle''}{ugSysCmdquitPage} 
-in section \ugSysCmdquitNumber
-\downlink{``\ugSysCmdsystemTitle''}{ugSysCmdsystemPage} 
-in section \ugSysCmdsystemNumber
+\downlink{``)fin''}{ugSysCmdfinPage} in section B.10
+\downlink{``)history''}{ugSysCmdhistoryPage} in section B.13
+\downlink{``)close''}{ugSysCmdclosePage} in section B.5
+\downlink{``)quit''}{ugSysCmdquitPage} in section B.19
+\downlink{``)system''}{ugSysCmdsystemPage} in section B.25
 
 \endscroll
 \autobuttons
@@ -49575,16 +49527,11 @@ suggest that you do not (somehow) assign {\tt )quit} to be
 executed when you press, say, a function key.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdfinTitle''}{ugSysCmdfinPage} 
-in section \ugSysCmdfinNumber
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} 
-in section \ugSysCmdhistoryNumber
-\downlink{``\ugSysCmdcloseTitle''}{ugSysCmdclosePage} 
-in section \ugSysCmdcloseNumber
-\downlink{``\ugSysCmdpquitTitle''}{ugSysCmdpquitPage} 
-in section \ugSysCmdpquitNumber
-\downlink{``\ugSysCmdsystemTitle''}{ugSysCmdsystemPage} 
-in section \ugSysCmdsystemNumber
+\downlink{``)fin''}{ugSysCmdfinPage} in section B.10
+\downlink{``)history''}{ugSysCmdhistoryPage} in section B.13
+\downlink{``)close''}{ugSysCmdclosePage} in section B.5
+\downlink{``)quit''}{ugSysCmdpquitPage} in section B.19
+\downlink{``)system''}{ugSysCmdsystemPage} in section B.25
 
 \endscroll
 \autobuttons
@@ -49618,8 +49565,8 @@ The command
 \end{verbatim}
 will read the contents of the file {\bf matrix.input} into Axiom.  The
 ``.input'' file extension is optional.  See
-\downlink{``\ugInOutInTitle''}{ugInOutInPage} in Section
-\ugInOutInNumber\ignore{ugInOutIn} for more information about {\bf
+\downlink{``Input Files and Output Styles''}{ugInOutInPage} in Section 4
+\ignore{ugInOutIn} for more information about {\bf
 .input} files.
 
 This command remembers the previous file you edited, read or compiled.
@@ -49633,12 +49580,9 @@ give the name of an existing {\bf .input} file.
 The {\tt )quiet} option suppresses output while the file is being read.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdcompileTitle''}{ugSysCmdcompilePage} 
-in section \ugSysCmdcompileNumber
-\downlink{``\ugSysCmdeditTitle''}{ugSysCmdeditPage} 
-in section \ugSysCmdeditNumber
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} 
-in section \ugSysCmdhistoryNumber
+\downlink{``)compile''}{ugSysCmdcompilePage} in section B.7
+\downlink{``)edit''}{ugSysCmdeditPage} in section B.9
+\downlink{``)history''}{ugSysCmdhistoryPage}  section B.13
 
 \endscroll
 \autobuttons
@@ -49709,8 +49653,7 @@ For example, to change the {\tt )quit} command to being unprotected
 \end{verbatim}
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdquitTitle''}{ugSysCmdquitPage} 
-in section \ugSysCmdquitNumber
+\downlink{``)quit''}{ugSysCmdquitPage} in section B.19
 
 \endscroll
 \autobuttons
@@ -49776,12 +49719,9 @@ domain \spadtype{Polynomial(Integer)} (as opposed to the general
 Attributes may be listed by using the {\tt )attributes} option.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmddisplayTitle''}{ugSysCmddisplayPage} 
-in section \ugSysCmddisplayNumber
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} 
-in section \ugSysCmdsetNumber
-\downlink{``\ugSysCmdwhatTitle''}{ugSysCmdwhatPage} 
-in section \ugSysCmdwhatNumber
+\downlink{``)display''}{ugSysCmddisplayPage} in section B.8
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
+\downlink{``)what''}{ugSysCmdwhatPage} in section B.28
 
 \endscroll
 \autobuttons
@@ -49821,7 +49761,7 @@ directory is the directory from which you started Axiom or is the
 directory you specified using the {\tt )cd} command.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdcdTitle''}{ugSysCmdcdPage} in section 
+\downlink{``)cd''}{ugSysCmdcdPage} in section B.4
 \ugSysCmdcdNumber
 
 \endscroll
@@ -49880,10 +49820,8 @@ To list, say, all synonyms that contain the substring
 \end{verbatim}
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} 
-in section \ugSysCmdsetNumber
-\downlink{``\ugSysCmdwhatTitle''}{ugSysCmdwhatPage} 
-in section \ugSysCmdwhatNumber
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
+\downlink{``)what''}{ugSysCmdwhatPage} in section B.28
 
 \endscroll
 \autobuttons
@@ -49931,16 +49869,11 @@ restart Axiom and restore the environment via {\tt )history )restore},
 if possible.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdbootTitle''}{ugSysCmdbootPage} 
-in section \ugSysCmdbootNumber
-\downlink{``\ugSysCmdfinTitle''}{ugSysCmdfinPage} 
-in section \ugSysCmdfinNumber
-\downlink{``\ugSysCmdlispTitle''}{ugSysCmdlispPage} 
-in section \ugSysCmdlispNumber
-\downlink{``\ugSysCmdpquitTitle''}{ugSysCmdpquitPage} 
-in section \ugSysCmdpquitNumber
-\downlink{``\ugSysCmdquitTitle''}{ugSysCmdquitPage} 
-in section \ugSysCmdquitNumber
+\downlink{``)boot''}{ugSysCmdbootPage} in section B.3
+\downlink{``)fin''}{ugSysCmdfinPage} in section B.10
+\downlink{``)lisp''}{ugSysCmdlispPage} in section B.15
+\downlink{``)quit''}{ugSysCmdpquitPage} in section B.18
+\downlink{``)quit''}{ugSysCmdquitPage} in section B.19
 
 \endscroll
 \autobuttons
@@ -50193,16 +50126,16 @@ function.
 causes the display of the value of any variable after it is assigned
 in the traced function.  Note that library code must have been
 compiled (see
-\downlink{``\ugSysCmdcompileTitle''}{ugSysCmdcompilePage} in Section
-\ugSysCmdcompileNumber\ignore{ugSysCmdcompile}) using the {\tt
+\downlink{``)compile''}{ugSysCmdcompilePage} in Section
+B.7\ignore{ugSysCmdcompile}) using the {\tt
 )vartrace} option in order to support this option.
 
 \item[{\tt )vars} {\it var1 \lanb{}... varN\ranb{}}]
 causes the display of the value of any of the specified variables
 after they are assigned in the traced function.  Note that library
 code must have been compiled (see
-\downlink{``\ugSysCmdcompileTitle''}{ugSysCmdcompilePage} in Section
-\ugSysCmdcompileNumber\ignore{ugSysCmdcompile}) using the {\tt
+\downlink{``)compile''}{ugSysCmdcompilePage} in Section
+B.7\ignore{ugSysCmdcompile}) using the {\tt
 )vartrace} option in order to support this option.
 
 \item[{\tt )within} {\it executingFunction}]
@@ -50244,12 +50177,9 @@ to escape them with an underscore.
 \indent{0}
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdbootTitle''}{ugSysCmdbootPage} 
-in section \ugSysCmdbootNumber
-\downlink{``\ugSysCmdlispTitle''}{ugSysCmdlispPage} 
-in section \ugSysCmdlispNumber
-\downlink{``\ugSysCmdltraceTitle''}{ugSysCmdltracePage} 
-in section \ugSysCmdltraceNumber
+\downlink{``)boot''}{ugSysCmdbootPage} in section B.3
+\downlink{``)lisp''}{ugSysCmdlispPage} in section B.15
+\downlink{``)trace''}{ugSysCmdltracePage} in section B.26
 
 \endscroll
 \autobuttons
@@ -50329,8 +50259,7 @@ This file consists of all user input lines, excluding those
 backtracked over due to a previous {\tt )undo}.
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmdhistoryTitle''}{ugSysCmdhistoryPage} 
-in section \ugSysCmdhistoryNumber
+\downlink{``)history''}{ugSysCmdhistoryPage} in section B.13
 The command {\tt )history )write} will eliminate the ``undone'' command
 lines of your program.
 
@@ -50434,12 +50363,9 @@ The command synonym  {\tt )apropos} is equivalent to
 \indent{0}
 
 \par\noindent{\bf Also See:}
-\downlink{``\ugSysCmddisplayTitle''}{ugSysCmddisplayPage} 
-in section \ugSysCmddisplayNumber
-\downlink{``\ugSysCmdsetTitle''}{ugSysCmdsetPage} 
-in section \ugSysCmdsetNumber
-\downlink{``\ugSysCmdshowTitle''}{ugSysCmdshowPage} 
-in section \ugSysCmdshowNumber
+\downlink{``)display''}{ugSysCmddisplayPage} in section B.8
+\downlink{``)set''}{ugSysCmdsetPage} in section B.21
+\downlink{``)show''}{ugSysCmdshowPage} in section B.22
 
 \texht{\egroup}{}
 \endscroll
diff --git a/changelog b/changelog
index c5aab40..c7f6eb7 100644
--- a/changelog
+++ b/changelog
@@ -1,4 +1,23 @@
-20080727 tpd books/bookvol7.1.pamphlet update What's New branch
+20080728 tpd books/bookvol7.1 update Topics->Numbers branch
+20080728 tpd books/ps/v71binaryexpansionxmppage.eps added
+20080728 tpd books/ps/v71cardinalnumberxmppage.eps added
+20080728 tpd books/ps/v71complexxmppage.eps added
+20080728 tpd books/ps/v71continuedfractionxmppage.eps added
+20080728 tpd books/ps/v71decimalexpansionxmppage.eps added
+20080728 tpd books/ps/v71doublefloatxmppage.eps added
+20080728 tpd books/ps/v71floatxmppage.eps added
+20080728 tpd books/ps/v71fractionpage.eps added
+20080728 tpd books/ps/v71hexexpansionxmppage.eps added
+20080728 tpd books/ps/v71integerpage.eps added
+20080728 tpd books/ps/v71octonionxmppage.eps added
+20080728 tpd books/ps/v71partialfractionxmppage.eps added
+20080728 tpd books/ps/v71quaternionxmppage.eps added
+20080728 tpd books/ps/v71radixexpansionxmppage.eps added
+20080728 tpd books/ps/v71romannumeralxmppage.eps added
+20080728 tpd books/ps/v71singleintegerxmppage.eps added
+20080728 tpd books/ps/v71ugproblemfinitepage.eps added
+20080728 tpd books/ps/v71ugproblemnumericpage.eps added
+20080727 tpd books/bookvol7.1 update What's New branch
 20080727 tpd books/ps/v71feb2005.eps added
 20080727 tpd books/ps/v71january2008.eps added
 20080727 tpd books/ps/v71july2008.eps added

\start
Date: Tue, 29 Jul 2008 13:17:27 +0200
From: Ralf Hemmecke
To: list
Subject: Re: [fricas-devel] Re: RISC

> Here is a fairly accurate updated schedule of the workshop prepared
> by the organizer of the workshop Ralf Hemmecke:
> 
> http://portal.risc.uni-linz.ac.at/Members/hemmecke/aldoraxiom2008

I've moved everything to the official conference page.

http://axiom-wiki.newsynthesis.org/WorkShopRISC2008

and added slides. For some talks there are still some slides missing
that were used during the talk. And I hope those people send me the
slides that they used.

To the participants: Certainly some of you have made notes during the
talks. So if you could add them to the obove site that would be
certainly good for others.

> But sorry, there was no video or audio recording. :-( In my opinion
> this is something that we need to try harder to do in the future.

Interesting, but hard to achieve. Note that we did not just have talks 
but rather lot's of discussions. It would be hard to record that. And I 
have no idea who could actually do that.

Bill, I think it would be nice if your summary of the workshop also 
appears at the conference page. Maybe others add their summaries, too, 
so we can share our knowledge and help to strengthen the still very 
small Aldor & panAxiom community.

\start
Date: Tue, 29 Jul 2008 15:09:34 -0500
From: Tim Daly
To: list
Subject: 20080729.01.tpd.patch (expand next tree level)

rootpage->topics->numbers->integers expanded

======================================================================
diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet
index 11ed426..c022143 100644
--- a/books/bookvol7.1.pamphlet
+++ b/books/bookvol7.1.pamphlet
@@ -8212,6 +8212,7 @@ Section 8.13\ignore{ugProblemGalois}.
 @
 \section{frac.ht}
 \pagehead{FractionXmpPage}{frac.ht}{Fraction}
+\pageto{Integer}{IntegerXmpPage}
 \pageto{notitle}{ContinuedFractionXmpPage}
 \pageto{notitle}{PartialFractionXmpPage}
 <<frac.ht>>=
@@ -11082,15 +11083,18 @@ These numbers are bona fide algebraic objects.
 @
 \section{int.ht}
 \pagehead{IntegerXmpPage}{int.ht}{Integer}
-\pageto{notitle}{ugIntroNumbersPage}
-\pageto{notitle}{IntNumberTheoryFnsXmpPage}
-\pageto{notitle}{DecimalExpansionXmpPage}
-\pageto{notitle}{BinaryExpansionXmpPage}
-\pageto{notitle}{HexExpansionXmpPage}
-\pageto{notitle}{RadixExpansionXmpPage}
-\pageto{notitle}{ugxIntegerBasicPage}
-\pageto{notitle}{ugxIntegerPrimesPage}
-\pageto{notitle}{ugxIntegerNTPage}
+\pagepic{ps/v71integerxmppage.eps}{IntegerXmpPage}
+\pagefrom{Integers}{IntegerPage}
+\pagefrom{Fraction}{FractionXmpPage}
+\pageto{Numbers}{ugIntroNumbersPage}
+\pageto{IntegerNumberTheoryFunctions}{IntNumberTheoryFnsXmpPage}
+\pageto{DecimalExpansion}{DecimalExpansionXmpPage}
+\pageto{BinaryExpansion}{BinaryExpansionXmpPage}
+\pageto{HexadecimalExpansion}{HexExpansionXmpPage}
+\pageto{RadixExpansion}{RadixExpansionXmpPage}
+\pageto{Basic Functions}{ugxIntegerBasicPage}
+\pageto{Primes and Factorization}{ugxIntegerPrimesPage}
+\pageto{Some Number Theoretic Functions}{ugxIntegerNTPage}
 <<int.ht>>=
 \begin{page}{IntegerXmpPage}{Integer}
 \beginscroll
@@ -11327,8 +11331,10 @@ Records are discussed in detail in
 
 @
 \pagehead{ugxIntegerPrimesPage}{int.ht}{Primes and Factorization}
-\pageto{notitle}{FactoredXmpPage}
-\pageto{notitle}{ComplexXmpPage}
+\pagepic{ps/v71ugxintegerprimespage.eps}{ugxIntegerPrimesPage}
+\pagefrom{Integers}{IntegerPage}
+\pageto{Factored}{FactoredXmpPage}
+\pageto{Complex}{ComplexXmpPage}
 <<int.ht>>=
 \begin{page}{ugxIntegerPrimesPage}{Primes and Factorization}
 \beginscroll
@@ -11470,6 +11476,8 @@ Roman numerals.
 \section{intheory.ht}
 \pagehead{IntNumberTheoryFnsXmpPage}{intheory.ht}
 {IntegerNumberTheoryFunctions}
+\pagepic{ps/v71intnumbertheoryfnsxmppage.eps}{IntNumberTheoryFnsXmpPage}
+\pagefrom{Integers}{IntegerPage}
 <<intheory.ht>>=
 \begin{page}{IntNumberTheoryFnsXmpPage}
 {IntegerNumberTheoryFunctions}
@@ -16520,7 +16528,9 @@ Problems from number theory.
 
 @
 \pagehead{IntegerExamplePage}{numbers.ht}{Integer Examples}
-\pageto{notitle}{IntegerExampleProofPage}
+\pagepic{ps/v71integerexamplepage.eps}{IntegerExamplePage}
+\pagefrom{Integers}{IntegerPage}
+\pageto{Proof}{IntegerExampleProofPage}
 <<numbers.ht>>=
 \begin{page}{IntegerExamplePage}{Integer Examples}
 \beginscroll
@@ -16569,9 +16579,11 @@ QED
 
 @
 \pagehead{IntegerProblemPage}{numbers.ht}{Integer Problems}
-\pageto{notitle}{IntegerProblemProofPage}
-\pageto{notitle}{IntegerProblemAnswerPage1}
-\pageto{notitle}{IntegerProblemAnswerPage2}
+\pagepic{ps/v71integerproblempage.eps}{IntegerProblemPage}
+\pagefrom{Integers}{IntegerPage}
+\pageto{Proof}{IntegerProblemProofPage}
+\pageto{Answer}{IntegerProblemAnswerPage1}
+\pageto{Answer}{IntegerProblemAnswerPage2}
 <<numbers.ht>>=
 \begin{page}{IntegerProblemPage}{Integer Problems}
 \beginscroll
diff --git a/changelog b/changelog
index c7f6eb7..877d3bc 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,9 @@
+20080729 tpd books/bookvol7.1 update Topics->Numbers->General Info
+20080729 tpd books/ps/v71integerexamplepage.eps added
+20080729 tpd books/ps/v71integerproblempage.eps added
+20080729 tpd books/ps/v71integerxmppage.eps added
+20080729 tpd books/ps/v71intnumbertheoryfnsxmppage.eps added
+20080729 tpd books/ps/v71ugxintegerprimespage.eps added
 20080728 tpd books/bookvol7.1 update Topics->Numbers branch
 20080728 tpd books/ps/v71binaryexpansionxmppage.eps added
 20080728 tpd books/ps/v71cardinalnumberxmppage.eps added

\start
Date: Tue, 29 Jul 2008 19:07:33 -0500
From: Tim Daly
To: list
Subject: 20080729.02.tpd.patch (more hyperdoc pages 1 of 2)

Most of the files in this patch are eps files and are not listed here
========================================================================
diff --git a/changelog b/changelog
index 877d3bc..524cdbb 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,19 @@
+20080729 tpd books/bookvol7.1 update more on general info
+20080729 tpd books/ps/v71factoredfnstwoxmppage.eps added
+20080729 tpd books/ps/v71factoredxmppage.eps added
+20080729 tpd books/ps/v71ugavailclefpage.eps added
+20080729 tpd books/ps/v71ugintronumberspage.eps added
+20080729 tpd books/ps/v71ugproblemgaloispage.eps added
+20080729 tpd books/ps/v71ugtypesbasicdomainconspage.eps added
+20080729 tpd books/ps/v71ugtypesbasicpage.eps added
+20080729 tpd books/ps/v71ugtypesconvertpage.eps added
+20080729 tpd books/ps/v71ugxfactoredarithpage.eps added
+20080729 tpd books/ps/v71ugxfactoreddecomppage.eps added
+20080729 tpd books/ps/v71ugxfactoredexpandpage.eps added
+20080729 tpd books/ps/v71ugxfactorednewpage.eps added
+20080729 tpd books/ps/v71ugxfactoredvarpage.eps added
+20080729 tpd books/ps/v71ugxintegerbasicpage.eps added
+20080729 tpd books/ps/v71ugxintegerntpage.eps added
 20080729 tpd books/bookvol7.1 update Topics->Numbers->General Info
 20080729 tpd books/ps/v71integerexamplepage.eps added
 20080729 tpd books/ps/v71integerproblempage.eps added

\start
Date: Tue, 29 Jul 2008 19:13:47 -0500
From: Tim Daly
To: list
Subject: 20080729.03.tpd.patch (bookvol7.1 part 2 of 2)

part 2 of 2 patch with updates to the primes and factorization branch
=======================================================================
diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet
index c022143..a595b42 100644
--- a/books/bookvol7.1.pamphlet
+++ b/books/bookvol7.1.pamphlet
@@ -2579,6 +2579,7 @@ answer for \texht{$12^2$}{12**2}.
 \pagehead{BinaryExpansionXmpPage}{binary.ht}{BinaryExpansion}
 \pagepic{ps/v71binaryexpansionxmppage.eps}{BinaryExpansionXmpPage}
 \pagefrom{Axiom Number Types}{NumberPage}
+\pagefrom{Integer}{IntegerXmpPage}
 \pageto{DecimalExpansion}{DecimalExpansionXmpPage}
 \pageto{RadixExpansion}{RadixExpansionXmpPage}
 \pageto{HexadecimalExpansion}{HexExpansionXmpPage}
@@ -4001,8 +4002,9 @@ for t in 1..4]) \bound{lhs}\free{g gam m n r s}}
 \pagehead{ComplexXmpPage}{complex.ht}{Complex}
 \pagepic{ps/v71complexxmppage.eps}{ComplexXmpPage}
 \pagefrom{Axiom Number Types}{NumberPage}
+\pagefrom{Primes and Factorization}{ugxIntegerPrimesPage}
 \pageto{Numeric Functions}{ugProblemNumericPage}
-\pageto{notitle}{ugTypesConvertPage}
+\pageto{Conversion}{ugTypesConvertPage}
 <<complex.ht>>=
 \begin{page}{ComplexXmpPage}{Complex}
 \beginscroll
@@ -5117,6 +5119,7 @@ u=0..\%pi,v=0..2*\%pi)}
 \pagehead{DecimalExpansionXmpPage}{decimal.ht}{Decimal Expansion}
 \pagepic{ps/v71decimalexpansionxmppage.eps}{DecimalExpansionXmpPage}
 \pagefrom{Axiom Number Types}{NumberPage}
+\pagefrom{Integer}{IntegerXmpPage}
 \pageto{BinaryExpansion}{BinaryExpansionXmpPage}
 \pageto{HexadecimalExpansion}{HexExpansionXmpPage}
 \pageto{RadixExpansion}{RadixExpansionXmpPage}
@@ -7839,11 +7842,16 @@ with the given extension, and the same defaults are used.
 @
 \section{fr.ht}
 \pagehead{FactoredXmpPage}{fr.ht}{Factored}
-\pageto{notitle}{ugxFactoredDecompPage}
-\pageto{notitle}{ugxFactoredExpandPage}
-\pageto{notitle}{ugxFactoredArithPage}
-\pageto{notitle}{ugxFactoredNewPage}
-\pageto{notitle}{ugxFactoredVarPage}
+\pagepic{ps/v71factoredxmppage.eps}{FactoredXmpPage}
+\pagefrom{Primes and Factorization}{ugxIntegerPrimesPage}
+\pagefrom{Computation of Galois Groups}{ugProblemGaloisPage}
+\pagefrom{FactoredFunctions2}{FactoredFnsTwoXmpPage}
+\pagefrom{Some Examples of Domains and Packages}{ExamplesExposedPage}
+\pageto{Decomposing Factored Objects}{ugxFactoredDecompPage}
+\pageto{Expanding Factored Objects}{ugxFactoredExpandPage}
+\pageto{Arithmetic with Factored Objects}{ugxFactoredArithPage}
+\pageto{Creating New Factored Objects}{ugxFactoredNewPage}
+\pageto{Factored Objects with Variables}{ugxFactoredVarPage}
 <<fr.ht>>=
 \begin{page}{FactoredXmpPage}{Factored}
 \beginscroll
@@ -7886,6 +7894,8 @@ multiplication order.
 
 @
 \pagehead{ugxFactoredDecompPage}{fr.ht}{Decomposing Factored Objects}
+\pagepic{ps/v71ugxfactoreddecomppage.eps}{ugxFactoredDecompPage}
+\pagefrom{Factored}{FactoredXmpPage}
 <<fr.ht>>=
 \begin{page}{ugxFactoredDecompPage}{Decomposing Factored Objects}
 \beginscroll
@@ -7946,6 +7956,8 @@ Neither of these operations returns the unit.
 
 @
 \pagehead{ugxFactoredExpandPage}{fr.ht}{Expanding Factored Objects}
+\pagepic{ps/v71ugxfactoredexpandpage.eps}{ugxFactoredExpandPage}
+\pagefrom{Factored}{FactoredXmpPage}
 <<fr.ht>>=
 \begin{page}{ugxFactoredExpandPage}{Expanding Factored Objects}
 \beginscroll
@@ -7975,6 +7987,8 @@ but with multiplicity one, you could do it this way.
 
 @
 \pagehead{ugxFactoredArithPage}{fr.ht}{Arithmetic with Factored Objects}
+\pagepic{ps/v71ugxfactoredarithpage.eps}{ugxFactoredArithPage}
+\pagefrom{Factored}{FactoredXmpPage}
 <<fr.ht>>=
 \begin{page}{ugxFactoredArithPage}{Arithmetic with Factored Objects}
 \beginscroll
@@ -8056,7 +8070,9 @@ package calling
 
 @
 \pagehead{ugxFactoredNewPage}{fr.ht}{Creating New Factored Objects}
-\pageto{notitle}{FactoredFnsTwoXmpPage}
+\pagepic{ps/v71ugxfactorednewpage.eps}{ugxFactoredNewPage}
+\pagefrom{Factored}{FactoredXmpPage}
+\pageto{FactoredFunctions2}{FactoredFnsTwoXmpPage}
 <<fr.ht>>=
 \begin{page}{ugxFactoredNewPage}{Creating New Factored Objects}
 \beginscroll
@@ -8115,6 +8131,8 @@ returned by \spadfunFrom{factorList}{Factored}.
 
 @
 \pagehead{ugxFactoredVarPage}{fr.ht}{Factored Objects with Variables}
+\pagepic{ps/v71ugxfactoredvarpage.eps}{ugxFactoredVarPage}
+\pagefrom{Factored}{FactoredXmpPage}
 <<fr.ht>>=
 \begin{page}{ugxFactoredVarPage}{Factored Objects with Variables}
 \beginscroll
@@ -8151,8 +8169,10 @@ You can differentiate with respect to a variable.
 @
 \section{fr2.ht}
 \pagehead{FactoredFnsTwoXmpPage}{fr2.ht}{FactoredFunctions2}
-\pageto{notitle}{FactoredXmpPage}
-\pageto{notitle}{ugProblemGaloisPage}
+\pagepic{ps/v71factoredfnstwoxmppage.eps}{FactoredFnsTwoXmpPage}
+\pagefrom{Creating New Factored Objects}{ugxFactoredNewPage}
+\pageto{Factored}{FactoredXmpPage}
+\pageto{Computation of Galois Groups}{ugProblemGaloisPage}
 <<fr2.ht>>=
 \begin{page}{FactoredFnsTwoXmpPage}{FactoredFunctions2}
 \beginscroll
@@ -11022,6 +11042,7 @@ Apply \spadfun{heapsort} to present elements in order.
 \pagehead{HexExpansionXmpPage}{hexadec.ht}{HexadecimalExpansion}
 \pagepic{ps/v71hexexpansionxmppage.eps}{HexExpansionXmpPage}
 \pagefrom{Axiom Number Types}{NumberPage}
+\pagefrom{Integer}{IntegerXmpPage}
 \pageto{DecimalExpansion}{DecimalExpansionXmpPage}
 \pageto{BinaryExpansion}{BinaryExpansionXmpPage}
 \pageto{RadixExpansion}{RadixExpansionXmpPage}
@@ -11085,7 +11106,6 @@ These numbers are bona fide algebraic objects.
 \pagehead{IntegerXmpPage}{int.ht}{Integer}
 \pagepic{ps/v71integerxmppage.eps}{IntegerXmpPage}
 \pagefrom{Integers}{IntegerPage}
-\pagefrom{Fraction}{FractionXmpPage}
 \pageto{Numbers}{ugIntroNumbersPage}
 \pageto{IntegerNumberTheoryFunctions}{IntNumberTheoryFnsXmpPage}
 \pageto{DecimalExpansion}{DecimalExpansionXmpPage}
@@ -11131,9 +11151,11 @@ and
 
 @
 \pagehead{ugxIntegerBasicPage}{int.ht}{Basic Functions}
-\pageto{notitle}{FractionXmpPage}
-\pageto{notitle}{ugTypesUnionsPage}
-\pageto{notitle}{ugTypesRecordsPage}
+\pagepic{ps/v71ugxintegerbasicpage.eps}{ugxIntegerBasicPage}
+\pagefrom{Integer}{IntegerXmpPage}
+\pageto{Fraction}{FractionXmpPage}
+\pageto{Unions}{ugTypesUnionsPage}
+\pageto{Records}{ugTypesRecordsPage}
 <<int.ht>>=
 \begin{page}{ugxIntegerBasicPage}{Basic Functions}
 \beginscroll
@@ -11333,6 +11355,7 @@ Records are discussed in detail in
 \pagehead{ugxIntegerPrimesPage}{int.ht}{Primes and Factorization}
 \pagepic{ps/v71ugxintegerprimespage.eps}{ugxIntegerPrimesPage}
 \pagefrom{Integers}{IntegerPage}
+\pagefrom{Integer}{IntegerXmpPage}
 \pageto{Factored}{FactoredXmpPage}
 \pageto{Complex}{ComplexXmpPage}
 <<int.ht>>=
@@ -11393,6 +11416,9 @@ See \downlink{`Complex'}{ComplexXmpPage}\ignore{Complex} for more details.
 
 @
 \pagehead{ugxIntegerNTPage}{int.ht}{Some Number Theoretic Functions}
+\pagepic{ps/v71ugxintegerntpage.eps}{ugxIntegerNTPage}
+\pagefrom{Integer}{IntegerXmpPage}
+\pageto{IntegerNumberTheoryFunctions}{IntNumberTheoryFnsXmpPage}
 <<int.ht>>=
 \begin{page}{ugxIntegerNTPage}{Some Number Theoretic Functions}
 \beginscroll
@@ -11478,6 +11504,8 @@ Roman numerals.
 {IntegerNumberTheoryFunctions}
 \pagepic{ps/v71intnumbertheoryfnsxmppage.eps}{IntNumberTheoryFnsXmpPage}
 \pagefrom{Integers}{IntegerPage}
+\pagefrom{Integer}{IntegerXmpPage}
+\pagefrom{Some Number Theoretic Functions}{ugxIntegerNTPage}
 <<intheory.ht>>=
 \begin{page}{IntNumberTheoryFnsXmpPage}
 {IntegerNumberTheoryFunctions}
@@ -16481,7 +16509,7 @@ command:
 \pagehead{IntegerPage}{numbers.ht}{Integers}
 \pagepic{ps/v71integerpage.eps}{IntegerPage}
 \pagefrom{Axiom Number Types}{NumberPage}
-\pageto{General Info}{IntegerXmpPage}
+\pageto{Integer}{IntegerXmpPage}
 \pageto{Factorization}{ugxIntegerPrimesPage}
 \pageto{Functions}{IntNumberTheoryFnsXmpPage}
 \pageto{Examples}{IntegerExamplePage}
@@ -16506,7 +16534,7 @@ will factor more rapidly than numbers with large prime factors.
 Additional Topics
 \beginmenu
 
-\menulink{General Info}{IntegerXmpPage} \tab{16}
+\menulink{Integer}{IntegerXmpPage} \tab{16}
 General information and examples of integers.
 
 \menulink{Factorization}{ugxIntegerPrimesPage} \tab{16}
@@ -18114,6 +18142,7 @@ The norm is the quaternion times its conjugate.
 \pagehead{RadixExpansionXmpPage}{radix.ht}{RadixExpansion}
 \pagepic{ps/v71radixexpansionxmppage.eps}{RadixExpansionXmpPage}
 \pagefrom{Axiom Number Types}{NumberPage}
+\pagefrom{Integer}{IntegerXmpPage}
 \pageto{HexadecimalExpansion}{HexExpansionXmpPage}
 \pageto{DecimalExpansion}{DecimalExpansionXmpPage}
 \pageto{BinaryExpansion}{BinaryExpansionXmpPage}
@@ -23169,23 +23198,23 @@ of exported functions, an encoded signature and numerical index.
 @
 \chapter{Users Guide Chapter 1 (ug01.ht)}
 \pagehead{ugIntroPage}{ug01.ht}{An Overview of Axiom}
-\pageto{notitle}{ugIntroTypoPage}
-\pageto{notitle}{ugIntroStartPage}
-\pageto{notitle}{ugIntroTypoPage}
-\pageto{notitle}{ugIntroExpressionsPage}
-\pageto{notitle}{ugIntroGraphicsPage}
-\pageto{notitle}{ugIntroNumbersPage}
-\pageto{notitle}{ugIntroCollectPage}
-\pageto{notitle}{ugIntroTwoDimPage}
-\pageto{notitle}{ugIntroYouPage}
-\pageto{notitle}{ugIntroVariablesPage}
-\pageto{notitle}{ugIntroCalcLimitsPage}
-\pageto{notitle}{ugIntroSeriesPage}
-\pageto{notitle}{ugIntroCalcDerivPage}
-\pageto{notitle}{ugIntroIntegratePage}
-\pageto{notitle}{ugIntroDiffEqnsPage}
-\pageto{notitle}{ugIntroSolutionPage}
-\pageto{notitle}{ugIntroSysCmmandsPage}
+\pagefrom{Numeric Functions}{ugProblemNumericPage}
+\pageto{Starting Up and Winding Down}{ugIntroStartPage}
+\pageto{Typographic Conventions}{ugIntroTypoPage}
+\pageto{The Axiom Language}{ugIntroExpressionsPage}
+\pageto{Graphics}{ugIntroGraphicsPage}
+\pageto{Numbers}{ugIntroNumbersPage}
+\pageto{Data Structures}{ugIntroCollectPage}
+\pageto{Expanding to Higher Dimensions}{ugIntroTwoDimPage}
+\pageto{Writing Your Own Functions}{ugIntroYouPage}
+\pageto{Polynomials}{ugIntroVariablesPage}
+\pageto{Limits}{ugIntroCalcLimitsPage}
+\pageto{Series}{ugIntroSeriesPage}
+\pageto{Derivatives}{ugIntroCalcDerivPage}
+\pageto{Integration}{ugIntroIntegratePage}
+\pageto{Differential Equations}{ugIntroDiffEqnsPage}
+\pageto{Solution of Equations}{ugIntroSolutionPage}
+\pageto{System Commands}{ugIntroSysCmmandsPage}
 <<ug01.ht>>=
 \begin{page}{ugIntroPage}{1. An Overview of Axiom}
 
@@ -23307,6 +23336,8 @@ want to leave Axiom.
 
 @
 \pagehead{ugAvailCLEFPage}{ug01.ht}{Clef}
+\pagepic{ps/v71ugavailclefpage.eps}{ugAvailCLEFPage}
+\pagefrom{Computation of Galois Groups}{ugProblemGaloisPage}
 <<ug01.ht>>=
 \begin{page}{ugAvailCLEFPage}{1.1.1. \Clef{}}
 \beginscroll
@@ -23952,14 +23983,15 @@ using Axiom's graphics facilities.
 
 @
 \pagehead{ugIntroNumbersPage}{ug01.ht}{Numbers}
-\pageto{notitle}{FloatXmpPage}
-\pageto{notitle}{DoubleFloatXmpPage}
-\pageto{notitle}{ComplexXmpPage}
-\pageto{notitle}{DecimalExpansionXmpPage}
-\pageto{notitle}{ContinuedFractionXmpPage}
-\pageto{notitle}{PartialFractionXmpPage}
-\pageto{notitle}{RadixExpansionXmpPage}
-\pageto{notitle}{ugxProblemFinitePrimePage}
+\pagepic{ps/v71ugintronumberspage.eps}{ugIntroNumbersPage}
+\pagefrom{Integer}{IntegerXmpPage}
+\pageto{Float}{FloatXmpPage}
+\pageto{DoubleFloat}{DoubleFloatXmpPage}
+\pageto{DecimalExpansion}{DecimalExpansionXmpPage}
+\pageto{ContinuedFraction}{ContinuedFractionXmpPage}
+\pageto{PartialFraction}{PartialFractionXmpPage}
+\pageto{RadixExpansion}{RadixExpansionXmpPage}
+\pageto{Modular Arithmetic and Prime Fields}{ugxProblemFinitePrimePage}
 <<ug01.ht>>=
 \begin{page}{ugIntroNumbersPage}{1.5. Numbers}
 \beginscroll
@@ -24087,19 +24119,6 @@ Complex numbers with floating point parts are also available.
 }{
 \spadpaste{exp(\%pi/4.0 * \%i)}
 }
-%%--> These are not numbers:
-%\xtc{
-%The real and imaginary parts can be symbolic.
-%}{
-%\spadcommand{complex(u,v) \bound{cuv}}
-%}
-%\xtc{
-%Of course, you can do complex arithmetic with these also.
-%See \downlink{`Complex'}{ComplexXmpPage}\ignore{Complex} 
-for more information.
-%}{
-%\spadcommand{\% ** 2 \free{cuv}}
-%}
 \xtc{
 Every rational number has an exact representation as a
 repeating decimal expansion
@@ -25752,7 +25771,9 @@ manipulates types and modes internally to resolve ambiguities.
 
 @
 \pagehead{ugTypesBasicPage}{ug02.ht}{The Basic Idea}
-\pageto{notitle}{ugTypesBasicDomainConsPage}
+\pagepic{ps/v71ugtypesbasicpage.eps}{ugTypesBasicPage}
+\pagefrom{Conversion}{ugTypesConvertPage}
+\pageto{Domain Constructors}{ugTypesBasicDomainConsPage}
 <<ug02.ht>>=
 \begin{page}{ugTypesBasicPage}{2.1. The Basic Idea}
 \beginscroll
@@ -25847,8 +25868,10 @@ and 17,'' and so on.
 
 @
 \pagehead{ugTypesBasicDomainConsPage}{ug02.ht}{Domain Constructors}
-\pageto{notitle}{ugCategoriesPage}
-\pageto{notitle}{ugTypesConvertPage}
+\pagepic{ps/v71ugtypesbasicdomainconspage.eps}{ugTypesBasicDomainConsPage}
+\pagefrom{The Basic Idea}{ugTypesBasicPage}
+\pageto{Categories}{ugCategoriesPage}
+\pageto{Conversion}{ugTypesConvertPage}
 <<ug02.ht>>=
 \begin{page}{ugTypesBasicDomainConsPage}{2.1.1. Domain Constructors}
 \beginscroll
@@ -27059,7 +27082,9 @@ object of type \axiomType{Any} internally looks like
 
 @
 \pagehead{ugTypesConvertPage}{ug02.ht}{Conversion}
-\pageto{notitle}{ugTypesBasicPage}
+\pagepic{ps/v71ugtypesconvertpage.eps}{ugTypesConvertPage}
+\pagefrom{Complex}{ComplexXmpPage}
+\pageto{The Basic Idea}{ugTypesBasicPage}
 <<ug02.ht>>=
 \begin{page}{ugTypesConvertPage}{2.7. Conversion}
 \beginscroll
@@ -36524,6 +36549,7 @@ with Axiom.
 \pagehead{ugProblemNumericPage}{ug08.ht}{Numeric Functions}
 \pagepic{ps/v71ugproblemnumericpage.eps}{ugProblemNumericPage}
 \pagefrom{Axiom Number Types}{NumberPage}
+\pagefrom{Complex}{ComplexXmpPage}
 \pageto{An Overview of Axiom}{ugIntroPage}
 \pageto{Float}{FloatXmpPage}
 \pageto{DoubleFloat}{DoubleFloatXmpPage}
@@ -40869,8 +40895,10 @@ Their intersection is equal to the radical of the ideal of \axiom{l}.
 
 @
 \pagehead{ugProblemGaloisPage}{ug08.ht}{Computation of Galois Groups}
-\pageto{notitle}{FactoredXmpPage}
-\pageto{notitle}{ugAvailCLEFPage}
+\pagepic{ps/v71ugproblemgaloispage.eps}{ugProblemGaloisPage}
+\pagefrom{FactoredFunctions2}{FactoredFnsTwoXmpPage}
+\pageto{Factored}{FactoredXmpPage}
+\pageto{Clef}{ugAvailCLEFPage}
 <<ug08.ht>>=
 \begin{page}{ugProblemGaloisPage}{8.13. Computation of Galois Groups}
 \beginscroll
@@ -43362,19 +43390,20 @@ environment and produces the result.  \endscroll \autobuttons
 @
 \chapter{Users Guide Chapter 12 (ug12.ht)}
 \pagehead{ugCategoriesPage}{ug12.ht}{Categories}
-\pageto{notitle}{ugTypesBasicDomainConsPage}
-\pageto{notitle}{ugCategoriesDefsPage}
-\pageto{notitle}{ugCategoriesExportsPage}
-\pageto{notitle}{ugCategoriesDocPage}
-\pageto{notitle}{ugCategoriesHierPage}
-\pageto{notitle}{ugCategoriesMembershipPage}
-\pageto{notitle}{ugCategoriesDefaultsPage}
-\pageto{notitle}{ugCategoriesAxiomsPage}
-\pageto{notitle}{ugCategoriesCorrectnessPage}
-\pageto{notitle}{ugCategoriesAttributesPage}
-\pageto{notitle}{ugCategoriesParametersPage}
-\pageto{notitle}{ugCategoriesConditionalsPage}
-\pageto{notitle}{ugCategoriesAndPackagesPage}
+\pagefrom{Domain Constructors}{ugTypesBasicDomainConsPage}
+\pageto{Domain Constructors}{ugTypesBasicDomainConsPage}
+\pageto{Definitions}{ugCategoriesDefsPage}
+\pageto{Exports}{ugCategoriesExportsPage}
+\pageto{Documentation}{ugCategoriesDocPage}
+\pageto{Hierarchies}{ugCategoriesHierPage}
+\pageto{Membership}{ugCategoriesMembershipPage}
+\pageto{Defaults}{ugCategoriesDefaultsPage}
+\pageto{Axioms}{ugCategoriesAxiomsPage}
+\pageto{Correctness}{ugCategoriesCorrectnessPage}
+\pageto{Attributes}{ugCategoriesAttributesPage}
+\pageto{Parameters}{ugCategoriesParametersPage}
+\pageto{Conditionals}{ugCategoriesConditionalsPage}
+\pageto{Anonymous Categories}{ugCategoriesAndPackagesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesPage}{12. Categories}
 \beginscroll
@@ -43444,6 +43473,7 @@ let's see how you define them in Axiom.
 
 @
 \pagehead{ugCategoriesDefsPage}{ug12.ht}{Definitions}
+\pagefrom{Categories}{ugCategoriesPage}
 \pageto{notitle}{ugTypesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesDefsPage}{12.1. Definitions}
@@ -43529,6 +43559,7 @@ In fact, the {\tt Type} is optional in this line; ``{\tt with
 
 @
 \pagehead{ugCategoriesExportsPage}{ug12.ht}{Exports}
+\pagefrom{Categories}{ugCategoriesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesExportsPage}{12.2. Exports}
 \beginscroll
@@ -43580,6 +43611,7 @@ aThreeArgumentOperation:  ($,Integer,$) -> Fraction($)
 
 @
 \pagehead{ugCategoriesDocPage}{ug12.ht}{Documentation}
+\pagefrom{Categories}{ugCategoriesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesDocPage}{12.3. Documentation}
 \beginscroll
@@ -43661,6 +43693,7 @@ category descriptions.
 
 @
 \pagehead{ugCategoriesHierPage}{ug12.ht}{Hierarchies}
+\pagefrom{Categories}{ugCategoriesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesHierPage}{12.4. Hierarchies}
 \beginscroll
@@ -43701,6 +43734,7 @@ included for emphasis.
 
 @
 \pagehead{ugCategoriesMembershipPage}{ug12.ht}{Membership}
+\pagefrom{Categories}{ugCategoriesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesMembershipPage}{12.5. Membership}
 \beginscroll
@@ -43761,8 +43795,9 @@ operations \spadop{*} and \spadop{**}.
 
 @
 \pagehead{ugCategoriesDefaultsPage}{ug12.ht}{Defaults}
-\pageto{notitle}{ugCategoriesHierPage}
-\pageto{notitle}{ugPackagesPage}
+\pagefrom{Categories}{ugCategoriesPage}
+\pageto{Hierarchies}{ugCategoriesHierPage}
+\pageto{Packages}{ugPackagesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesDefaultsPage}{12.6. Defaults}
 \beginscroll
@@ -43850,7 +43885,8 @@ as automatically generated by Axiom from the above definition of
 
 @
 \pagehead{ugCategoriesAxiomsPage}{ug12.ht}{Axioms}
-\pageto{notitle}{ugCategoriesDefaultsPage}
+\pagefrom{Categories}{ugCategoriesPage}
+\pageto{Defaults}{ugCategoriesDefaultsPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesAxiomsPage}{12.7. Axioms}
 \beginscroll
@@ -43903,6 +43939,7 @@ implicit by the use of the name \spadtype{Ring}.
 
 @
 \pagehead{ugCategoriesCorrectnessPage}{ug12.ht}{Correctness}
+\pagefrom{Categories}{ugCategoriesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesCorrectnessPage}{12.8. Correctness}
 \beginscroll
@@ -43959,7 +43996,8 @@ presume that the ring axioms for \spadop{+} hold.
 
 @
 \pagehead{ugCategoriesAttributesPage}{ug12.ht}{Attributes}
-\pageto{notitle}{ugDomainsAssertionsPage}
+\pagefrom{Categories}{ugCategoriesPage}
+\pageto{Category Assertions}{ugDomainsAssertionsPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesAttributesPage}{12.9. Attributes}
 \beginscroll
@@ -44042,6 +44080,7 @@ to rings but do not have this attribute).
 
 @
 \pagehead{ugCategoriesParametersPage}{ug12.ht}{Parameters}
+\pagefrom{Categories}{ugCategoriesPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesParametersPage}{12.10. Parameters}
 \beginscroll
@@ -44101,7 +44140,8 @@ TwoDimensionalArrayCategory(R,\ Row,\ Col)\ with\ ...}\newline
 
 @
 \pagehead{ugCategoriesConditionalsPage}{ug12.ht}{Conditionals}
-\pageto{notitle}{ugPackagesCondsPage}
+\pagefrom{Categories}{ugCategoriesPage}
+\pageto{Conditionals}{ugPackagesCondsPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesConditionalsPage}{12.11. Conditionals}
 \beginscroll
@@ -44170,7 +44210,8 @@ example.
 
 @
 \pagehead{ugCategoriesAndPackagesPage}{ug12.ht}{Anonymous Categories}
-\pageto{notitle}{ugPackagesAbstractPage}
+\pagefrom{Categories}{ugCategoriesPage}
+\pageto{Abstract Datatypes}{ugPackagesAbstractPage}
 <<ug12.ht>>=
 \begin{page}{ugCategoriesAndPackagesPage}{12.12. Anonymous Categories}
 \beginscroll

\start
Date: Fri, 01 Aug 2008 01:03:20 +0200
From: Ralf Hemmecke
To: Peter Broadbery
Subject: AXIOMsys vs depsys

Dear Peter, dear "whoever knows about the following"

In src_aldor3 you call $(MNT)/bin/AXIOMsys to generate the dependencies 
and the .ap files for the Axiom domains.

Furthermore, I find ${OBJ}/bin/depsys in the Makefile stanza

$(aldor_lsp_o_files): $(ALDOR_MNT)/lib/%.o: $(ALDOR_INT)/lsp/%.lsp
	echo LSP->O: $(notdir $@)
	@echo '(progn (load "$(OBJ)/interp/foam_l.o") (compile-file "$(filter 
%.lsp,$^)" :output-file "$@") (bye))' \
		| ${OBJ}/bin/depsys > $(ALDOR_OBJ)/$(notdir $@).log ;
	@if test -f $@; then echo "Built $(notdir $@)" ; else cat 
$(OBJ)/$(SYS)/aldor/build/$(notdir $@).log; false; fi

1) What is the difference between AXIOMsys and depsys?
2) Is it safe to call AXIOMsys instead of depsys?

Ralf



\end{verbatim}
\eject
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{axiom}
\bibliography{axiom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Index}
\printindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
