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