axiom-developer
[Top][All Lists]

 From: Bill Page Subject: RE: [Axiom-developer] hyperlinked algebra Date: Sat, 10 Dec 2005 01:10:25 -0500

On December 9, 2005 4:06 PM C Y wrote:
>
> --- Bill Page wrote:
>
> > I have just been waiting for the little extra time I would
> > need to key in the GraphViz specification for the graphs in
> > the endpaper.pamphlet file to see what kind of layout it will
> > produce automatically.
>
> Drool...
>

Here is an example of the Axiom "EndPaper" graphic produced by
GraphViz:

http://wiki.axiom-developer.org/SandBoxEndPaper

You should also take a look at the actual coding of this page
at

http://wiki.axiom-developer.org/SandBoxEndPaper/editform

You will see that it consists of only a list of the nodes and
edges of the graph like this:

{AbelianSemiGroup, SemiGroup, OrderedSet, Finite} -> SetCategory;
AbelianMonoid -> AbelianSemiGroup;
Rng -> {AbelianGroup, SemiGroup};
Monoid -> SemiGroup;
OrderedAbelianSemiGroup -> {OrderedSet, AbelianMonoid};
...

GraphViz does all the work of laying out the graph in a reasonable
form for the reader. The result is not so different from the actual
graphic in the Axiom book.

At the present time GraphViz on MathAction is rendered as postscript
and processed by LaTeX as a figure. This allows GraphViz output to
appear in pamphlet files. But I think that as a result of the
rescaling done by LaTeX and the conversion to png, the quality of
the image may not be as good as it could be. This also makes it
impossible at present to include hyperlinks in the graph.

There are probably a few more tweaks that I could make to the
specification of the graph to improve the readability of the node
labels. But it seems to me that this is about as large a graph as
might be possible to display on a web page.

GraphViz can also be used to produce a png file directly. This
should produce a better quality image and would permit the use
of an image map for clickable hyperlinks on nodes and edges. To
do this will require another extension of MathAction to allow a
new pseudo-enviroment something like this:

\begin{graphviz}
\end{graphviz}

When clicking 'Save' this would be processed directly by GraphViz
to a png graphic with an associated image map for display on the
web page.

I said earlier that I wanted to stop doing web application
development and work more on Axiom, but if there is some interest
in using GraphViz this way on MathAction, I would be willing