On 03/05/2010 09:20 AM, Janek Kozicki wrote:
rgheck said:     (by the date of Fri, 05 Mar 2010 07:46:39 -0500)

On 03/05/2010 07:29 AM, Helge Hafting wrote:
And so on. Apparently, there are many limitations though. Maxima can do
more, the communication between LyX and maxima is limited. You can't
do matrix multiplication, for example.

All of this is correct, but the infrastructure for doing more is there.
Look at src/mathed/MathExtern.cpp and the various maxima() methods.

We'd be very, very happy to have someone work on this.
A warm welcome is very encouraging. I'll check that file.

I know nothing about how it is done, yet, but still I have some
simple vision, correct me when I'm wrong:

Since I don't use maxima etc myself, I don't have a lot of thoughts about this. What happens at present is that LaTeX that is entered into a math inset gets translated into maxima's input format; LyX calls maxima to do the calculation; retrieves the result, which is presumably in maxima's output format; and then translates that back into LaTeX, for inclusion in the document. Improving this means improving the translation mechanisms, mostly, so that LyX is able to formulate more complex queries and understand more complex answers.

What you are proposing, I think, is somewhat different and looks almost like one of LyX's "external" insets. Indeed, something very like it could surely be implemented using external templates, which define a way that LyX can interact with external programs. These insets are inserted using Insert>File>External Material, and we have support for several external programs now. The difference from what you are proposing is that the information would not be stored in LyX but rather in external text files referenced from within the LyX document. These would also be edited in an external text editor, but this can be called from within LyX, from the context menu. Have a look at lib/external_templates, which defines several of these things, and at chapter 6 of the Customization manual.

My sense is that, for full maxima integration, this is definitely the easiest way to go. The disadvantage, compared to the current system, is that there's no integration with the math insets.

rh

Reply via email to