<\body> The main interest of the ' style-sheet language is the possibility to define macros. These come in three flavours: ordinary macros, macros which take an arbitrary number of arguments and external macros, whose expansion is computed by or a plug-in. The macro-related primitives are available from the menu. Below, we will only describe the ordinary macros. For more details, we refer to the section about . Ordinary macros are usually defined using <\tm-fragment> >|>>|>|body>>> After such an assignment, becomes a new primitive with arguments, which may be called using <\tm-fragment> >|>>|>>> Inside the body of the macro, the primitive may be used to retrieve the values of the arguments to the macro. <\tm-fragment> , you look nice today!>>> It is possible to call a macro with less or more arguments than the expected number. Superfluous arguments are simply ignored. Missing arguments take the nullary primitive as value: <\tm-fragment> |>|Hey , you look lonely today...|Hey and , you form a nice couple!>>>>> We finally notice that you are allowed to compute with macros, in a similar way as in functional programming, except that our macros are not closures (yet). For instance: <\tm-fragment> >>> The tag may be used to apply macros which are the result of a computation: <\tm-fragment> ||>|>>>>> <\initial> <\collection>