#
Documentation

###
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.

YLIST(

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"),

a*b/c,

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 .