GNU TeXmacs as a CAS front-end

HomepagePublicationsTalksTeXmacsMathemagix

Abstract

GNU TeXmacs is a free wysiwyw (what you see is what you want) platform for editing scientific documents. Its development started in the late nineties and the latest version is available from https://www.texmacs.org. TeXmacs provides a unified and user friendly framework for editing structured documents with different types of content such as text, mathematics, computer algebra sessions, graphics, animations, hyperlinks, spreadsheets, etc. The rendering engine uses high-quality typesetting algorithms for the production of professionally looking documents, which can either be printed out or presented from a laptop. TeXmacs runs on all major Unix platforms, Mac OS X, and Windows.

Some parts of TeXmacs were originally inspired by TeX and LaTeX. However, contrary to other programs such as LyX or Scientific WorkPlace, TeXmacs is not a graphical front-end for LaTeX, and an alternative rendering engine has been rewritten from scratch in C++. Besides an improved typesetting quality with respect to TeX, the rendering engine has the major advantage that documents are typeset in real time. This makes it possible to edit documents in a wysywig and user friendly way, without being distracted by compilation issues or encrypting formulas by LaTeX code.

Another objective of TeXmacs is to promote the development of free software for and by scientists, by significantly reducing the cost of producing documents, presentations, but also high quality user interfaces with other software. TeXmacs currently supports interfaces for many free computer algebra systems, such as Axiom, Macaulay 2, Mathemagix, Maxima, Pari, Reduce, Sage, etc., for several other mathematical systems, such as Octave, Scilab, GNU R, Graphviz, TeXgraph, etc., and for certain versions of a few proprietary systems, such as Maple and Mathematica.

External systems for doing computations can be invoked in various ways:

  1. The most classical communication is based on shell-like sessions, in which it is possible to evaluate commands and display the results in a nice, graphical way.

  2. The external system can also be used as an aid for editing documents. For instance, one may use it to differentiate or simplify the current formula or the current selection.

  3. A recent new feature (under development) is a spreadsheet facility, where any computer algebra system can in principle be used as a spreadsheet language.

Different systems can also be combined in a natural way. For instance, results computed by one system can be copied and used as input for another system.

Using the above mechanisms, TeXmacs makes it easy to write highly interactive documents: computations are directly embedded into the document and the reader can experiment with alternative inputs. Spreadsheets can either be presented in the form of tables, as in other software, or in the form of individual labeled fields that are embedded into the text. The latter style allows users to create interactive exams in which solutions can be checked or computed automatically and for which the inputs might be generated at random.

Occasion: CADGME 2016, Targu Mures, September 10, 2016

Documents: slideshow, TeXmacs source