Maxima is a system for the manipulation of symbolic and numerical expressions with more than 40-year history. The system is maintained by an active community of users and developers and is incorporated in systems, such as Sage. Maxima is an open source, and its functionality is on par with commercial systems, such as Maple and Mathematica. The main applications of the system are calculus, dynamical systems, and matrix algebra, which are used for example in the context of biophysical modeling.
Project idea: WxMaxima worksheet to Texinfo conversion.
WxMaxima is a widely used user interface for Maxima. WxMaxima is a worksheet interface. The user creates a series of cells which contain inputs, outputs, plots, titles and subtitles, and plain text. Worksheets are stored as XML documents within a compressed archive. Texinfo is a documentation system that uses a single source file to produce both online information and printed output. It is primarily designed for writing software manuals. The reference manual of Maxima, which can be searched and displayed in a Maxima session, is composed in Texinfo format. The purpose of this project is to create functions which convert a wxMaxima worksheet to Texinfo. The functions to convert a worksheet will be written in Common Lisp, which is the implementation language for Maxima itself.
Tasks:
- Getting familiar with Maxima and wxMaxmia.
- GUI implementation and integration
Minimal set of deliverables:
- Requirement specification ā Prepared by the candidate after understanding the functionality.
- System Design ā Detailed plan for the development of the translator and test cases.
Desired skills: experience with Lisp or C++, experience with HTML or Latex
Mentors: Rober Dodier, Maxima project, Dimiter Prodanov @dprodanov , INCF Belgian Node (backup)
References:
[1] http://maxima.sourceforge.net/
[2] Texinfo - GNU Documentation System - GNU Project - Free Software Foundation (FSF)
[3] https://wxmaxima-developers.github.io/wxmaxima/
Tags: Maxima, GUI, Lisp, C++, HTML, LaTeX