Import of mom
[s-roff.git] / contrib / mom / momdoc / typemacdoc.html
blob11c87ea989f8cc9e6f9cc278722ecbebbdbb5cc8
1 <html>
2 <head>
3 <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
4 <title>Mom -- Typesetting macros in document processing</title>
5 </head>
6 <body bgcolor="#dfdfdf">
8 <!====================================================================>
10 <a href="appendices.html#TOP">Next</a>&nbsp;&nbsp;
11 <a href="letters.html#TOP">Prev</a>&nbsp;&nbsp;
12 <a href="toc.html">Back to Table of Contents</a>
14 <a name="TOP"></a>
15 <a name="TYPESETTING">
16 <h1 align="center"><u>USING TYPESETTING MACROS DURING DOCUMENT PROCESSING</u></h1>
17 </a>
19 During document processing, most of the
20 <a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
21 affect type in the document globally. For example, if you turn kerning
22 off, pairwise kerning is disabled not only in paragraphs, but
23 also in headers, footers, quotes, and so on.
24 <p>
25 Typesetting macros that temporarily alter margins and line lengths
26 affect
27 <a href="definitions.html#TERMS_RUNNING">running text</a>
28 globally (or at least try to), but leave headers/footers and footnotes
29 alone. (To indent footnotes, see the full explanation of the
30 <a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
31 macro.)
32 <p>
33 There are, however, some typesetting macros that, used during document
34 processing, behave in special ways. These are the macros that deal
35 with the basic parameters of type style: horizontal and vertical margins,
36 line length,
37 <a href="definitions.html#TERMS_FAMILY">family</a>,
38 <a href="definitions.html#TERMS_FONT">font</a>,
39 point size,
40 <a href="definitions.html#TERMS_LEADING">leading</a>,
41 and
42 <a href="definitions.html#TERMS_QUAD">quad</a>.
43 <p>
44 <strong>NOTE:</strong> See the section on
45 <a href="#TB_MARGINS">Top and bottom margins in document processing</a>
46 for information on how <strong>mom</strong> interprets
47 <a href="typesetting.html#T_MARGIN">T_MARGIN</a>
48 and
49 <a href="typesetting.html#B_MARGIN">B_MARGIN</a>
50 in document processing.
52 <p>
53 <strong>Mom</strong> assumes that any changes to these parameters
54 stem from a temporary need to set type in a style different from that
55 provided by <strong>mom</strong>'s
56 <a href="docelement.html#INDEX_DOCELEMENT">document element tags</a>.
57 In other words, you need to do a bit of creative typesetting in the
58 middle of a document.
59 <p>
60 The following lists those typesetting macros whose behaviour during
61 document processing requires some explanation.
62 <p>
63 <pre>
64 MACRO EFFECT DURING DOCUMENT PROCESSING
65 ----- ---------------------------------
67 L_MARGIN *The left margin of all running text
68 assumes the new value.
70 *The line length remains unaltered.
72 *The header and footer left margin
73 remain at the current document default.
75 (You won't use this often by itself. Most
76 likely, you'll use it in combination with
77 R_MARGIN or LL.)
79 R_MARGIN *The right margin of all running text
80 assumes the new value. In other words,
81 the line length is altered.
83 *The header and footer right margin
84 remain at the current document default.
86 LL *The line length of all running text
87 is set to the new value.
89 *The header and footer line length remain
90 at the current document default.
92 FAMILY *Changes family for the duration of the
93 current tag only. As soon as another document
94 element tag is invoked, the family reverts to
95 the current default for the new tag.
97 FT *Changes font for the duration of the
98 current tag only. As soon as another document
99 element tag is entered, the font reverts
100 to the current default for the new tag.
102 N.B. -- \*[SLANT] and \*[BOLDER] affect
103 paragraph text, and remain in effect for all
104 paragraphs until turned off. If you want to
105 use them in a macro that takes a string
106 argument, include the escape in the string.
107 \*[COND] and \*[EXT] behave similarly.
109 PS *Changes point size for the duration of the
110 current tag only. As soon as another document
111 element tag is entered, the point size reverts
112 to the current document default for the new
113 tag.
115 LS *Changes line space for the duration of the
116 current tag only. As soon as another document
117 element tag is entered, the line space reverts to
118 the current document default for the new
119 tag. Highly NOT recommended, since changes to
120 a document's leading interfere with mom's
121 ability to balance bottom margins.
123 QUAD *Changes quad for the duration of the
124 current tag only. As soon as another document
125 element tag is entered, the quad reverts to
126 the current document default for the new
127 tag.
129 N.B. -- Line-for-line quadding macros
130 (LEFT, CENTER, RIGHT) are also temporary,
131 overridden by the QUAD value of any subsequent
132 document element tag.
133 </pre>
134 <hr>
136 <!=====================================================================>
138 <a name="TB_MARGINS">
139 <h2><u>Top and bottom margins in document processing</u></h2>
140 </a>
142 Normally, <strong>mom</strong> establishes the top and bottom margins
144 <a href="definitions.html#TERMS_RUNNING">running text</a>
145 in documents from the values of <strong>HEADER_MARGIN +
146 HEADER_GAP</strong> and <strong>FOOTER_MARGIN + FOOTER_GAP</strong>
147 respectively. However, if you invoke
148 <a href="typesetting.html#T_MARGIN">T_MARGIN</a>
150 <a href="typesetting.html#B_MARGIN">B_MARGIN</a>
151 either before or after
152 <a href="docelement.html#START">START</a>,
153 they set the top and bottom margins of running text irrespective
154 of <strong>HEADER_GAP</strong> and <strong>FOOTER_GAP</strong>.
156 Put another way, in document processing, <strong>T_MARGIN</strong>
157 and <strong>B_MARGIN</strong> set the top and bottom margins of
158 running text, but have no effect on the placement of
159 <a href="definitions.html#TERMS_HEADER">headers</a>,
160 <a href="definitions.html#TERMS_FOOTER">footers</a>,
161 or page numbers.
164 <hr>
165 <a href="appendices.html#TOP">Next</a>&nbsp;&nbsp;
166 <a href="letters.html#TOP">Prev</a>&nbsp;&nbsp;
167 <a href="#TOP">Top</a>&nbsp;&nbsp;
168 <a href="toc.html">Back to Table of Contents</a>
169 </body>
170 </html>