Jaxe equations syntax
Jaxe has a specific equation editor, to add and change equations. An equation is edited in a text area, while the corresponding image is displayed above in real time. The equation images are saved in a folder called equations_myfile within the folder of the XML file myfile.xml.
This editor does not pretend to be exhaustive. Complex equations can be created with another editor and added in Jaxe with a copy-paste.
Here are some rules to follow in order to make the best use of the editor :
As opposed to many equation editors, this editor analyses the mathematical meaning of the equation. It then builds the image from there. This makes it possible to get uniform graphical results for all equations. On the other hand, it is not possible to specify display constraints, for instance to obtain a little more space between two characters : the user gives the meaning for the equation, and the editor is in charge of finding the best display for it.
Operators '+' and '-'.
Operator '*', displayed only when two numbers are multiplied.
Example : 2*3*sin(1.5*pi) is displayed :
Operator '/' (displayed as a fraction) and functions 'slash' and 'fraction'
Example : slash(a;b)/c is displayed :
The parameter separator is the semicolon, to distinguish it from the coma, sometimes used in numbers : functionname(arg1;arg2;...)
Example : f(x;y) is displayed :
Example : x^y is displayed :
Example : x_(ab) is displayed :
Function 'subsup' with the first term, and the elements to display as subscript and superscript.
Example : subsup(A;1;2) is displayed :
Example : sqrt(x/2) is displayed :
Function 'root' with the degree of the root as the second parameter.
Example : root(x;3) is displayed :
Example : abs(x^3) is displayed :
Example : exp(x^2) is displayed :
Function 'int', with 4 parameters: the function to integrate, the integration variable, and the minimum and maximum bounds.
Example : int(f(x);x;0;infty) is displayed :
Functions 'sum' and 'prod', with 3 parameters: the function to sum up, and the minimum and maximum bounds.
Example : sum(ln(k)/k;k=1;10) is displayed :
Function 'matrix', with the lines as parameter as a function 'line'.
Example : matrix(line(1;2;3);line(4;5;6)) is displayed :
Variables with the letter name, with an uppercase to the first character of the name to get an uppercase Greek letter.
Example : alpha*Delta*thetasym*upsih*piv is displayed :
Variable with the name of the special character.
Example : M_sun/M_earth=3.329*10^5 is displayed :
Special code with no space.
Example : forall a exists b<<c~=d>=e!=f is displayed :
Function 'accent' with the letter and the accent to add above.
Example : accent(AB;->)+accent(ABC;hat)+accent(x;bar) is displayed :
Function 'timed' with the variable and the number of dots to display above.
Example : timed(theta;2) is displayed :
Function 'vector' with the name of the vector.
Example : vector(u_theta) is displayed :
Function 'scalarp' with the two vectors as parameters.
Example : scalarp(vector(AB);vector(CD)) is displayed :
Function 'norm' with the vector as a parameter.
Example : norm(vector(AB)) is displayed :
Some functions are displayed without parenthesis when they have a single parameter with a variable.
Example : sin(a)*sin(b) is displayed :
Function 'system', with the lines as parameters.
Example : system(x+y=2;x-2*y=3) is displayed :
Function 'unit', with the unit as the second parameter.
Example : bigg=unit(6.67259*10^(-11);m^3*kg^(-1)*s^(-2)) is displayed :
Note that units are displayed with a plain font, while a variable like is displayed with an italic font.
Example : fact(x) is displayed :
Example : mean(M_B) is displayed :