summaryrefslogtreecommitdiff
path: root/contrib/mom/momdoc/typemacdoc.html
blob: 11c87ea989f8cc9e6f9cc278722ecbebbdbb5cc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Mom -- Typesetting macros in document processing</title>
</head>
<body bgcolor="#dfdfdf">

<!====================================================================>

<a href="appendices.html#TOP">Next</a>&nbsp;&nbsp;
<a href="letters.html#TOP">Prev</a>&nbsp;&nbsp;
<a href="toc.html">Back to Table of Contents</a>

<a name="TOP"></a>
<a name="TYPESETTING">
	<h1 align="center"><u>USING TYPESETTING MACROS DURING DOCUMENT PROCESSING</u></h1>
</a>

During document processing, most of the
<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
affect type in the document globally.  For example, if you turn kerning
off, pairwise kerning is disabled not only in paragraphs, but
also in headers, footers, quotes, and so on.
<p>
Typesetting macros that temporarily alter margins and line lengths
affect
<a href="definitions.html#TERMS_RUNNING">running text</a>
globally (or at least try to), but leave headers/footers and footnotes
alone.  (To indent footnotes, see the full explanation of the
<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
macro.)
<p>
There are, however, some typesetting macros that, used during document
processing, behave in special ways.  These are the macros that deal
with the basic parameters of type style: horizontal and vertical margins,
line length,
<a href="definitions.html#TERMS_FAMILY">family</a>,
<a href="definitions.html#TERMS_FONT">font</a>,
point size,
<a href="definitions.html#TERMS_LEADING">leading</a>,
and
<a href="definitions.html#TERMS_QUAD">quad</a>.
<p>
<strong>NOTE:</strong> See the section on
<a href="#TB_MARGINS">Top and bottom margins in document processing</a>
for information on how <strong>mom</strong> interprets
<a href="typesetting.html#T_MARGIN">T_MARGIN</a>
and
<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
in document processing.

<p>
<strong>Mom</strong> assumes that any changes to these parameters
stem from a temporary need to set type in a style different from that
provided by <strong>mom</strong>'s
<a href="docelement.html#INDEX_DOCELEMENT">document element tags</a>.
In other words, you need to do a bit of creative typesetting in the
middle of a document.
<p>
The following lists those typesetting macros whose behaviour during
document processing requires some explanation.
<p>
<pre>
MACRO           EFFECT DURING DOCUMENT PROCESSING
-----           ---------------------------------

L_MARGIN        *The left margin of all running text
                 assumes the new value.

                *The line length remains unaltered.

                *The header and footer left margin
                 remain at the current document default.

                (You won't use this often by itself.  Most
                 likely, you'll use it in combination with
                 R_MARGIN or LL.)

R_MARGIN        *The right margin of all running text
                 assumes the new value.  In other words,
                 the line length is altered.

                *The header and footer right margin
                 remain at the current document default.

LL              *The line length of all running text
                 is set to the new value.

                *The header and footer line length remain
                 at the current document default.

FAMILY          *Changes family for the duration of the
                 current tag only.  As soon as another document
                 element tag is invoked, the family reverts to
                 the current default for the new tag.

FT              *Changes font for the duration of the
                 current tag only.  As soon as another document
                 element tag is entered, the font reverts
                 to the current default for the new tag.

                 N.B. -- \*[SLANT] and \*[BOLDER] affect
                 paragraph text, and remain in effect for all
                 paragraphs until turned off.  If you want to
                 use them in a macro that takes a string
                 argument, include the escape in the string.
                 \*[COND] and \*[EXT] behave similarly.

PS              *Changes point size for the duration of the
                 current tag only.  As soon as another document
                 element tag is entered, the point size reverts
                 to the current document default for the new
                 tag.

LS              *Changes line space for the duration of the
                 current tag only.  As soon as another document
                 element tag is entered, the line space reverts to
                 the current document default for the new
                 tag.  Highly NOT recommended, since changes to
                 a document's leading interfere with mom's
                 ability to balance bottom margins.

QUAD            *Changes quad for the duration of the
                 current tag only.  As soon as another document
                 element tag is entered, the quad reverts to
                 the current document default for the new
                 tag.

                 N.B. -- Line-for-line quadding macros
                 (LEFT, CENTER, RIGHT) are also temporary,
                 overridden by the QUAD value of any subsequent
                 document element tag.
</pre>
<hr>

<!=====================================================================>

<a name="TB_MARGINS">
	<h2><u>Top and bottom margins in document processing</u></h2>
</a>

Normally, <strong>mom</strong> establishes the top and bottom margins
of
<a href="definitions.html#TERMS_RUNNING">running text</a>
in documents from the values of <strong>HEADER_MARGIN +
HEADER_GAP</strong> and <strong>FOOTER_MARGIN + FOOTER_GAP</strong>
respectively.  However, if you invoke
<a href="typesetting.html#T_MARGIN">T_MARGIN</a>
or
<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
either before or after
<a href="docelement.html#START">START</a>,
they set the top and bottom margins of running text irrespective
of <strong>HEADER_GAP</strong> and <strong>FOOTER_GAP</strong>.
<p>
Put another way, in document processing, <strong>T_MARGIN</strong>
and <strong>B_MARGIN</strong> set the top and bottom margins of
running text, but have no effect on the placement of
<a href="definitions.html#TERMS_HEADER">headers</a>,
<a href="definitions.html#TERMS_FOOTER">footers</a>,
or page numbers.

<p>
<hr>
<a href="appendices.html#TOP">Next</a>&nbsp;&nbsp;
<a href="letters.html#TOP">Prev</a>&nbsp;&nbsp;
<a href="#TOP">Top</a>&nbsp;&nbsp;
<a href="toc.html">Back to Table of Contents</a>
</body>
</html>