definitions.html revision 1.1 1 1.1 christos <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 1.1 christos <html>
3 1.1 christos <head>
4 1.1 christos <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
5 1.1 christos <title>Mom -- Definitions and Terms</title>
6 1.1 christos </head>
7 1.1 christos <body bgcolor="#dfdfdf">
8 1.1 christos
9 1.1 christos <!====================================================================>
10 1.1 christos
11 1.1 christos <a href="using.html#TOP">Next</a>
12 1.1 christos <a href="intro.html#TOP">Prev</a>
13 1.1 christos <a href="toc.html">Back to Table of Contents</a>
14 1.1 christos <p>
15 1.1 christos <a name="TOP"></a>
16 1.1 christos <a name="TERMS">
17 1.1 christos <h1 align="center"><u>DEFINITIONS OF TERMS USED IN THIS MANUAL</u></h1>
18 1.1 christos </a>
19 1.1 christos
20 1.1 christos <a href="#TERMS_TYPESETTING">Typesetting Terms</a>
21 1.1 christos <br>
22 1.1 christos <a href="#TERMS_GROFF">Groff Terms</a>
23 1.1 christos <br>
24 1.1 christos <a href="#TERMS_MOM">Mom Document Processing Terms</a>
25 1.1 christos <p>
26 1.1 christos I use a number of typesetting-specific and groff-specific terms
27 1.1 christos throughout this documentation, as well as a few terms that apply
28 1.1 christos to <strong>mom</strong> herself. To make life easier, I'll explain
29 1.1 christos them here. Refer back to this section should you encounter a word
30 1.1 christos or concept you're not familiar with.
31 1.1 christos <p>
32 1.1 christos <hr>
33 1.1 christos
34 1.1 christos <a name="TERMS_TYPESETTING">
35 1.1 christos <h2><u>Typesetting terms</u></h2>
36 1.1 christos </a>
37 1.1 christos
38 1.1 christos <ul>
39 1.1 christos <li><a href="#TERMS_ASCENDER">Ascender</a>
40 1.1 christos <li><a href="#TERMS_BASELINE">Baseline</a>
41 1.1 christos <li><a href="#TERMS_BALLOTBOX">Ballot box</a>
42 1.1 christos <li><a href="#TERMS_BULLET">Bullet</a>
43 1.1 christos <li><a href="#TERMS_CAPHEIGHT">Cap-height</a>
44 1.1 christos <li><a href="#TERMS_DESCENDER">Descender</a>
45 1.1 christos <li><a href="#TERMS_DISCRETIONARYHYPHEN">Discretionary hyphen</a>
46 1.1 christos <li><a href="#TERMS_DROPCAP">Drop cap</a>
47 1.1 christos <li><a href="#TERMS_EM">Em/en</a>
48 1.1 christos <li><a href="#TERMS_FAMILY">Family</a>
49 1.1 christos <li><a href="#TERMS_FIGURESPACE">Figure space/Digit space</a>
50 1.1 christos <li><a href="#TERMS_FIXEDWIDTHSPACE">Fixed width space</a>
51 1.1 christos <li><a href="#TERMS_FONT">Font</a>
52 1.1 christos <li><a href="#TERMS_FORCE">Force justify</a>
53 1.1 christos <li><a href="#TERMS_JUST">Justify/justification</a>
54 1.1 christos <li><a href="#TERMS_GUTTER">Gutter</a>
55 1.1 christos <li><a href="#TERMS_KERN">Kerning</a>
56 1.1 christos <li><a href="#TERMS_KERNUNIT">Kern Units</a>
57 1.1 christos <li><a href="#TERMS_LEADING">Lead/leading</a>
58 1.1 christos <li><a href="#TERMS_LEADER">Leaders</a>
59 1.1 christos <li><a href="#TERMS_LIGATURES">Ligature</a>
60 1.1 christos <li><a href="#TERMS_PICASPOINTS">Picas/Points</a>
61 1.1 christos <li><a href="#TERMS_PS">Point Size</a>
62 1.1 christos <li><a href="#TERMS_QUAD">Quad</a>
63 1.1 christos <li><a href="#TERMS_RAG">Rag</a>
64 1.1 christos <li><a href="#TERMS_SHAPE">Shape</a>
65 1.1 christos <li><a href="#TERMS_SOLID">Solid/set solid</a>
66 1.1 christos <li><a href="#TERMS_TRACKKERNING">Track kerning/Line kerning</a>
67 1.1 christos <li><a href="#TERMS_UNBREAKABLESPACE">Unbreakable space</a>
68 1.1 christos <li><a href="#TERMS_WEIGHT">Weight</a>
69 1.1 christos <li><a href="#TERMS_WORDSPACE">Word space</a>
70 1.1 christos <li><a href="#TERMS_XHEIGHT">x-height</a>
71 1.1 christos </ul>
72 1.1 christos
73 1.1 christos <dl>
74 1.1 christos <dt><a name="TERMS_ASCENDER"><em>Ascender</em></a>
75 1.1 christos <dd>The portion of a letter that extends above the bowl. For example,
76 1.1 christos the letters a, c, and e have no ascenders. The letters b, d, and h
77 1.1 christos do.
78 1.1 christos
79 1.1 christos <dt><a name="TERMS_BASELINE"><em>Baseline</em></a>
80 1.1 christos <dd>The imaginary line on which the bottoms of capital letters and the
81 1.1 christos bowls of lower case letters rest.
82 1.1 christos
83 1.1 christos <dt><a name="TERMS_BALLOTBOX"><em>Ballot box</em></a>
84 1.1 christos <dd>An unfilled square, usually
85 1.1 christos <a href="#TERMS_CAPHEIGHT">cap-height</a>
86 1.1 christos in size, typically placed beside items in a checklist.
87 1.1 christos
88 1.1 christos <dt><a name="TERMS_BULLET"><em>Bullet</em></a>
89 1.1 christos <dd>A small, filled circle typically found beside items or points in
90 1.1 christos a list.
91 1.1 christos
92 1.1 christos <dt><a name="TERMS_CAPHEIGHT"><em>Cap-height</em></a>
93 1.1 christos <dd>The height of the tallest capital letter in a given
94 1.1 christos <a href="#TERMS_FONT">font</a>
95 1.1 christos at the current
96 1.1 christos <a href="#TERMS_PS">point size</a>.
97 1.1 christos
98 1.1 christos <dt><a name="TERMS_DESCENDER"><em>Descender</em></a>
99 1.1 christos <dd>The portion of a letter that extends beneath the
100 1.1 christos <a href="#TERMS_BASELINE">baseline</a>
101 1.1 christos (j, q, y are letters with descenders).
102 1.1 christos
103 1.1 christos <dt><a name="TERMS_DISCRETIONARYHYPHEN"><em>Discretionary hyphen</em></a>
104 1.1 christos <dd>A symbol inserted between two syllables of a word that indicates to a
105 1.1 christos typesetting program the legal hyphenation points in the word. Normally,
106 1.1 christos if hyphenation is turned on, groff knows where to hyphenate words.
107 1.1 christos However, hyphenation being what it is (in English, at any rate),
108 1.1 christos groff doesn't always get it right. Discretionary hyphens make sure
109 1.1 christos it does. In the event that the word doesn't need to be hyphenated
110 1.1 christos at all, groff leaves them alone. In groff, the discretionary hyphen is
111 1.1 christos entered with
112 1.1 christos <p>
113 1.1 christos <pre>
114 1.1 christos \%
115 1.1 christos </pre>
116 1.1 christos
117 1.1 christos (backslash followed by a percent).
118 1.1 christos
119 1.1 christos <dt><a name="TERMS_DROPCAP"><em>Drop cap</em></a>
120 1.1 christos <dd>A large, usually upper-case letter that introduces the first
121 1.1 christos paragraph of a document or section thereof. The top of the drop
122 1.1 christos cap usually lines up with the top of the first line of the
123 1.1 christos paragraph, and typically "drops" several lines lower.
124 1.1 christos Text adjacent to the drop cap is indented to the right of the
125 1.1 christos letter until the bottom of the drop cap is reached, at which
126 1.1 christos point text reverts to the left margin.
127 1.1 christos
128 1.1 christos <dt><a name="TERMS_EM"><em>Em/en</em></a>
129 1.1 christos <dd>An em is a relative measurement equal to the width of the
130 1.1 christos letter M at a given
131 1.1 christos <a href="#TERMS_PS">point size</a>
132 1.1 christos in a given
133 1.1 christos <a href="#TERMS_FONT">font</a>.
134 1.1 christos Since most Ms are designed square, an em is usually (but sometimes
135 1.1 christos erroneously) considered to be the same size as the current point
136 1.1 christos size (i.e. if the point size of the type is 12, one em equals 12
137 1.1 christos points). An en is equal to the width of a letter N (historically
138 1.1 christos 2/3 of an em, although groff treats an en as 1/2 of an em).
139 1.1 christos Typically, ems and ens are used to measure indents, or to define the
140 1.1 christos length of dashes (long hyphens).
141 1.1 christos
142 1.1 christos <dt><a name="TERMS_FAMILY"><em>Family</em></a>
143 1.1 christos <dd>The collective name by which a collection of
144 1.1 christos <a href="#TERMS_FONT">fonts</a>
145 1.1 christos are known, e.g. Helvetica, Times Roman, Garamond.
146 1.1 christos
147 1.1 christos <dt><a name="TERMS_FIGURESPACE"><em>Figure space/Digit space</em></a>
148 1.1 christos <dd>A
149 1.1 christos <a href="#TERMS_FIXEDWIDTHSPACE">fixed width space</a>
150 1.1 christos that has the width of one digit. Used for aligning numerals in,
151 1.1 christos say, columns or numbered lists. In groff, the figure space is
152 1.1 christos entered with
153 1.1 christos <p>
154 1.1 christos <pre>
155 1.1 christos \0
156 1.1 christos </pre>
157 1.1 christos
158 1.1 christos (backslash followed by a zero).
159 1.1 christos
160 1.1 christos <dt><a name="TERMS_FIXEDWIDTHSPACE"><em>Fixed width space</em></a>
161 1.1 christos <dd>Equal to
162 1.1 christos <a href="#TERMS_WORDSPACE">word space</a>,
163 1.1 christos but does not expand or contract when text is
164 1.1 christos <a href="#TERMS_JUST">justified</a>.
165 1.1 christos In groff, fixed width space is entered with
166 1.1 christos <p>
167 1.1 christos <pre>
168 1.1 christos \<space>
169 1.1 christos </pre>
170 1.1 christos
171 1.1 christos where <space> means "hit the spacebar on your keyboard."
172 1.1 christos
173 1.1 christos <dt><a name="TERMS_FONT"><em>Font</em></a>
174 1.1 christos <dd>The specific
175 1.1 christos <a href="#TERMS_WEIGHT">weight</a>
176 1.1 christos and
177 1.1 christos <a href="#TERMS_SHAPE">shape</a>
178 1.1 christos of type within a
179 1.1 christos <a href="#TERMS_FAMILY">family</a>,
180 1.1 christos e.g. light, medium, bold (which are weights), and roman, italic,
181 1.1 christos condensed (which are shapes). By default, groff knows of four fonts
182 1.1 christos within its default set of families: R (medium roman), I (medium
183 1.1 christos italic), B (bold roman) and BI (bold italic).
184 1.1 christos
185 1.1 christos <dt><a name="TERMS_FORCE"><em>Force justify
186 1.1 christos </em></a>
187 1.1 christos <dd>Sometimes, in
188 1.1 christos <a href="#TERMS_JUST">justified</a>
189 1.1 christos text, a line needs to be broken short of the right margin. Force
190 1.1 christos justifying means telling a typesetting program (like groff) that you
191 1.1 christos want the line broken early AND that you want the line's word spacing
192 1.1 christos stretched to force the line flush with the right margin.
193 1.1 christos
194 1.1 christos <dt><a name="TERMS_GUTTER"><em>Gutter</em></a>
195 1.1 christos <dd>The vertical whitespace separating columns of type.
196 1.1 christos
197 1.1 christos <dt><a name="TERMS_JUST"><em>Justify/justification</em></a>
198 1.1 christos <dd>Lines of type are justified when they're flush at both the left and
199 1.1 christos right margins. Justification is the act of making both margins flush.
200 1.1 christos Some people use the terms "left justified" and "right justified"
201 1.1 christos to mean type where only the left (or right) margins align. I don't.
202 1.1 christos See
203 1.1 christos <a href="#TERMS_QUAD">quad</a>.
204 1.1 christos
205 1.1 christos <dt><a name="TERMS_KERN"><em>Kerning</em></a>
206 1.1 christos <dd>Moving pairs of letters closer together to remove excess
207 1.1 christos whitespace between them. In the days before phototypesetting,
208 1.1 christos type was set from small, rectangular blocks of wood or metal, each
209 1.1 christos block having exactly one letter. Because the edge of each block
210 1.1 christos determined the edge of each letter, certain letter combinations (TA,
211 1.1 christos for example) didn't fit together well and had to be mortised by hand
212 1.1 christos to bring them visually closer. Modern typesetting systems usually
213 1.1 christos take care of kerning automatically, but they're far from perfect.
214 1.1 christos Professional typesetters still devote a lot of time to fitting letters
215 1.1 christos and punctuation together properly.
216 1.1 christos
217 1.1 christos <dt><a name="TERMS_KERNUNIT"><em>Kern Units</em></a>
218 1.1 christos <dd>A relative distance equal to 1/36 of the current
219 1.1 christos <a href="#TERMS_PS">point size</a>.
220 1.1 christos Used between individual letters
221 1.1 christos for
222 1.1 christos <a href="#TERMS_KERN">kerning</a>.
223 1.1 christos Different typesetting systems use different values (1/54 is
224 1.1 christos popular), and sometimes call kern units by a different name.
225 1.1 christos <p>
226 1.1 christos <strong>Experts:
227 1.1 christos <br></strong>A kern unit has nothing to do with groff
228 1.1 christos machine units.
229 1.1 christos
230 1.1 christos <dt><a name="TERMS_LEADING"><em>Lead/leading</em></a>
231 1.1 christos <dd>The distance from the
232 1.1 christos <a href="#TERMS_BASELINE">baseline</a>
233 1.1 christos of one line of type to the line of type immediately beneath it.
234 1.1 christos Pronounced "ledding." Also called line spacing. Usually measured
235 1.1 christos in
236 1.1 christos <a href="#TERMS_PICASPOINTS">points</a>.
237 1.1 christos <p>
238 1.1 christos <em>In case you're interested...</em> In previous centuries,
239 1.1 christos lines of type were separated by thin strips of--you guessed
240 1.1 christos it--lead. Lines of type that had no lead between them were said to
241 1.1 christos be "set solid." Once you began separating them with strips
242 1.1 christos of lead, they were said to be "leaded", and the spacing was
243 1.1 christos expressed in terms of the number of
244 1.1 christos <a href="#TERMS_PICASPOINTS">points</a>
245 1.1 christos of lead. For this reason, "leading" and "line
246 1.1 christos spacing" aren't, historically speaking, synonymous. If type
247 1.1 christos was set 10 on 12, for example, the leading was 2 points, not 12.
248 1.1 christos Nowadays, however, the two terms are used interchangeably to mean
249 1.1 christos the distance from baseline to baseline.
250 1.1 christos
251 1.1 christos <dt><a name="TERMS_LEADER"><em>Leaders</em></a>
252 1.1 christos <dd>Single characters used to fill lines, usually to their end.
253 1.1 christos So called because they "lead" the eye from one element
254 1.1 christos of the page to another. For example, in the following (brief)
255 1.1 christos Table of Contents, the periods (dots) are leaders.
256 1.1 christos <p>
257 1.1 christos <pre>
258 1.1 christos Foreword............... 2
259 1.1 christos Chapter 1.............. 5
260 1.1 christos Chapter 2.............. 38
261 1.1 christos Chapter 3.............. 60
262 1.1 christos </pre>
263 1.1 christos
264 1.1 christos <dt><a name="TERMS_LIGATURES"><em>Ligature</em></a>
265 1.1 christos <dd>Ligatures are letters joined together to form a single character.
266 1.1 christos The commonest are fi, fl, ff, ffi and ffl. Others are ae and oe.
267 1.1 christos Occasionally, one sees an st ligature, but this is archaic and
268 1.1 christos quite rare.
269 1.1 christos
270 1.1 christos <dt><a name="TERMS_PICASPOINTS"><em>Picas/Points</em></a>
271 1.1 christos <dd>There are twelve points in a pica, and six picas in an inch
272 1.1 christos (hence 72 points to the inch). In the same way that gem-dealers
273 1.1 christos have always used their own system of measurement for weight (carats),
274 1.1 christos typographers have always used their own system of measurement for type.
275 1.1 christos
276 1.1 christos <dt><a name="TERMS_PS"><em>Point Size</em></a>
277 1.1 christos <dd>The nominal size of type, measured in
278 1.1 christos <a href="#TERMS_PICASPOINTS">points</a>
279 1.1 christos from the bottom of the longest
280 1.1 christos <a href="#TERMS_DESCENDER">descender</a>
281 1.1 christos to the top of the highest
282 1.1 christos <a href="#TERMS_ASCENDER">ascender</a>.
283 1.1 christos In reality, type is always fractionally smaller than its point size.
284 1.1 christos
285 1.1 christos <dt><a name="TERMS_QUAD"><em>Quad</em></a>
286 1.1 christos <dd>When only one margin of type is flush, lines of type are quadded in
287 1.1 christos the direction of the flush margin. Therefore, quad left means the
288 1.1 christos left margin is flush, the right isn't. Quad right means the right
289 1.1 christos margin is flush, the left isn't. Quad centre means neither the left
290 1.1 christos nor the right margin is flush; rather, lines of type are quadded on
291 1.1 christos both sides so that type appears centred on the page.
292 1.1 christos
293 1.1 christos <dt><a name="TERMS_RAG"><em>Rag</em></a>
294 1.1 christos <dd>Describes a margin that isn't flush. Rag right means the right
295 1.1 christos margin isn't flush. Rag left means the left margin isn't flush.
296 1.1 christos The expression "flush left/rag right" is sometimes used to describe
297 1.1 christos type that is
298 1.1 christos <a href="#TERMS_QUAD">quadded</a>
299 1.1 christos left.
300 1.1 christos
301 1.1 christos <dt><a name="TERMS_SHAPE"><em>Shape</em></a>
302 1.1 christos <dd>The degree of slant and/or the width of characters.
303 1.1 christos (Technically speaking, this is not a proper typesetting term;
304 1.1 christos however, it may help clarify some concepts presented in these
305 1.1 christos documents.)
306 1.1 christos <p>
307 1.1 christos Some typical shapes are:
308 1.1 christos <ul>
309 1.1 christos <li>"Roman", which has no slant, and has letterforms of
310 1.1 christos average width
311 1.1 christos <li>"Italic", which is slanted, and has letterforms
312 1.1 christos of average width
313 1.1 christos <li>"Condensed", which has no slant, but has
314 1.1 christos letterforms narrower than the average represented by Roman
315 1.1 christos <li>"Condensed Italic", which is slanted, with letterforms narrower
316 1.1 christos than average
317 1.1 christos </ul>
318 1.1 christos The term
319 1.1 christos <a href="#TERMS_FONT">font</a>,
320 1.1 christos as it is used in these documents, refers to a combination of
321 1.1 christos <a href="#TERMS_WEIGHT">weight</a>
322 1.1 christos and shape.
323 1.1 christos
324 1.1 christos <dt><a name="TERMS_SOLID"><em>Solid/set solid</em></a>
325 1.1 christos <dd>When no
326 1.1 christos <a href="#TERMS_LEADING">lead</a>
327 1.1 christos is added between lines of type (i.e. the
328 1.1 christos <a href="#TERMS_PS">point size</a>
329 1.1 christos and linespacing are the same), the lines are said to be "set
330 1.1 christos solid."
331 1.1 christos
332 1.1 christos <dt><a name="TERMS_TRACKKERNING"><em>Track kerning/Line kerning</em></a>
333 1.1 christos <dd>Sometimes, it's advantageous to increase or decrease the amount of
334 1.1 christos space between every letter in a line by an equal (usually small)
335 1.1 christos amount, in order to fit more (or fewer) characters on the line.
336 1.1 christos The correct term is letter spacing, but track kerning and line kerning
337 1.1 christos (and sometimes, just "kerning") have come to mean the same thing.
338 1.1 christos
339 1.1 christos <dt><a name="TERMS_UNBREAKABLESPACE"><em>Unbreakable space</em></a>
340 1.1 christos <dd>Equal to
341 1.1 christos <a href="#TERMS_WORDSPACE">word space</a>,
342 1.1 christos however words separated by an unbreakable space will always be kept
343 1.1 christos together on the same line. Expands and contracts like word space.
344 1.1 christos Useful for proper names, which one should, whenever possible, avoid
345 1.1 christos splitting onto two lines. In groff, unbreakable space is entered
346 1.1 christos with
347 1.1 christos <p>
348 1.1 christos <pre>
349 1.1 christos \~
350 1.1 christos </pre>
351 1.1 christos
352 1.1 christos (backslash followed by a tilde).
353 1.1 christos
354 1.1 christos <dt><a name="TERMS_WEIGHT"><em>Weight</em></a>
355 1.1 christos <dd>The thickness of the strokes of letterforms. Medium and Book
356 1.1 christos have average thicknesses and are the weights used for most of the
357 1.1 christos text in books, magazines, newspapers, etc. Light has strokes
358 1.1 christos slightly thinner than Medium or Book, but is still acceptable for
359 1.1 christos most text. Semibold, Bold, Heavy and Black all have strokes of
360 1.1 christos increasing thickness, making them suitable for heads, subheads,
361 1.1 christos headlines and the like.
362 1.1 christos
363 1.1 christos <dt><a name="TERMS_WORDSPACE"><em>Word space</em></a>
364 1.1 christos <dd>The amount of whitespace between words. When text is
365 1.1 christos <a href="#TERMS_JUST">justified</a>,
366 1.1 christos word space expands or contracts to make the margins flush.
367 1.1 christos
368 1.1 christos <dt><a name="TERMS_XHEIGHT"><em>x-height</em></a>
369 1.1 christos <dd>The height of a lower case letter x in a given font at a given
370 1.1 christos point size. Generally used to mean the average height of the bowl
371 1.1 christos of lower case letters.
372 1.1 christos </dl>
373 1.1 christos <p>
374 1.1 christos <hr>
375 1.1 christos
376 1.1 christos <a name="TERMS_GROFF">
377 1.1 christos <h2><u>Groff terms</u></h2>
378 1.1 christos </a>
379 1.1 christos
380 1.1 christos <ul>
381 1.1 christos <li><a href="#TERMS_ALIAS">Alias</a>
382 1.1 christos <li><a href="#TERMS_ARGUMENTS">Arguments</a>
383 1.1 christos <li><a href="#TERMS_COMMENTLINES">Comment lines</a>
384 1.1 christos <li><a href="#TERMS_CONTROLLINES">Control Lines</a>
385 1.1 christos <li><a href="#TERMS_FILLED">Filled lines</a>
386 1.1 christos <li><a href="#TERMS_INLINES">Inline escapes</a>
387 1.1 christos <li><a href="#TERMS_INPUTLINE">Input line</a>
388 1.1 christos <li><a href="#TERMS_MACROS">Macros</a>
389 1.1 christos <li><a href="#TERMS_UNITS">Machine units</a>
390 1.1 christos <li><a href="#TERMS_NUMERICARGUMENT">Numeric argument</a>
391 1.1 christos <li><a href="#TERMS_OUTPUTLINE">Output line</a>
392 1.1 christos <li><a href="#TERMS_PRIMITIVES">Primitives</a>
393 1.1 christos <li><a href="#TERMS_STRINGARGUMENT">String Argument</a>
394 1.1 christos <li><a href="#TERMS_UNITOFMEASURE">Unit of measure</a>
395 1.1 christos <li><a href="#TERMS_ZEROWIDTHCHARACTER">Zero-width character</a>
396 1.1 christos </ul>
397 1.1 christos <dl>
398 1.1 christos
399 1.1 christos <dt><a name="TERMS_ALIAS"><em>Alias</em></a>
400 1.1 christos <dd>A
401 1.1 christos <a href="#TERMS_MACROS">macro</a>
402 1.1 christos invoked by a name different from its "official"
403 1.1 christos name. For example, the official name of the macro to change
404 1.1 christos <a href="#TERMS_FAMILY">family</a>
405 1.1 christos is <strong>FAMILY</strong>. Its alias is
406 1.1 christos <strong>FAM</strong>. Aliases may be created for any macro (via the
407 1.1 christos <a href="goodies.html#ALIAS">ALIAS</a>
408 1.1 christos macro) provided the alias uses a name not already taken
409 1.1 christos by the <strong>mom</strong> macros or one of the groff
410 1.1 christos <a href="#TERMS_PRIMITIVES">primitives</a>.
411 1.1 christos For a complete list of words or names you must not use, see the
412 1.1 christos <a href="reserved.html#RESERVED">list of reserved words</a>.
413 1.1 christos
414 1.1 christos <dt><a name="TERMS_ARGUMENTS"><em>Arguments</em></a>
415 1.1 christos <dd>Parameters or information needed by a
416 1.1 christos <a href="#TERMS_MACROS">macro</a>
417 1.1 christos to do its job. For example, in the macro
418 1.1 christos <p>
419 1.1 christos <pre>
420 1.1 christos .PT_SIZE 12
421 1.1 christos </pre>
422 1.1 christos
423 1.1 christos "12" is the argument. In the macro
424 1.1 christos <p>
425 1.1 christos <pre>
426 1.1 christos .QUAD LEFT
427 1.1 christos </pre>
428 1.1 christos
429 1.1 christos LEFT is the argument. Arguments are separated from macros by spaces.
430 1.1 christos Some macros require several arguments; each is separated by a space.
431 1.1 christos
432 1.1 christos <dt><a name="TERMS_COMMENTLINES"><em>Comment Lines</em></a>
433 1.1 christos <dd><a href="#TERMS_INPUTLINE">Input lines</a>
434 1.1 christos introduced with the comment character
435 1.1 christos <p>
436 1.1 christos <pre>
437 1.1 christos \#
438 1.1 christos </pre>
439 1.1 christos
440 1.1 christos When processing output, groff silently ignores everything on a
441 1.1 christos line that begins with the comment character.
442 1.1 christos
443 1.1 christos <dt><a name="TERMS_CONTROLLINES"><em>Control Lines</em></a>
444 1.1 christos <dd>Instructions to groff that appear on a line by themselves,
445 1.1 christos which means that "control lines" are either
446 1.1 christos <a href="#TERMS_MACROS">macros</a>
447 1.1 christos or groff
448 1.1 christos <a href="#TERMS_PRIMITIVES">primitives</a>.
449 1.1 christos Control lines begin with a period or, occasionally, an apostrophe.
450 1.1 christos
451 1.1 christos <dt><a name="TERMS_FILLED"><em>Filled lines/fill mode</em></a>
452 1.1 christos <dd>Automatic
453 1.1 christos <a href="#TERMS_JUST">justification</a>
454 1.1 christos or
455 1.1 christos <a href="#TERMS_QUAD">quadding</a>.
456 1.1 christos In fill mode, the ends of lines as they appear in your text editor
457 1.1 christos are ignored. Instead, words from adjoining
458 1.1 christos <a href="#TERMS_INPUTLINE">input lines</a>
459 1.1 christos are added one at a time to the output line until no more words fit.
460 1.1 christos Then, depending whether text is to be
461 1.1 christos <a href="#TERMS_JUST">justified</a>
462 1.1 christos or
463 1.1 christos <a href="#TERMS_QUAD">quadded</a>
464 1.1 christos (left, right, or centre), and depending on whether automatic
465 1.1 christos hyphenation is turned on, groff attempts to hyphenate the last word,
466 1.1 christos or, barring that, spreads and breaks the line (when justification
467 1.1 christos is turned on) or breaks and quads the line (when quadding is turned
468 1.1 christos on).
469 1.1 christos <p>
470 1.1 christos <a name="TERMS_NOFILL"></a>
471 1.1 christos Nofill mode (non-filled text) means that groff respects the ends
472 1.1 christos of lines as they appear in your text editor.
473 1.1 christos
474 1.1 christos <dt><a name="TERMS_INLINES"><em>Inline escapes</em></a>
475 1.1 christos <dd>Instructions issued to groff that appear as part of an
476 1.1 christos <a href="#TERMS_INPUTLINE">input line</a>
477 1.1 christos (as opposed to
478 1.1 christos <a href="#TERMS_MACROS">macros</a>,
479 1.1 christos which must appear on a line by themselves). Inline escapes are
480 1.1 christos always introduced by the backslash character. For example,
481 1.1 christos <p>
482 1.1 christos <pre>
483 1.1 christos A line of text with the word T\*[BU 2]oronto in it
484 1.1 christos </pre>
485 1.1 christos
486 1.1 christos contains the inline escape \*[BU 2] (which means "move the letter
487 1.1 christos 'o' 2
488 1.1 christos <a href="#TERMS_KERNUNIT">kern units</a>
489 1.1 christos closer to the letter 'T'").
490 1.1 christos <p>
491 1.1 christos <strong>Mom</strong>'s inline escapes always take the form
492 1.1 christos <strong>\*[</strong><i>ESCAPE</i><strong>]</strong>, where <i>ESCAPE</i>
493 1.1 christos is composed of capital letters, sometimes followed immediately
494 1.1 christos by a digit, sometimes followed by a space and a
495 1.1 christos <a href="#TERMS_NUMERICARGUMENT">numeric argument</a>.
496 1.1 christos <strong>Groff</strong>'s escapes begin with the backslash character
497 1.1 christos but typically have no star and are in lower case. For example, the
498 1.1 christos <strong>mom</strong> escapes to move forward 6 points on a line are
499 1.1 christos either
500 1.1 christos <p>
501 1.1 christos <pre>
502 1.1 christos \*[FP6] or \*[FWD 6p]
503 1.1 christos </pre>
504 1.1 christos
505 1.1 christos while the <strong>groff</strong> escape for the same thing is
506 1.1 christos <p>
507 1.1 christos <pre>
508 1.1 christos \h'6p'
509 1.1 christos </pre>
510 1.1 christos
511 1.1 christos <dt><a name="TERMS_INPUTLINE"><em>Input line</em></a>
512 1.1 christos <dd>A line of text as it appears in your text editor.
513 1.1 christos
514 1.1 christos <dt><a name="TERMS_MACROS"><em>Macros</em></a>
515 1.1 christos <dd>Instructions embedded in a document that determine how groff processes
516 1.1 christos the text for output. <strong>mom</strong>'s macros always begin with a
517 1.1 christos period, on a line by themselves, and must be typed in capital letters.
518 1.1 christos Typically, macros contain complex commands issued to groff--behind
519 1.1 christos the scenes--via groff
520 1.1 christos <a href="#TERMS_PRIMITIVES">primitives</a>.
521 1.1 christos
522 1.1 christos <dt><a name="TERMS_UNITS"><em>Machine units</em></a>
523 1.1 christos <dd>A machine unit is 1/1000 of a
524 1.1 christos <a href="#TERMS_PICASPOINTS">point</a>
525 1.1 christos when the groff device is ps. ("ps" means
526 1.1 christos "PostScript"--the default device for which groff
527 1.1 christos prepares output, and the device for which <strong>mom</strong> was
528 1.1 christos specifically designed.)
529 1.1 christos
530 1.1 christos <dt><a name="TERMS_NUMERICARGUMENT"><em>Numeric argument</em></a>
531 1.1 christos <dd>An
532 1.1 christos <a href="#TERMS_ARGUMENT">argument</a>
533 1.1 christos that has the form of a digit. Numeric arguments can be built out
534 1.1 christos of arithmetic expressions using +, -, *, and / for plus, minus,
535 1.1 christos times, and divided-by respectively. If a numeric argument requires
536 1.1 christos a
537 1.1 christos <a href="#TERMS_UNITOFMEASURE">unit of measure</a>,
538 1.1 christos a unit of measure must be appended to <em>every</em> digit in the
539 1.1 christos argument. For example:
540 1.1 christos <p>
541 1.1 christos <pre>
542 1.1 christos .ALD 1i-1v
543 1.1 christos </pre>
544 1.1 christos
545 1.1 christos <strong>NOTE:</strong> groff does not respect the order of operations,
546 1.1 christos but rather evaluates arithmetic expressions from left to right.
547 1.1 christos Parentheses must be used to circumvent this peculiarity. Not to
548 1.1 christos worry, though. The likelihood of more than just the occasional plus
549 1.1 christos or minus sign when using <strong>mom</strong>'s macros is slim.
550 1.1 christos
551 1.1 christos <dt><a name="TERMS_OUTPUTLINE"><em>Output line</em></a>
552 1.1 christos <dd>A line of text as it appears in output copy.
553 1.1 christos
554 1.1 christos <dt><a name="TERMS_PRIMITIVES"><em>Primitives</em></a>
555 1.1 christos <dd>The two-letter, lower case instructions groff uses as its
556 1.1 christos native command language, and out of which macros are built.
557 1.1 christos
558 1.1 christos <dt><a name="TERMS_STRINGARGUMENT"><em>String Argument</em></a>
559 1.1 christos <dd>Technically, any
560 1.1 christos <a href="#TERMS_ARGUMENTS">argument</a>
561 1.1 christos that is not numeric. In this documentation, string argument means
562 1.1 christos an argument that requires the user to input text. For example, in
563 1.1 christos the
564 1.1 christos <a href="#TERMS_MACROS">macro</a>
565 1.1 christos <p>
566 1.1 christos <pre>
567 1.1 christos .TITLE "My Pulitzer Novel"
568 1.1 christos </pre>
569 1.1 christos
570 1.1 christos "My Pulitzer Novel" is a string argument.
571 1.1 christos <p>
572 1.1 christos Because string arguments must be enclosed by double-quotes, you can't
573 1.1 christos use double-quotes as part of the string argument. If you need
574 1.1 christos double-quotes to be part of a string argument, use the
575 1.1 christos <a href="#TERMS_INLINES">inline escapes</a>
576 1.1 christos <strong>\(lq</strong> and <strong>\(rq</strong> (leftquote and rightquote
577 1.1 christos respectively) in place of the double-quote character (").
578 1.1 christos
579 1.1 christos <dt><a name="TERMS_UNITOFMEASURE"><em>Unit of measure</em></a>
580 1.1 christos <dd>The single letter after a
581 1.1 christos <a href="#TERMS_NUMERICARGUMENT">numeric argument</a>
582 1.1 christos that tells <strong>mom</strong> what measurement scale the argument
583 1.1 christos should use. Common valid units are:
584 1.1 christos <p>
585 1.1 christos <table valign="baseline" summary="unitsofmeasure">
586 1.1 christos <tr><td><strong>i</strong><td> = <td>inches
587 1.1 christos <tr><td><strong>p</strong><td> = <td>points
588 1.1 christos <tr><td><strong>P</strong><td> = <td>picas
589 1.1 christos <tr><td><strong>c</strong><td> = <td>centimetres
590 1.1 christos <tr><td><strong>m</strong><td> = <td>ems
591 1.1 christos <tr><td><strong>n</strong><td> = <td>ens
592 1.1 christos <tr><td><strong>v</strong><td> = <td>the current leading (line space)</td></tr>
593 1.1 christos </table>
594 1.1 christos <br>
595 1.1 christos <dd>Units of measure must come immediately after the numeric argument (i.e.
596 1.1 christos with no space between the argument and the unit of measure), like this:
597 1.1 christos <p>
598 1.1 christos <pre>
599 1.1 christos .ALD 2v
600 1.1 christos .LL 39P
601 1.1 christos .IL 1i
602 1.1 christos </pre>
603 1.1 christos
604 1.1 christos The above example advances 2 line spaces and sets the line length to
605 1.1 christos 39 picas with a left indent of 1 inch.
606 1.1 christos <p>
607 1.1 christos <strong>IMPORTANT:</strong> Most <strong>mom</strong> macros
608 1.1 christos that set the size or measure of something MUST be given a unit of
609 1.1 christos measure. <strong>mom</strong>'s macros do not have default units
610 1.1 christos of measure. There are a couple of exceptions, the most notable of
611 1.1 christos which are <strong>PT_SIZE</strong> and <strong>LS</strong>. Both use
612 1.1 christos <a href="#TERMS_PICASPOINTS">points</a>
613 1.1 christos as the default unit of measure, which means
614 1.1 christos you don't have to append "p" to their argument.
615 1.1 christos <p>
616 1.1 christos You can enter decimal values for any unit of measure. Different units
617 1.1 christos may be combined by adding them together (e.g. 1.5i+2m, which gives a
618 1.1 christos measure of 1-1/2 inches plus 2 ems).
619 1.1 christos <p>
620 1.1 christos <strong>NOTE:</strong> a pica is composed of 12 points,
621 1.1 christos therefore 12.5 picas is 12 picas and 6 points, not 12 picas
622 1.1 christos and 5 points. If you want 12 picas and 5 points, you have to
623 1.1 christos enter the measure as 12P+5p.
624 1.1 christos
625 1.1 christos <dt><a name="TERMS_ZEROWIDTHCHARACTER"><em>Zero-width character</em></a>
626 1.1 christos <dd>The
627 1.1 christos <a href="#TERMS_INLINES">inline escape</a>
628 1.1 christos that allows you to print a literal period, apostrophe and, if
629 1.1 christos <a href="#TERMS_OUTPUTLINE">output lines</a>
630 1.1 christos are
631 1.1 christos <a href="#TERMS_FILLED">filled</a>,
632 1.1 christos a space that falls at the beginning of an
633 1.1 christos <a href="#TERMS_INPUTLINE">input line</a>.
634 1.1 christos It looks like this:
635 1.1 christos <p>
636 1.1 christos <pre>
637 1.1 christos \&
638 1.1 christos </pre>
639 1.1 christos
640 1.1 christos (backslash followed by an ampersand).
641 1.1 christos <p>
642 1.1 christos Normally, groff interprets a period (or an apostrophe) at the beginning
643 1.1 christos of an input line as meaning that what follows is a
644 1.1 christos <a href="#TERMS_CONTROLLINES">control line</a>.
645 1.1 christos In fill modes, groff treats a space at the beginning of an input
646 1.1 christos line as meaning "start a new line and put a space at the
647 1.1 christos beginning of it." If you want groff to interpret periods and
648 1.1 christos apostrophes at the beginning of input lines literally (i.e. print
649 1.1 christos them), or spaces at the beginning of input lines as just garden
650 1.1 christos variety word spaces, you must start the line with the zero-width
651 1.1 christos character.
652 1.1 christos </dl>
653 1.1 christos <p>
654 1.1 christos <hr>
655 1.1 christos
656 1.1 christos <a name="TERMS_MOM">
657 1.1 christos <h2><u>Mom's Document Processing Terms</u></h2>
658 1.1 christos </a>
659 1.1 christos
660 1.1 christos <ul>
661 1.1 christos <li><a href="#TERMS_BLOCKQUOTE">Blockquote</a>
662 1.1 christos <li><a href="#TERMS_CONTROLMACRO">Control macro</a>
663 1.1 christos <li><a href="#TERMS_DOCHEADER">Docheader</a>
664 1.1 christos <li><a href="#TERMS_EPIGRAPH">Epigraph</a>
665 1.1 christos <li><a href="#TERMS_FOOTER">Footer</a>
666 1.1 christos <li><a href="#TERMS_HEAD">Head</a>
667 1.1 christos <li><a href="#TERMS_HEADER">Header</a>
668 1.1 christos <li><a href="#TERMS_LINEBREAK">Linebreak</a>
669 1.1 christos <li><a href="#TERMS_PARAHEAD">Paragraph head</a>
670 1.1 christos <li><a href="#TERMS_QUOTE">Quote</a>
671 1.1 christos <li><a href="#TERMS_RUNNING">Running text</a>
672 1.1 christos <li><a href="#TERMS_SUBHEAD">Subhead</a>
673 1.1 christos <li><a href="#TERMS_TOGGLE">Toggle</a>
674 1.1 christos </ul>
675 1.1 christos <dl>
676 1.1 christos <dt><a name="TERMS_BLOCKQUOTE"><em>Blockquote</em></a>
677 1.1 christos <dd>Cited material other than
678 1.1 christos <a href="#TERMS_QUOTE">quotes</a>.
679 1.1 christos Typically set at a smaller point size than paragraph text, indented
680 1.1 christos from the left and right margins. Blockquotes are
681 1.1 christos <a href="#TERMS_FILLED">filled</a>.
682 1.1 christos
683 1.1 christos <dt><a name="TERMS_CONTROLMACRO"><em>Control macro</em></a>
684 1.1 christos <dd>Macros used in
685 1.1 christos <a href="docprocessing.html#DOCPROCESSING">document processing</a>
686 1.1 christos to control/alter the appearance of document elements (e.g. heads,
687 1.1 christos quotes, footnotes,
688 1.1 christos <a href="#TERMS_HEADER">headers</a>,
689 1.1 christos etc.).
690 1.1 christos
691 1.1 christos <dt><a name="TERMS_DOCHEADER"><em>Document header/docheader</em></a>
692 1.1 christos <dd>Document information (title, subtitle, author, etc) output
693 1.1 christos at the top of page one.
694 1.1 christos
695 1.1 christos <dt><a name="TERMS_EPIGRAPH"><em>Epigraph</em></a>
696 1.1 christos <dd>A short, usually cited passage that appears at the
697 1.1 christos beginning of a chapter, story, or other document.
698 1.1 christos
699 1.1 christos <dt><a name="TERMS_FOOTER"><em>Footer/page footer</em></a>
700 1.1 christos <dd>Document information (frequently author and title) output in
701 1.1 christos the bottom margin of pages <em>after</em> page one. Not to be
702 1.1 christos confused with footnotes, which are considered part of
703 1.1 christos <a href="#TERMS_RUNNING">running text</a>.
704 1.1 christos
705 1.1 christos <dt><a name="TERMS_HEAD"><em>Head</em></a>
706 1.1 christos <dd>A title that introduces a major section of a document.
707 1.1 christos
708 1.1 christos <dt><a name="TERMS_HEADER"><em>Header/page header</em></a>
709 1.1 christos <dd>Document information (frequently author and title) output in
710 1.1 christos the top margin of pages <em>after</em> page one.
711 1.1 christos <p>
712 1.1 christos <strong>NOTE:</strong> In terms of content and style, headers and
713 1.1 christos <a href="#TERMS_FOOTER">footers</a>
714 1.1 christos are the same; they differ only in their placement on the page. In
715 1.1 christos most places in this documentation, references to the content or
716 1.1 christos style of headers applies equally to footers.
717 1.1 christos
718 1.1 christos <dt><a name="TERMS_LINEBREAK"><em>Linebreak/author linebreak</em></a>
719 1.1 christos <dd>A horizontal gap in
720 1.1 christos <a href="#TERMS_RUNNING">running text</a>,
721 1.1 christos frequently set off by typographic symbols such as asterisks or
722 1.1 christos daggers. Used to indicate a shift in the content of a document
723 1.1 christos (e.g. a scene change in a short story). Also commonly called a
724 1.1 christos scene break or a section break.
725 1.1 christos
726 1.1 christos <dt><a name="TERMS_PARAHEAD"><em>Paragraph head</em></a>
727 1.1 christos <dd>A title joined to the body of a paragraph; hierarchically one
728 1.1 christos level beneath
729 1.1 christos <a href="#TERMS_SUBHEAD">subheads</a>.
730 1.1 christos
731 1.1 christos <dt><a name="TERMS_QUOTE"><em>Quote</em></a>
732 1.1 christos <dd>A quote, to <strong>mom</strong>, is a line-for-line setting
733 1.1 christos of quoted material (e.g. poetry, song lyrics, or a snippet of
734 1.1 christos programming code). You don't have to use
735 1.1 christos <a href="typesetting.html#BR">BR</a>
736 1.1 christos with quotes.
737 1.1 christos
738 1.1 christos <dt><a name="TERMS_RUNNING"><em>Running text</em></a>
739 1.1 christos <dd>In a document formatted with <strong>mom</strong>, running
740 1.1 christos text means text that forms the body of the document, including
741 1.1 christos elements such as heads and subheads.
742 1.1 christos <a href="#TERMS_DOCHEADER">Docheaders</a>,
743 1.1 christos <a href="#TERMS_HEADER">headers</a>,
744 1.1 christos <a href="#TERMS_FOOTER">footers</a>
745 1.1 christos and page numbers are NOT part of running text.
746 1.1 christos
747 1.1 christos <dt><a name="TERMS_SUBHEAD"><em>Subhead</em></a>
748 1.1 christos <dd>A title used to introduce secondary sections of a document;
749 1.1 christos hierarchically one level beneath sections introduced by
750 1.1 christos <a href="#TERMS_HEAD">heads</a>.
751 1.1 christos
752 1.1 christos <dt><a name="TERMS_TOGGLE"><em>Toggle</em></a>
753 1.1 christos <dd>A macro or tag that, when invoked without an argument,
754 1.1 christos begins something or turns a feature on, and, when invoked with
755 1.1 christos ANY argument, ends something or turns a feature off. See
756 1.1 christos <a href="intro.html#TOGGLE_EXAMPLE">Example 3</a>
757 1.1 christos of the section
758 1.1 christos <a href="intro.html#MACRO_ARGS">How to read macro arguments</a>.
759 1.1 christos </dl>
760 1.1 christos
761 1.1 christos <p>
762 1.1 christos <hr>
763 1.1 christos <a href="using.html#TOP">Next</a>
764 1.1 christos <a href="intro.html#TOP">Prev</a>
765 1.1 christos <a href="#TOP">Top</a>
766 1.1 christos <a href="toc.html">Back to Table of Contents</a>
767 1.1 christos </body>
768 1.1 christos </html>
769