#### 4.2.3 Commands linked to strings

• The command Concat( <argument 1>, <argument 2>, ..., <argument n> ): each argument is interpreted as a string, the results are concatenated, and the command returns the resulting string (see the command Concat).
• The command IsString( <arg> ): returns $1$ if <arg> is a string, $0$ if not. If <arg> is a list, only the first argument is tested.
• UpperCase( <expression> ) and LowerCase( <expression> ): return the <expression> respectively in uppercase and lowercase.
• The command ScientificF( <real> [, <nb of decimal places>] ): convert the <number> into the scientific format and returns the result as a string.
• The command Str( <macro name> ): represents the text of the macro called <macro name> if it’s not predefined (else it’s the empty string). The argument <macro name> is itself interpreted as a string.
• The command String( <expression> ): if <expression> represent a variable, then the command returns the variable’s name, else it returns the expression as a string.
• The command String2Teg( <expression> ): that function is evaluating alphanumerically the <expression> and returns the result as a string, doubling the " characters encountered. The result is then readable by the TeXgraph program.
• StrComp( <string1>, <string2> ): returns 1 if the two strings are identical, 0 if not.
• StrCopy( <string>, <start>, <quantity> ): returns the resulting string of the extraction (like the command Copy).
• StrDel( <variable>, <start>, <quantity> ): modify the <variable> by removing <quantity> characters from the <start> (like the command Del). if the arguvariable is a list of strings, only the first is handled. If the <variable> is not a string, the command is without any effect.
• StrEval( <"expression"> ): The command is evaluating the <expression> (that must be a string), and returns the result as a string.
• StrLength( <string> ): returns the string length.
• StrPos( <pattern>, <string> ): returns the position (integer) of the first pattern in the string.
• StrReplace( <string>, <pattern to remove>, <replacement pattern> ): returns the resulting string.
• Args( <k> ): to be used within a macro. It is eveluating alphanumerically the argument number $k$ and returns the resulting string. If there aren’t any argument, then it’s the whole argument’s list that is treated.
• StrArgs( <k> ): to be used within a macro. It returns the argument number $k$ as string. If there is no argument, then the whole argument list is treated.