mirror of https://github.com/texmacs/doc.git
103 lines
3.7 KiB
Tcl
103 lines
3.7 KiB
Tcl
<TeXmacs|1.0.3.10>
|
|
|
|
<style|tmdoc>
|
|
|
|
<\body>
|
|
<tmdoc-title|Built-in environment variables>
|
|
|
|
The way <TeXmacs> <hyper-link|typesets|../basics/typesetting.en.tm>
|
|
documents is influenced by so called <em|environment variables>. The
|
|
<hyper-link|style-sheet language|../stylesheet/stylesheet.en.tm> uses a so
|
|
called <em|environment> (or context) to store both environment variables
|
|
and <hyper-link|macros|../stylesheet/prim-macro.en.tm>. The environment
|
|
variables are subdivided into two catagories: built-in variables and
|
|
additional variables provided by style files. Built-in variables usually
|
|
affect the layout, while additional variables mostly serve computational
|
|
purposes. In the next sections of this chapter, we will describe all
|
|
built-in environment variables.
|
|
|
|
A typical built-in environment variable is <src-var|color>. The value of an
|
|
environment variable may be <hyper-link|changed|../stylesheet/prim-env.en.tm>
|
|
permanently using <markup|assign> and temporarily using the <markup|with>
|
|
primitive:
|
|
|
|
<\tm-fragment>
|
|
Some <with|color|dark red|colored> text.
|
|
</tm-fragment>
|
|
|
|
<\tm-fragment>
|
|
<inactive*|Some <with|color|dark red|colored> text.>
|
|
</tm-fragment>
|
|
|
|
Counters are typical environment variables defined in style-sheets.
|
|
|
|
<\tm-fragment>
|
|
<\enumerate>
|
|
<item>A weirdly
|
|
|
|
<assign|item-nr|3><item>numbered list...
|
|
</enumerate>
|
|
</tm-fragment>
|
|
|
|
<\tm-fragment>
|
|
<inactive*|<\enumerate>
|
|
<item>A weirdly
|
|
|
|
<assign|item-nr|3><item>numbered list...
|
|
</enumerate>>
|
|
</tm-fragment>
|
|
|
|
The typesetting language uses <def-index|dynamic scoping> of variables.
|
|
That means that macros can access and modify variables in their calling
|
|
context. In the previous example, the <markup|enumerate> macro locally
|
|
initializes <src-var|item-nr> to <with|mode|math|0> (uses <markup|with>)
|
|
and the <markup|item> macro increments it by one and shows its value. Since
|
|
<markup|enumerate> locally redefines <src-var|item-nr>, the original value
|
|
of <src-var|item-nr> is restored on exit.
|
|
|
|
Each document comes with an <hyper-link|initial
|
|
environment|../basics/tm-docs.en.tm#init-env> with the initial values of
|
|
environment values, <abbr|i.e.> their values just before we typeset the
|
|
document. If an environment variable does not occur in the initial
|
|
environment, then its initial value defaults to its value after typesetting
|
|
the document style and possible additional packages. The initial
|
|
environment before typesetting the style files and packages is built-in
|
|
into the editor.
|
|
|
|
Some variables, like header and footer variables, must be set inside the
|
|
document, their initial environment value is ignored. Generally, they
|
|
should be set by header and sectioning markup.
|
|
|
|
<\traverse>
|
|
<branch|General environment variables|env-general.en.tm>
|
|
|
|
<branch|Specifying the current font|env-font.en.tm>
|
|
|
|
<branch|Typesetting mathematics|env-math.en.tm>
|
|
|
|
<branch|Paragraph layout|env-par.en.tm>
|
|
|
|
<branch|Page layout|env-page.en.tm>
|
|
|
|
<branch|Table layout|env-table.en.tm>
|
|
|
|
<branch|Editing source trees|env-src.en.tm>
|
|
|
|
<branch|Miscellaneous environment variables|env-misc.en.tm>
|
|
</traverse>
|
|
|
|
<tmdoc-copyright|2004|Joris van der Hoeven>
|
|
|
|
<tmdoc-license|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".>
|
|
</body>
|
|
|
|
<\initial>
|
|
<\collection>
|
|
<associate|language|english>
|
|
</collection>
|
|
</initial> |