#### 4.2.1 Alphanumerical evaluation

For some functions’s needs, some arguments are interpreted in alphanumerical form (strings) and not numerical form.

If the argument is a list, then each list element is interpreted as a string and all strings obtained are concatenated. During that operation, TeXgraph can encounter several cases:

• A string: It must be delimited with the characters " and ", if the string must have the character ", then it is doubled: "".
• A variable or a constant: its value is returned as a string.
• A function returning a string.
• An expression returning a string:
• The macro chaine(): the command defining that predefined macro in interface.mac, is a message. That macro is used to store the strings while using the command Input. TeXgraph replaces chaine() by the corresponding string.
• Commands: Map, Si, Loop, Seq: those commands fonction like in the usual environment appart from the fact that the results are not evaluated as numbers but as a string. For example: Map( ["(", Re(z), "/", Im(z), ")"], z, [1+i,2,3-i]) will return the string: (1/1)(2/0)(3/-1), but outside such a context it would give : ["(",1,"/",1,")","(",2,"/",0,")","(",3,"/",-1,")"]].

Note: as structures like for, if , repeat et while are calling those commands, it is possible to use those structures in string-type arguments. Example: Message(for z in [1+i,2,3-i] do if Im(z)>0 then "(", Re(z),",", Im(z),")" fi od) will display (1,1).

• A macro-string, that is to say a macro returning a string.
• else : TeXgraph evaluate numerically the expression and the result is converted into a string.

Exemple(s): suppose that the macro chaine() was defined by the command "toto", and that we had created a global variable $A$ set to 6, then the following list:

["Our friend", UpperCase(chaine()), "has ", A*A, " teeth"]

will give the string: Our friend TOTO has 36 teeth. On the contrary, if the variable A has not been defined, then the string will be Our friend TOTO has teeth, because A’s value is Nil.