<\body> In the , we have seen that output from applications is encapsulated in blocks of the form <\quotation> :>> In fact, the > may recursively contain blocks of the same form. Currently implemented formats include , , , , . The format is used for sending trees in the form of expressions. plug-in> The plug-in demonstrates the use of as the output format. It consists of the files <\verbatim> \ \ \ \ \ \ \ \ \ \ \ \ The body of the main loop of is given by <\cpp-fragment> int i, nr; cin \\ nr; cout \\ DATA_BEGIN \\ "latex:"; cout \\ "$"; for (i=1; i\nr; i++) \ \ cout \\ "x_{" \\ i \\ "}+"; cout \\ "x_{" \\ i \\ "}$"; cout \\ DATA_END; fflush (stdout); Similarly, the use of nested output blocks is demonstrated by the plug-in; see in particular the source file . <\remark> At the moment, we only implemented as a standard transmission format for mathematical formulas, because this is the format which is most widely used. In the future, we intend to implement more semantically secure formats, and we recommend you to keep in mind the possibility of sending your output in tree format. Nevertheless, we enriched standard with the and commands for multiplication and closing big operators. This allows us to distinguish between <\verbatim> \ \ \ \ a \\* (b + c) ( multiplied by ) and <\verbatim> \ \ \ \ f(x + y) ( applied to ). Similarly, in <\verbatim> \ \ \ \ \\sum_{i=1}^m a_i \\bignone + \\sum_{j=1}^n b_j \\bignone the command is used in order to specify the scopes of the operators. It turns out that the systematic use of the and commands, in combination with clean output for the remaining constructs, makes it possible to associate an appropriate meaning to your output. In particular, this usually makes it possible to write additional routines for copying and pasting formulae between different systems. plug-in> It is important to remind that structured output can be combined with the power of as a structured editor. For instance, the plug-in demonstrates the definition of an additional tag , which is used as an additional primitive in the output of the application. More precisely, the plug-in consists of the following files: <\verbatim> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ The style package contains the following definition for : <\tm-fragment> >>>>> The tag is used in the following way in the body of the main loop of : <\cpp-fragment> char buffer[100]; cin.getline (buffer, 100, '\\n'); cout \\ DATA_BEGIN \\ "latex:"; cout \\ "$\\\\foo{" \\ buffer \\ "}$"; cout \\ DATA_END; fflush (stdout); Notice that the style package also defines the environment: <\tm-fragment> >>>>> This has the effect of centering the output in sessions started using . <\initial> <\collection>