Global presentation

In the Source tags group of the DocumentView menu, you find several ways to customize the rendering of source trees in your document. We recommend you to play around with the different possibilities in a document of your own (after enabling DocumentViewSource tree) or a standard style package in $TEXMACS_PATH/packages.

First of all, you may choose between the different major styles “angular”, “scheme”, “functional” and “LaTeX” for rendering source trees, as illustrated in the figure below:

Angular Scheme

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||<arg|body>>>>>

Functional LaTeX

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

Figure 1. Different styles for rendering the same source tree.

Secondly, you may wish to reserve a special treatment to certain tags like concat and document. In the menu DocumentViewSpecial you may specify to which extent you want to treat such tags in a special way:

None
No tags receive a special treatment.
Formatting
Only the formatting tags concat and document are represented as usual.
Normal
In addition to the formatting tags, a few other tags like compound, value and arg are represented in a special way.
Maximal
At the moment, this option is not yet implemented. The intention is to allow the user to write his own customizations and to allow for special rendering of basic operations like plus.

These different options are illustrated below:

None Formatting

<assign|quick-theorem|<macro|body|<document|<surround|<concat|<no-indent>|Theorem. >||<arg|body>>>>>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||<arg|body>>>>>

Normal Maximal

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

Figure 2. Different ways to render special tags.

Another thing which may be controlled by the user is whether the presentation of tags should be compact or stretched out across several lines. Several levels of compactification may be specified in the DocumentViewCompactification menu:

Minimal
The tags are all stretched out across several lines.
Only inline tags
All non-inline tags are stretched out across several lines.
Normal
All inline arguments at the start of the tag are represented in a compact way. As soon as we encounter a block argument, the remainder of the arguments are stretched out across several lines.
Inline arguments
All inline arguments are represented in a compact way and only block tags are stretched out across several lines.
Maximal
All source code is represented in a compact way.

The “normal” and “inline arguments” options rarely differ. The visual effect of the different options is illustrated below:

Minimal Only inline tags

<\assign|

quick-theorem

|

<\macro|

body

|

<\surround|

<\concat|

<no-indent>

|

Theorem.

>

|

|

body

>

>

>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

Normal Maximal

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

Figure 3. Different levels of compactification.

Finally, the user may specify the way closing tags should be rendered when the tag is stretched out across several lines. The rendering may either be minimalistic, compact, long, or recall the matching opening tag. The different options are illustrated below:

Minimal Compact

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

Stretched Repeat

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

<assign|quick-theorem|<macro|body|<document|<surround|<no-indent>Theorem. ||body>>>>

Figure 4. Different ways to render closing tags.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".