texmacs-dev
[Top][All Lists]

## [Texmacs-dev] plugins

 From: Andrea Gamba Subject: [Texmacs-dev] plugins Date: Wed, 22 Apr 2009 12:44:39 +0200 User-agent: Thunderbird 2.0.0.21 (X11/20090318)

I think that the possibility to have a common open source interface to different mathematical packages is an awesome feature of Texmacs, something really unique, but a stronger effort is needed to make it work reliably, taking also into account software upgrades, etc.


In principle it would be nice to have some degree of unification, for instance one should be able to copy and paste mathematical expressions between different mathematical packages.


That would make different mathematical packages interoperable by providing a common translation based on texmacs. It would then become extremely easy to check for instance with Mathematica a computation previously performed with Maple or Axiom.


To achieve that, it would be necessary to provide a precise specification of a standard format to describe mathematical expressions, to be used both in the input and output of all texmacs plugins. That would free users e.g. from the necessity to remember that the same integral can be

int(sin(x),x=1..100) in Maple,
integrate(sin(x),x=1..100) in Axiom,
integrate(sin(x),x,1,100) in Maxima,
Integrate[Sin[x],{x,1,100}] in Mathematica,
etc.


At the moment, it is not even possible to paste back an output as an input to the same package. As an example, if I write at the Maple prompt

\frac 2 * \pi (down arrow) 3 (right arrow) (enter)

I get as an output:

2/3pi

(i.e.: 2/3<space|0.25spc><pi>  )


which cannot obviously be fed back to any other plugin, not even to Maple itself.


This kind of Maple output (which is the common way fractional factors are printed by the plugin) is also quite confusing in practice, because it tends to be read as

2/(3 pi).

With the same input, the Axiom plugin gives

<frac|2|3>p*i

which is quite unsatisfactory.

The Mathematica plugin gives:

<frac|2<pi>|3>

which is missing a "*" sign.

Only the Maxima plugin gives the correct answer:

<frac|2*<pi>|3>

Andrea