Imported Upstream version 1.22.4
[platform/upstream/groff.git] / contrib / mom / momdoc / definitions.html
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 This file is part of groff, the GNU roff type-setting system.
4
5 Copyright (C) 2004-2018  Free Software Foundation, Inc.
6 Written by Peter Schaffter (peter@schaffter.ca).
7
8 Permission is granted to copy, distribute and/or modify this document
9 under the terms of the GNU Free Documentation License, Version 1.3 or
10 any later version published by the Free Software Foundation; with no
11 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
12 Texts.
13
14 A copy of the Free Documentation License is included as a file called
15 FDL in the main directory of the groff source package.
16 -->
17
18 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
19 <html xmlns="http://www.w3.org/1999/xhtml">
20
21 <head>
22   <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
23   <title>Mom -- Definitions and Terms</title>
24   <link rel="stylesheet" type="text/css" href="stylesheet.css" />
25 </head>
26
27 <body style="background-color: #f5faff;">
28
29 <!-- ==================================================================== -->
30
31 <div id="top" class="page">
32
33 <!-- Navigation links -->
34 <table style="width: 100%;">
35   <tr>
36     <td><a href="toc.html">Back to Table of Contents</a></td>
37     <td style="text-align: right;"><a href="using.html#top">Next: Using mom</a></td>
38   </tr>
39 </table>
40
41 <h1 id="terms" class="docs">Definitions of terms used in this manual</h1>
42
43 <p>
44 I use a number of typesetting-specific and groff-specific terms
45 throughout this documentation, as well as a few terms that apply
46 to mom herself.  To make life easier, I&#8217;ll explain
47 them here.  Refer back to this section should you encounter a word
48 or concept you&#8217;re not familiar with.
49 </p>
50
51 <div class="rule-short" style="margin-top: 18px; margin-bottom: 28px;"><hr/></div>
52
53 <div class="col-1-definitions">
54   <table class="definitions">
55     <tr><th class="definitions">Typesetting terms</th></tr>
56     <tr> 
57       <td>
58         <a href="#ascender">Ascender</a><br/>
59         <a href="#baseline">Baseline</a><br/>
60         <a href="#ballotbox">Ballot box</a><br/>
61         <a href="#bullet">Bullet</a><br/>
62         <a href="#capheight">Cap-height</a><br/>
63         <a href="#descender">Descender</a><br/>
64         <a href="#discretionaryhyphen">Discretionary hyphen</a><br/>
65         <a href="#dropcap">Drop cap</a><br/>
66         <a href="#em">Em/en</a><br/>
67         <a href="#family">Family</a><br/>
68         <a href="#figurespace">Figure space/Digit space</a><br/>
69         <a href="#fixedwidthfont">Fixed width font</a><br/>
70         <a href="#fixedwidthspace">Fixed width space</a><br/>
71         <a href="#font">Font</a><br/>
72         <a href="#force">Force justify</a><br/>
73         <a href="#just">Justify/justification</a><br/>
74         <a href="#gutter">Gutter</a><br/>
75         <a href="#kern">Kerning</a><br/>
76         <a href="#kernunit">Kern Units</a><br/>
77         <a href="#leading">Lead/leading</a><br/>
78         <a href="#leader">Leaders</a><br/>
79         <a href="#ligatures">Ligature</a><br/>
80         <a href="#picaspoints">Picas/Points</a><br/>
81         <a href="#ps">Point Size</a><br/>
82         <a href="#quad">Quad</a><br/>
83         <a href="#rag">Rag</a><br/>
84         <a href="#shape">Shape</a><br/>
85         <a href="#solid">Solid/set solid</a><br/>
86         <a href="#trackkerning">Track kerning/Line kerning</a><br/>
87         <a href="#unbreakablespace">Unbreakable space</a><br/>
88         <a href="#weight">Weight</a><br/>
89         <a href="#wordspace">Word space</a><br/>
90         <a href="#xheight">x-height</a><br/>
91       </td>
92     </tr>
93   </table>
94 </div>
95
96 <div class="col-2-definitions">
97   <table class="definitions">
98     <tr><th class="definitions">Groff terms</th></tr>
99     <tr> 
100       <td>
101         <a href="#alias">Alias</a><br/>
102         <a href="#arguments">Arguments</a><br/>
103         <a href="#commentlines">Comment lines</a><br/>
104         <a href="#controllines">Control Lines</a><br/>
105         <a href="#filled">Filled lines</a><br/>
106         <a href="#inlines">Inline escapes</a><br/>
107         <a href="#inputline">Input line</a><br/>
108         <a href="#macros">Macros</a><br/>
109         <a href="#units">Machine units</a><br/>
110         <a href="#numericargument">Numeric argument</a><br/>
111         <a href="#outputline">Output line</a><br/>
112         <a href="#primitives">Primitives</a><br/>
113         <a href="#preprocessor">Pre-processor</a><br/>
114         <a href="#stringargument">String Argument</a><br/>
115         <a href="#unitofmeasure">Unit of measure</a><br/>
116         <a href="#zerowidthcharacter">Zero-width character</a><br/>
117       </td>
118     </tr>
119   </table>
120 </div>
121
122 <div class="col-3-definitions">
123   <table class="definitions">
124     <tr><th class="definitions">Mom terms</th></tr>
125     <tr>
126       <td>
127         <a href="#baseline-grid">Baseline grid</a><br/>
128         <a href="#blockquote">Blockquote</a><br/>
129         <a href="#controlmacro">Control macro</a><br/>
130         <a href="#docheader">Docheader</a><br/>
131         <a href="#epigraph">Epigraph</a><br/>
132         <a href="#float">Float</a><br/>
133         <a href="#footer">Footer</a><br/>
134         <a href="#head">Head</a><br/>
135         <a href="#header">Header</a><br/>
136         <a href="#linebreak">Linebreak</a><br/>
137         <a href="#parahead">Paragraph head</a><br/>
138         <a href="#pdflink">PDF link</a><br/>
139         <a href="#pdfoutline">PDF outline</a><br/>
140         <a href="#quote">Quote</a><br/>
141         <a href="#running">Running text</a><br/>
142         <a href="#toggle">Toggle</a><br/>
143       </td>
144     </tr>
145   </table>
146 </div>
147
148 <h3 id="typesetting-terms" class="docs">Typesetting terms</h3>
149 <dl>
150   <dt id="ascender">Ascender</dt>
151   <dd>
152   The portion of a letter that extends above the bowl.  For
153   example, the letters a, c, and e have no ascenders.  The letters
154   b, d, and h do.
155   </dd>
156
157   <dt id="baseline">Baseline</dt>
158   <dd>
159   The imaginary line on which the bottoms of capital letters and
160   the bowls of lower case letters rest.
161   </dd>
162   
163   <dt id="ballotbox">Ballot box</dt>
164   <dd>
165   An unfilled square, usually
166   <a href="#capheight">cap-height</a>
167   in size, typically placed beside items in a checklist.
168   </dd>
169   
170   <dt id="bullet">Bullet</dt>
171   <dd>
172   A small, filled circle typically found beside items or points in
173   a list.
174   </dd>
175   
176   <dt id="capheight">Cap-height</dt>
177   <dd>
178   The height of the tallest capital letter in a given
179   <a href="#font">font</a>
180   at the current
181   <a href="#ps">point size</a>.
182   </dd>
183   
184   <dt id="descender">Descender</dt>
185   <dd>
186   The portion of a letter that extends beneath the
187   <a href="#baseline">baseline</a>
188   (j, q, y are letters with descenders).
189   </dd>
190   
191   <dt id="discretionaryhyphen">Discretionary hyphen</dt>
192   <dd>
193   A symbol inserted between two syllables of a word that indicates
194   to a typesetting program the valid hyphenation points in the
195   word.  Normally, if hyphenation is turned on, groff knows where
196   to hyphenate words.  However, hyphenation being what it is
197   (in English, at any rate), groff doesn&#8217;t always get it right.
198   Discretionary hyphens make sure it does.  In the event that the
199   word doesn&#8217;t need to be hyphenated at all, groff leaves them
200   alone.  In groff, the discretionary hyphen is entered with
201   <kbd>\%</kbd> (ie, a backslash followed by the percent sign).
202   </dd>
203   
204   <dt id="dropcap">Drop cap</dt>
205   <dd>
206   A large, usually upper-case letter that introduces the first
207   paragraph of a document or section thereof.  The top of the
208   drop cap usually lines up with the top of the first line of the
209   paragraph, and typically &#8220;drops&#8221; several lines lower.
210   Text adjacent to the drop cap is indented to the right of the
211   letter until the bottom of the drop cap is reached, at which
212   point text reverts to the left margin.
213   </dd>
214   
215   <dt id="em">Em/en</dt>
216   <dd>
217   An em is a relative measurement equal to the width of the
218   letter M at a given
219   <a href="#ps">point size</a>
220   in a given
221   <a href="#font">font</a>.
222   Since most Ms are designed square, an em is usually (but
223   sometimes erroneously) considered to be the same size as the
224   current point size (ie if the point size of the type is 12,
225   one em equals 12 points).  An en is equal to the width of a
226   letter N (historically 2/3 of an em, although groff treats an en
227   as 1/2 of an em).  Typically, ems and ens are used to measure
228   indents, or to define the length of dashes (long hyphens).
229   </dd>
230   
231   <dt id="family">Family</dt>
232   <dd>
233   The collective name by which a collection of
234   <a href="#font">fonts</a>
235   are known, e.g., Helvetica, Times Roman, Garamond.
236   </dd>
237   
238   <dt id="figurespace">Figure space/Digit space</dt>
239   <dd>
240   A
241   <a href="#fixedwidthspace">fixed width space</a>
242   that has the width of one digit.  Used for aligning numerals in,
243   say, columns or numbered lists.  In groff, the figure space is
244   entered with <kbd>\0</kbd> (ie a backslash followed by a zero)
245   </dd>
246
247   <dt id="fixedwidthfont">Fixed-width font</dt>
248   <dd>
249   A family or font in which every character occupies exactly the
250   same amount of horizontal space on the line.  Courier is the
251   best-known, if not the most elegant, fixed-width font.
252   </dd>
253
254   <dt id="fixedwidthspace">Fixed width space</dt>
255   <dd>
256   Equal to
257   <a href="#wordspace">word space</a>,
258   but does not expand or contract when text is
259   <a href="#just">justified</a>.
260   In groff, fixed width space is entered with
261   <kbd>\&lt;space&gt;</kbd> (ie a backslash followed by a space)
262   </span>
263   </dd>
264   
265   <dt id="font">Font</dt>
266   <dd>
267   The specific
268   <a href="#weight">weight</a>
269   and
270   <a href="#shape">shape</a>
271   of type within a
272   <a href="#family">family</a>,
273   e.g., light, medium, bold (which are weights), and roman, italic,
274   condensed (which are shapes).  By default, groff knows of four
275   fonts within its default set of families: R (medium roman), I
276   (medium italic), B (bold roman) and BI (bold italic).
277   Mom considerably extends this very basic list.
278   </dd>
279   
280   <dt id="force">Force justify</dt>
281   <dd>
282   Sometimes, in
283   <a href="#just">justified</a>
284   text, a line needs to be broken short of the right margin.
285   Force justifying means telling a typesetting program (like
286   groff) that you want the line broken early AND that you want the
287   line&#8217;s word spacing stretched to force the line flush with the
288   right margin.
289   </dd>
290   
291   <dt id="gutter">Gutter</dt>
292   <dd>
293   The vertical whitespace separating columns of type.
294   </dd>
295   
296   <dt id="just">Justify/justification</dt>
297   <dd>
298   Lines of type are justified when they&#8217;re flush at both the left
299   and right margins.  Justification is the act of making both
300   margins flush.  Some people use the terms "left justified" and
301   "right justified" to mean type where only the left (or right)
302   margins align.  I don&#8217;t.  See
303   <a href="#quad">quad</a>.
304   </dd>
305   
306   <dt id="kern">Kerning</dt>
307   <dd>
308   Moving pairs of letters closer together to remove excess
309   whitespace between them.  In the days before phototypesetting,
310   type was set from small, rectangular blocks of wood or metal,
311   each block having exactly one letter.  Because the edge of
312   each block determined the edge of each letter, certain letter
313   combinations (TA, for example) didn&#8217;t fit together well and had
314   to be mortised by hand to bring them visually closer.  Modern
315   typesetting systems usually take care of kerning automatically,
316   but they&#8217;re far from perfect.  Professional typesetters still
317   devote a lot of time to fitting letters and punctuation together
318   properly.
319   </dd>
320   
321   <dt id="kernunit">Kern Units</dt>
322   <dd>
323   A relative distance, which, by default, is equal to 1/36 of the
324   current
325   <a href="#ps">point size</a>.
326   Used between individual letters for
327   <a href="#kern">kerning</a>.
328   Different typesetting systems use different values (1/54 is
329   popular), and sometimes call kern units by a different name.
330   It is possible to change the default size of the kern unit with the
331   <a href="inlines.html#kernunit">KERN_UNIT</a>
332   macro.
333   </dd>
334   
335   <dt id="leading">Lead/leading</dt>
336   <dd>
337   The distance from the
338   <a href="#baseline">baseline</a>
339   of one line of type to the line of type immediately beneath
340   it.  Pronounced "ledding."  Also called line spacing.  Usually
341   measured in
342   <a href="#picaspoints">points</a>.
343   
344   <p>
345   <em>In case you&#8217;re interested...</em> In previous centuries,
346   lines of type were separated by thin strips of&mdash;you guessed
347   it&mdash;lead.  Lines of type that had no lead between them were said
348   to be &#8220;set solid.&#8221; Once you began separating them with
349   strips of lead, they were said to be &#8220;leaded&#8221;, and the
350   spacing was expressed in terms of the number of
351   <a href="#picaspoints">points</a>
352   of lead.  For this reason, &#8220;leading&#8221; and &#8220;line
353   spacing&#8221; aren&#8217;t, historically speaking, synonymous.
354   If type was set 10 on 12, for example, the leading was 2
355   points, not 12.  Nowadays, however, the two terms are used
356   interchangeably to mean the distance from baseline to baseline.
357   </p>
358
359   </dd>
360   
361   <dt id="leader">Leaders</dt>
362   <dd>
363   Single characters used to fill lines, usually to their end.  So
364   called because they &#8220;lead&#8221; the eye from one element
365   of the page to another.  For example, in the following (brief)
366   Table of Contents, the periods (dots) are leaders.
367   
368   <span class="pre" style="margin-bottom: -2em;">
369   Foreword............... 2
370   Chapter 1.............. 5
371   Chapter 2.............. 38
372   Chapter 3.............. 60
373   </span>
374   </dd>
375   
376   <dt id="ligatures">Ligature</dt>
377   <dd>
378   Ligatures are letters joined together to form a single
379   character.  The commonest are fi, fl, ff, ffi and ffl.  Others
380   are ae and oe.  Occasionally, one sees an st ligature, but this
381   is archaic and quite rare.
382   </dd>
383   
384   <dt id="picaspoints">Picas/Points</dt>
385   <dd>
386   There are twelve points in a pica, and six picas in an inch
387   (hence 72 points to the inch).  In the same way that gem-dealers
388   have always used their own system of measurement for weight
389   (carats), typographers have always used their own system of
390   measurement for type.
391   </dd>
392   
393   <dt id="ps">Point Size</dt>
394   <dd>
395   The nominal size of type, measured in
396   <a href="#picaspoints">points</a>
397   from the bottom of the longest
398   <a href="#descender">descender</a>
399   to the top of the highest
400   <a href="#ascender">ascender</a>.
401   In reality, type is always fractionally smaller than its point
402   size.
403   </dd>
404   
405   <dt id="quad">Quad</dt>
406   <dd>
407   When only one margin of type is flush, lines of type are quadded
408   in the direction of the flush margin.  Therefore, quad left
409   means the left margin is flush, the right isn&#8217;t.  Quad right
410   means the right margin is flush, the left isn&#8217;t.  Quad centre
411   means neither the left nor the right margin is flush; rather,
412   lines of type are quadded on both sides so that type appears
413   centred on the page.
414   </dd>
415   
416   <dt id="rag">Rag</dt>
417   <dd>
418   Describes a margin that isn&#8217;t flush.  Rag right means the right
419   margin isn&#8217;t flush.  Rag left means the left margin isn&#8217;t flush.
420   The expression "flush left/rag right" is sometimes used to
421   describe type that is
422   <a href="#quad">quadded</a>
423   left.
424   </dd>
425   
426   <dt id="shape">Shape</dt>
427   <dd>
428   The degree of slant and/or the width of characters.
429   (Technically speaking, this is not a proper typesetting term;
430   however, it may help clarify some concepts presented in these
431   documents.)
432   
433   <p>
434   Some typical shapes are:
435   </p>
436
437   <ul style="margin-top: -.5em; margin-bottom: -.5em">
438       <li>Roman, which has no slant, and has letterforms of
439           average width</li>
440       <li>Italic, which is slanted, and has letterforms
441           of average width</li>
442       <li>Condensed, which has no slant, but has
443           letterforms narrower than the average represented by Roman</li>
444       <li>Condensed Italic, which is slanted, with letterforms narrower
445           than average</li>
446   </ul>
447
448   <p>
449   The term
450   <a href="#font">font</a>,
451   as it is used in these documents, refers to a combination of
452   <a href="#weight">weight</a>
453   and shape.
454   </p>
455
456   </dd>
457   
458   <dt id="solid">Solid/set solid</dt>
459   <dd>
460   When no
461   <a href="#leading">lead</a>
462   is added between lines of type (ie the
463   <a href="#ps">point size</a>
464   and linespacing are the same), the lines are said to be &#8220;set
465   solid.&#8221;
466   </dd>
467   
468   <dt id="trackkerning">Track kerning/Line kerning</dt>
469   <dd>
470   Sometimes, it&#8217;s advantageous to increase or decrease the amount
471   of space between every letter in a line by an equal (usually
472   small) amount, in order to fit more (or fewer) characters on the
473   line.  The correct term is letter spacing, but track kerning and
474   line kerning (and sometimes, just "kerning") have come to mean
475   the same thing.
476   </dd>
477   
478   <dt id="unbreakablespace">Unbreakable space</dt>
479   <dd>
480   Equal to
481   <a href="#wordspace">word space</a>,
482   however words separated by an unbreakable space will always be
483   kept together on the same line.  Expands and contracts like word
484   space.  Useful for proper names, which one should, whenever
485   possible, avoid splitting onto two lines.  In groff, unbreakable
486   space is entered with <kbd>\~</kbd> (ie a backslash followed by a
487   tilde)
488   </dd>
489   
490   <dt id="weight">Weight</dt>
491   <dd>
492   The thickness of the strokes of letterforms.  Medium and Book
493   have average thicknesses and are the weights used for most
494   of the text in books, magazines, newspapers, etc.  Light has
495   strokes slightly thinner than Medium or Book, but is still
496   acceptable for most text.  Semibold, Bold, Heavy and Black all
497   have strokes of increasing thickness, making them suitable for
498   headings and the like.
499   </dd>
500   
501   <dt id="wordspace">Word space</dt>
502   <dd>
503   The amount of whitespace between words.  When text is
504   <a href="#just">justified</a>,
505   word space expands or contracts to make the margins flush.
506   </dd>
507   
508   <dt id="xheight">x-height</dt>
509   <dd>
510   The height of a lower case letter x in a given font at a given
511   point size.  Generally used to mean the average height of the
512   bowl of lower case letters.
513   </dd>
514 </dl>
515
516 <h3 id="groff-terms" class="docs">Groff terms</h3>
517
518 <dl>
519   <dt id="alias">Alias</dt>
520   <dd>
521   A
522   <a href="#macros">macro</a>
523   invoked by a name different from its &#8220;official&#8221;
524   name.  For example, the official name of the macro to change
525   <a href="#family">family</a>
526   is <kbd>FAMILY</kbd>.  Its alias is <kbd>FAM</kbd>.
527   Aliases may be created for any macro (via the
528   <a href="goodies.html#alias"><kbd>ALIAS</kbd></a>
529   macro) provided the alias uses a name not already taken by the
530   mom macros or one of the groff
531   <a href="#primitives">primitives</a>.
532   For a complete list of words or names you must not use, see the
533   <a href="reserved.html#reserved">list of reserved words</a>.
534   </dd>
535   
536   <dt id="arguments">Arguments</dt>
537   <dd>
538   Parameters or information needed by a
539   <a href="#macros">macro</a>
540   to do its job.  For example, in the macro
541   
542   <span class="pre" style="margin-bottom: -2em;">
543   .PT_SIZE 12
544   </span>
545   
546   <kbd>12</kbd> is the argument.  In the macro
547   
548   <span class="pre" style="margin-bottom: -2em;">
549   .QUAD LEFT
550   </span>
551   
552   <kbd>LEFT</kbd> is the argument.  Arguments are separated from
553   macros by spaces.  Some macros require several arguments; each
554   is separated by a space.
555   </dd>
556   
557   <dt id="commentlines">Comment Lines</dt>
558   <dd>
559   <a href="#inputline">Input lines</a>
560   introduced with the comment character <kbd>\#</kbd> (ie a
561   backslash followed by the pound sign).  When processing output,
562   groff silently ignores everything on a line that begins with the
563   comment character.
564   </dd>
565   
566   <dt id="controllines">Control Lines</dt>
567   <dd>
568   Instructions to groff that appear on a line by themselves, which
569   means that &#8220;control lines&#8221; are either
570   <a href="#macros">macros</a>
571   or groff
572   <a href="#primitives">primitives</a>.
573   Control lines begin with a period or, occasionally, an apostrophe.
574   </dd>
575   
576   <dt id="filled">Filled lines/fill mode</dt>
577   <dd>
578   Automatic
579   <a href="#just">justification</a>
580   or
581   <a href="#quad">quadding</a>.
582   In fill mode, the ends of lines as they appear in your text
583   editor are ignored.  Instead, words from adjoining
584   <a href="#inputline">input lines</a>
585   are added one at a time to the output line until no more words
586   fit.  Then, depending whether text is to be
587   <a href="#just">justified</a>
588   or
589   <a href="#quad">quadded</a>
590   (left, right, or centre), and depending on whether automatic
591   hyphenation is turned on, groff attempts to hyphenate the last
592   word, or, barring that, spreads and breaks the line (when
593   justification is turned on) or breaks and quads the line (when
594   quadding is turned on).
595   
596   <p>
597   Nofill mode (non-filled text) means that groff respects the ends
598   of lines exactly as they appear in your text editor.
599   </p>
600
601   </dd>
602   
603   <dt id="inlines">Inline escapes</dt>
604   <dd>
605   Instructions issued to groff that appear as part of an
606   <a href="#inputline">input line</a>
607   (as opposed to
608   <a href="#macros">macros</a>,
609   which must appear on a line by themselves).  Inline escapes are
610   always introduced by the backslash character.  For example,
611   
612   <span class="pre" style="margin-bottom: -2em;">
613   A line of text with the word T\*[BU 2]oronto in it
614   </span>
615   
616   contains the inline escape <kbd>\*[BU 2]</kbd> (which means
617   &#8220;move the letter &#8216;o&#8217; 2
618   <a href="#kernunit">kern units</a>
619   closer to the letter &#8216;T&#8217;&#8221;).
620   
621   <p style="margin-bottom: -2em;">
622   Mom&#8217;s inline escapes always take the form
623   <kbd>\*[&lt;ESCAPE&gt;]</kbd>, where <kbd>ESCAPE</kbd> is
624   composed of capital letters, sometimes followed immediately by a
625   digit, sometimes followed by a space and a
626   <a href="#numericargument">numeric argument</a>.
627   Groff&#8217;s escapes begin with the backslash
628   character but typically have no star and are in lower case.  For
629   example, the mom escapes to move forward 6
630   points on a line are either
631   
632   <span class="pre" style="margin-bottom: -2em;">
633   \*[FP6]&nbsp;&nbsp;or&nbsp;&nbsp;\*[FWD 6p]
634   </span>
635   
636   while the groff escape for the same thing is
637   
638   <span class="pre" style="margin-bottom: -2em;">
639   \h&#8217;6p&#8217;
640   </span>
641   </p>
642
643   </dd>
644   
645   <dt id="inputline" style="margin-top: -1em;">Input line</dt>
646   <dd>
647   A line of text as it appears in your text editor.
648   </dd>
649   
650   <dt id="macros">Macros</dt>
651   <dd>
652   Instructions embedded in a document that determine how groff
653   processes the text for output. mom&#8217;s macros
654   always begin with a period, on a line by themselves, and must
655   be typed in capital letters.  Typically, macros contain complex
656   commands issued to groff&mdash;behind the scenes&mdash;via
657   groff
658   <a href="#primitives">primitives</a>.
659   </dd>
660   
661   <dt id="units">Machine units</dt>
662   <dd>
663   A machine unit is 1/1000 of a
664   <a href="#picaspoints">point</a>
665   when the groff device is ps. (&#8220;ps&#8221; means
666   &#8220;PostScript&#8221;&mdash;the default device for
667   which groff prepares output, and the device for which
668   mom was originally designed.)
669   </dd>
670   
671   <dt id="numericargument">Numeric argument</dt>
672   <dd>
673   An
674   <a href="#arguments">argument</a>
675   that has the form of a digit.  Numeric arguments can be built
676   out of arithmetic expressions using +, -, *, and / for plus,
677   minus, times, and divided-by respectively.  If a numeric
678   argument requires a
679   <a href="#unitofmeasure">unit of measure</a>,
680   a unit of measure must be appended to <em>every</em> digit in
681   the argument.  For example:
682   
683   <span class="pre" style="margin-bottom: -2em;">
684   .ALD 1i-1v
685   </span>
686   
687   <div class="box-important" style="margin-right: 2.5em;">
688     <p class="tip">
689     <span class="important">IMPORTANT:</span> groff does not
690     respect the order of operations, but rather evaluates
691     arithmetic expressions from left to right.  Parentheses must
692     be used to circumvent this peculiarity.  Not to worry, though.
693     The likelihood of more than just the occasional plus or minus
694     sign when using mom&#8217;s macros is slim.
695     </p>
696   </div>
697   </dd>
698   
699   <dt id="outputline">Output line</dt>
700   <dd>
701   A line of text as it appears in output copy.
702   </dd>
703   
704   <dt id="preprocessor">Pre-processor</dt>
705   <dd>
706   Pre-processors are used by groff to generate tables (tbl),
707   diagrams (pic), and equations (eqn).  These pre-processors are
708   fully supported by mom.  In addition, the &#8220;refer&#8221;
709   pre-processor is used to generate bibliographies and lists of
710   cited works.  The PDF_IMAGE macro, which allows insertion of
711   graphics into a document, is not strictly a pre-processor but
712   behaves similarly to tbl, pic, and eqn.
713   </dd>
714   
715   <dt id="primitives">Primitives</dt>
716   <dd>
717   The lowercase instructions, introduced with a period, that groff
718   uses as its native command language, and out of which macros
719   are built.  The majority of groff&#8217;s primitive requests are two
720   letters long.
721   </dd>
722   
723   <dt id="stringargument">String Argument</dt>
724   <dd>
725   Technically, any
726   <a href="#arguments">argument</a>
727   that is not numeric.  In this documentation, string argument
728   means an argument that requires the user to input text.  For
729   example, in the
730   <a href="#macros">macro</a>
731   
732   <span class="pre" style="margin-bottom: -2em;">
733   .TITLE "My Pulitzer Novel"
734   </span>
735   
736   <kbd>"My Pulitzer Novel"</kbd> is a string argument.
737   
738   <p>
739   Because string arguments must be enclosed by double-quotes, you
740   can&#8217;t use double-quotes as part of the string argument.  If you
741   need double-quotes to be part of a string argument, use the
742   <a href="#inlines">inline escapes</a>
743   <kbd>\(lq</kbd> and <kbd>\(rq</kbd> (leftquote and
744   rightquote respectively) in place of the double-quote character
745   (<kbd>"</kbd>).
746   </p>
747
748   </dd>
749   
750   <dt id="unitofmeasure">Unit of measure</dt>
751   <dd>
752   The single letter after a
753   <a href="#numericargument">numeric argument</a>
754   that tells mom what measurement scale the
755   argument should use.  Common valid units are:
756   
757   <span class="pre" style="margin-bottom: -2em;">
758   i (inches)
759   p (points)
760   P (Picas)
761   c (centimetres)
762   m (ems)
763   n (ens)
764   u (machine units)
765   v (the current leading [line space])
766   </span>
767
768   <p style="margin-top: -1em;">
769   Units of measure must come immediately after the numeric
770   argument (ie with no space between the argument and the unit
771   of measure), like this:
772   
773   <span class="pre" style="margin-bottom: -2em;">
774   .ALD 2v
775   .LL  39P
776   .IL  1i
777   </span>
778   
779   The above example advances 2 line spaces and sets the line
780   length to 39 picas with a left indent of 1 inch.
781   </p>
782   
783   <div class="box-important" style="margin-right: 2.5em;">
784     <p class="tip">
785     <span class="important">IMPORTANT:</span>
786     Most mom macros that set the size or measure of something must
787     be given a unit of measure since most of the macros do not have
788     default units of measure.  There are a couple of exceptions,
789     the most notable of which are <kbd>PT_SIZE</kbd> and
790     <kbd class="bold">LS</kbd>.  Both use
791     <a href="#picaspoints">points</a>
792     as the default unit of measure, which means you don&#8217;t have to
793     append &#8220;p&#8221; to their argument.
794     </p>
795   </div>
796   
797   <p>
798   You can enter decimal values for any unit of measure.  Different
799   units may be combined by adding them together (e.g., 1.5i+2m,
800   which gives a measure of 1-1/2 inches plus 2 ems).
801   </p>
802   
803   <div class="box-tip" style="margin-right: 2.5em;">
804     <p class="tip">
805     <span class="note">Note:</span>
806     a pica is composed of 12 points, therefore 12.5 picas is 12
807     picas and 6 points, not 12 picas and 5 points.  If you want 12
808     picas and 5 points, you have to enter the measure as 12P+5p.
809     </p>
810   </div>
811
812   </dd>
813   
814   <dt id="zerowidthcharacter">Zero-width character</dt>
815   <dd>
816   The
817   <a href="#inlines">inline escape</a>
818   that allows you to print a literal period, apostrophe and, if
819   <a href="#outputline">output lines</a>
820   are
821   <a href="#filled">filled</a>,
822   a space that falls at the beginning of an
823   <a href="#inputline">input line</a>.
824   It looks like this:
825   
826   <span class="pre" style="margin-bottom: -2em;">
827   \&amp; (ie a backslash followed by an ampersand)
828   </span>
829   
830   Normally, groff interprets a period (or an apostrophe) at the
831   beginning of an input line as meaning that what follows is a
832   <a href="#controllines">control line</a>.
833   In fill modes, groff treats a space at the beginning of an input
834   line as meaning &#8220;start a new line and put a space at the
835   beginning of it.&#8221; If you want groff to interpret periods
836   and apostrophes at the beginning of input lines literally (ie
837   print them), or spaces at the beginning of input lines as just
838   garden variety word spaces, you must start the line with the
839   zero-width character.
840   </dd>
841 </dl>
842
843 <h3 id="mom-terms" class="docs">Mom terms</h3>
844 <dl>
845   <dt id="baseline-grid">Baseline grid</dt>
846   <dd>
847   Virtual guide lines spaced according to the
848   <a href="#leading">leading</a>
849   established for running text.  Adherence to the grid ensures that
850   text fills the page completely to the bottom margin.  Uncorrected
851   deviations from the grid result in bottom margins that fall short.
852   </dd>
853   
854   <dt id="controlmacro">Control macro</dt>
855   <dd>
856   Macros used in
857   <a href="docprocessing.html#docprocessing">document processing</a>
858   to control/alter the appearance of document elements (e.g.,
859   headings, quotes, footnotes,
860   <a href="#header">headers</a>,
861   etc.).
862   </dd>
863   
864   <dt id="docheader">Document header/docheader</dt>
865   <dd>
866   Document information (title, subtitle, author, etc) output at
867   the top of page one.
868   </dd>
869   
870   <dt id="epigraph">Epigraph</dt>
871   <dd>
872   A short, usually cited passage that appears at the beginning of
873   a chapter, story, or other document.
874   </dd>
875   
876   <dt id="float">Float</dt>
877   <dd>
878   A float is material intended to be kept together as a block.
879   Floated material that fits on a page in position is output on that
880   page.  Floats that do not fit in position are deferred to the top
881   of the next page.
882   </dd>
883   
884   <dt id="footer">Footer/page footer</dt>
885   <dd>
886   Document information (frequently author and title) output in
887   the bottom margin of pages after page one.  Not to be
888   confused with footnotes, which are considered part of
889   <a href="#running">running text</a>.
890   </dd>
891   
892   <dt id="head">Heading</dt>
893   <dd>
894   The title used to identify a section of a document.  Headings
895   are hierarchic, corresponding to the notion of head, subhead,
896   subsubhead, etc.
897   </dd>
898   
899   <dt id="header">Header/page header</dt>
900   <dd>
901   Document information (frequently author and title) output in the
902   top margin of pages after page one.
903   
904   <div class="box-tip" style="margin-right: 2.5em;">
905     <p class="tip">
906     <span class="note">Note:</span> In terms of content and style,
907     headers and
908     <a href="#footer">footers</a>
909     are the same; they differ only in their placement on the page.
910     In most places in this documentation, references to the content
911     or style of headers applies equally to footers.
912     </p>
913   </div>
914
915   </dd>
916   
917   <dt id="linebreak">Linebreak/author linebreak</dt>
918   <dd>
919   A gap in the vertical flow of
920   <a href="#running">running text</a>,
921   frequently set off by typographic symbols such as asterisks or
922   daggers.  Used to indicate a shift in the content of a document
923   (e.g., a scene change in a short story).  Also commonly called a
924   scene break or a section break.
925   </dd>
926   
927   <dt id="parahead">Paragraph head</dt>
928   <dd>
929   A heading joined to the body of a paragraph.
930   </dd>
931   
932   <dt id="pdflink">PDF link</dt>
933   <dd>
934   A portion of text that, when clicked on in a PDF viewer,
935   navigates to a bookmarked location in a document, generally but not
936   exclusively a heading.  PDF links are usually coloured to make
937   them stand out from the surrounding text.
938   </dd>
939
940   <dt id="pdfoutline">PDF outline</dt>
941   <dd>
942   The hierarchically-arranged navigation outline provided by most PDF
943   viewers (e.g., Okular, Evince), typically in a panel to the left of
944   the document window, and usually labeled &#8220;Contents&#8221;.
945   </dd>
946   
947   <dt id="quote">Quote</dt>
948   <dd>
949   A quote, to mom, is a line-for-line setting
950   of quoted material (e.g., poetry, song lyrics, or a snippet of
951   programming code).  You don&#8217;t have to use
952   <a href="typesetting.html#br"><kbd>BR</kbd></a>
953   with quotes.
954   </dd>
955   
956   <dt id="running">Running text</dt>
957   <dd>
958   In a document formatted with mom, running
959   text means text that forms the body of the document, including
960   elements such as headings.
961   <a href="#docheader">Docheaders</a>,
962   <a href="#header">headers</a>,
963   <a href="#footer">footers</a>
964   and page numbers are not part of running text.
965   </dd>
966   
967   <dt id="toggle">Toggle</dt>
968   <dd>
969   A macro or tag that, when invoked without an argument, begins
970   something or turns a feature on, and, when invoked with ANY
971   argument, ends something or turns a feature off.  See
972   <a href="intro.html#toggle-example">Example 3</a>
973   of the section
974   <a href="intro.html#macro-args">How to read macro arguments</a>.
975   </dd>
976 </dl>
977
978 <div class="rule-long"><hr/></div>
979
980 <!-- Navigation links -->
981 <table style="width: 100%;">
982   <tr>
983     <td style="width: 33%;"><a href="toc.html">Back to Table of Contents</a></td>
984     <td style="width: 33%; text-align: center;"><a href="#top">Top</a></td>
985     <td style="width: 33%; text-align: right;"><a href="using.html#top">Next: Using mom</a></td>
986 </tr>
987 </table>
988
989 </div>
990
991 <div class="bottom-spacer"><br/></div>
992
993 </body>
994 </html>