axiom-mail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Axiom-mail] TeX vs LaTeX output on AXIOM


From: Bill Page
Subject: RE: [Axiom-mail] TeX vs LaTeX output on AXIOM
Date: Thu, 12 Feb 2004 22:03:13 -0500

On Thursday, February 12, 2004 6:25 PM C Y wrote:
> 
>>> (1) Can I modify the TeX function, to fine tune the output
>>> in a MyTeX() function?  If so, where should I look?
>> 
>> It is possible but not easy because there is no *one place* 
>> to look. In Axiom TeX generation output generation is
>> distributed over each module (several hundred).
> 
> Huh.  Just curious, but why was this design direction taken?  

I certainly can not speak for the designers, but it seems to
me that this is quite natural given Axiom's "object oriented"
design philosophy. Axiom was implemented in this manner as a
leading edge research project long before the concept was
even called that by the rest of the computer science community.
By modern programming language standards in some ways the
implementation is primitive and it other ways it is still
leading edge research.

Basically, output is just another "type" in Axiom - a kind
of external representation of something which also has
(possibly several) internal representation. For example if you
want to display a multiplication symbol in some mathematical
context, say expressions involving scalars and matrices you
need to "coerce" an object of one type EXPRESSION MATRIX
FLOAT to another type OUTPUTFORM ... It is during this
conversion that the decision as to which graphic character
should be used in OUTPUTFORM is made. The code to do this
is part of the implementation of the object. Something
that is a valid LaTeX expression for the multiplication of
a scalar by a matrix is of a different OUTPUTFORM type from
say that same thing in a 2-d ASCII representation and it is
different again from it's representation in the old IBM script
language (still available in Axiom!) and for that matter in
MATHML.

This is only an illustration. I am sorry I don't have time
right now to prepare an actual demonstration in Axiom. But
the decision to make these conversions part the object's
definition seems especially appropriate if you think about
the problem of encoding mathematical semantics in an output
form such as OpenMath.

> Do the various modules need that much customization when 
> outputting TeX?

I said "several hundred modules", but perhaps that is an
exaggeration since many of these conversions can be simply
inherited from other objects higher up in the type hierarchy.

> IIRC, Maxima's TeX output functions are mostly (all?)
> contained in mactex.lisp, and that seems to have worked so
> far.

Certainly Maxima (and other similar computer algebra systems)
"works", but it works in a very different way than Axiom.

> 
> Does that also mean that if someone wanted to teach axiom to 
> output presentation mathml (for example) they would have to 
> teach each module how to output it individually?
> 

Not exactly (see above), but depending just how much of the
mathematical semantic context is embedded in your desired
output form, then I think the answer is yes, in principle.
(MathML has considerably more semantic content then LaTex.)

Regards,
Bill Page.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]