> <\body> This section describes several primitives for controlling the way expressions in the style-sheet language are evaluated. The primitives are analogous to the primitives , , , , although the conventions are slightly than those used by conventional functional languages like . <\explain> <|explain> Typeset the result of the evaluation of . This primitive is usually combined with a tag like or for delaying the evaluation. <\explain> <|explain> Evaluation of the expression yields itself. This kind of delayed evaluation may be useful in combination with the primitive which forces evaluation. <\explain> <|explain> This tag is a variant of the tag, which returns the expression in which all subexpressions of the form have been replaced by the evaluations of . For instance, <\tm-fragment> > .>>>> may be used to define a macro whose value is localized for the current language. In a French document, the declaration would typically be equivalent to <\tm-fragment> .>>> Notice however that it is usually better not to use the primitive for such applications. When defining <\tm-fragment> .>>> the typesetting of > would naturally adapt itself to the current language, while the above version would always use the language at the moment of the definition of the macro. Nevertheless, the first form does have the advantage that the localization of the word ``Hello'' only has to be computed once, when the macro is defined. Therefore, the primitive may sometimes be used in order to improve performance. <\explain> <|explain> This tag is used in combination with and in order to mark the subexpressions which need to be evaluated. <\explain> <|explain> This tag is similar to , except that the argument now evaluates to a list of subexpressions, which are inserted into the arguments of the parent node. For instance, consider the macro <\tm-fragment> >|>>>>>>> Then > is typeset as <\equation*> >|>>>>|> <\explain> <|explain> This tag is a shortcut for >>. This primitive is often used in the style files in order to write macros which define sets of other macros. For instance, the macro <\tm-fragment> |>. >||>>>>>>> may be used in order to define new theorem-like environments. <\explain> <|explain> When retrieving an environment variable , one is usually interested in its typeset value, as given by . In some cases, it may be useful to access the real, non-typeset value. This can be done with . <\explain> >|index-n> <|explain> When retrieving (a subexpression of) a macro argument , one is usually interested in its typeset value, as given by >|index-n>. In some cases, it may be useful to access the real, non-typeset value. This can be done with >|index-n>. >