Standard documentation text

A Symaxx calculation should be documented like any calculation on paper: By writing a comment where it is needed.
To ease this, each `object' can contain a dedicated documentation text, which does not interact with Maxima. It is just displayed below the object on a blue background (Fig. 1).

Fig. 1: Default documentation text in Symaxx

Coloured output

The other documentation features use function names, which are unknown to Maxima. Therefore, Maxima just leaves those `function calls' alone.
The following function names have a special meaning for Symaxx:
  • RED(Expr,Expr,...)
  • GREEN(Expr,Expr,...)
  • BLUE(Expr,Expr,...)
  • GRAY(Expr,Expr,...)

  • Fig. 2: RED(sqrt(4)+1,"This is red")
    Note: While the implementation of this feature appears a little bit unorthodox at first glance, it is in fact equivalent to what happens with any mathematical function, which has a graphical representation. For example, Symaxx knows, that `sqrt(Expr)' should be handled by drawing `Expr' within a square root symbol. Similarly, RED(Expr,Expr,...) is handled by drawing all `Expr' in a line on a red background.
    Here is a practical example, which uses this feature:

    Maxima code: Is_the_same(a,b):=IF IS(a # b) THEN RED("Wrong!") ELSE GREEN("Right!")

    Fig. 3
    Note: the MCOND,...,TRUE is Maxima's internal representation of the IF ... THEN ... ELSE statement. It is shown this way, because support for the statement has not yet been implemented in Symaxx. The text editor shows the code nonetheless in IF ... THEN ... ELSE notation.

    Encapsulated Postscript images

    Any EPS (Encapsulated Postscript) graphics can be shown on the workscreen by writing EPS("filename",scale), where scale is a number. Again, the EPS function is unknown to Maxima and therefore ignored. So an EPS picture can be used as a symbol in calculations (figure 4).

    Fig. 4
    Possible application: automated arranging of several plots
    Note: When printing into a PS file, the EPS image will be embedded to obtain maximum print quality.

    YLIST: Arranging objects vertically

    The YLIST(Expr,Expr,...) command will stack the Expr on top of each other. A peculiarity: YLIST will be converted into an ordinary list the first time it is evaluated. So it can be used as an alternative way of writing lists. YLIST is needed to stack headings and text objects.

    Text objects and headings

    The following Maxima code is shown by Symaxx as in figure 5.
    HEADING1("Heading 1 (no wrap)"),
    HEADING2("Heading 2 (no wrap)"),
    HEADING3("Heading 3 (no wrap)"),
    TEXT("Ordinary text (wrapped)"),
    TEXT("Each TEXT item is a new paragraph"),
    TEXT("More Text")

    Fig. 5

    The needed commands are
  • HEADING1(string)
  • HEADING2(string)
  • HEADING3(string)
  • TEXT(string)

  • Note: At the moment, those functions are only recognized, if they have exactly one atomic argument (number or string). For example, HEADING1(a*b) will result in HEADING(a*b) being shown as a normal function.


    This page is hosted at .