Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Mom -- Document Processing, Writing Letters</title>
</head>
<body bgcolor="#dfdfdf">

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

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

<a name="TOP"></a>
<a name="LETTERS">
	<h1 align="center"><u>WRITING LETTERS WITH MOM</u></h1>
</a>

<a name="LETTERS_INTRO">
	<h2><u>Introduction</u></h2>
</a>

<strong>Mom</strong>'s simple but effective letter-writing
macros are a subset of the
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
designed to ease the creation of correspondence.
<p>
Because the letter macros are a subset of the document
processing macros, you can use
<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
to design correspondence to your own specifications.  However,
<strong>mom</strong> makes no pretence of providing complete design
flexibility in the matter of letters, which are, after all, simple
communicative documents whose only real style requirements are that
they be neat and professional-looking.
<p>
<a name="TUTORIAL"><h2><u>Tutorial on writing letters</u></h2></a>
<p>
<strong>Mom</strong> letters begin, like all
<strong>mom</strong>-processed documents, with a
<a href="docprocessing.html#REFERENCE_MACROS">reference macro</a>
(in this case,
<a href="docprocessing.html#AUTHOR">AUTHOR</a>),
a
<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>
(<strong>LETTER</strong>, obviously), the essential
<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
macro, and
<a href="docprocessing.html#START">START</a>,
like this:
<p>
<pre>
	.AUTHOR    "Yannick P. Guique"
	.DOCTYPE    LETTER
	.PRINTSTYLE TYPESET
	.START
</pre>

<strong>PRINTSTYLE</strong>, above, could also be
<strong>TYPEWRITE</strong>.  <strong>Mom</strong> has no objection
to creating letters that look like they were typed on an Underwood
by a shapely secretary with 1940s gams.
<p>
After the <strong>START</strong> macro, you enter headers pertinent to
your letter: the date, the addressee (in business correspondence,
typically both name and address), the addresser (that's you; in
business correspondence, typically both name and address), and a
greeting (in full, e.g. &quot;Dear Mr. Smith,&quot; or &quot;Dear
Mr. Smith:&quot;).
<p>
The macros for entering the headers are simple (they're not even
<a href="definitions.html#TERMS_TOGGLE">toggles</a>):
<p>
<pre>
	.DATE
	.TO
	.FROM
	.GREETING
</pre>

You may enter them in any order you like, except for
<strong>GREETING</strong>, which must come last.
<strong>Mom</strong> ignores any headers you omit and spaces the
letter's opening according to what you do include.  See
<a href="#LETTERS_DEFAULTS">Default for letters</a>
to find out how <strong>mom</strong> formats the headers.
<p>
(In pre 1.1.7-a releases of <strong>mom</strong>, the order
of entry was fixed at the above.  This has been changed, although
if you do follow the above order, <strong>mom</strong> will
continue to behave exactly as she did in pre 1.1.7-a.)
<p>
Once you've filled in what you need to get a letter started, simply
type the letter, introducing each and every paragraph, including
the first, with the
<a href="docelement.html#PP">PP</a>
macro.
<p>
At the end of the letter, should you wish an indented closing
(&quot;Yours truly,&quot; &quot;Sincerely,&quot; &quot;Hugs and
kisses&quot;), invoke the macro <strong>CLOSING</strong> on a
line by itself and follow it with the text of the closing.  
<strong>N.B.</strong> Don't put your name here; <strong>mom</strong>
supplies it automatically from <strong>AUTHOR</strong> with
enough space to leave room for your signature.

<p>
Assuming our tutorial letter is for business correspondence,
here's what the complete letter looks like.
<p>
<pre>
	.AUTHOR    "Yannick P. Guique"
	.DOCTYPE    LETTER
	.PRINTSTYLE TYPESET
	.START
	.DATE
	August 25, 2004
	.TO
	GUILLAUME BARRIÈRES
	Minidoux Corporation
	5000 Pannes Drive
	Redmond, Virginia
	.FROM
	Y.P. GUIQUE
	022 Umask Road
	St-Sauveur-en-dehors-de-la-mappe, Québec
	.GREETING
	Dear Mr. Barrières,
	.PP
	It has come to my attention that you have been lobbying the
	US government to prohibit the use of open source software by
	endeavouring to outlaw so-called &quot;warranty free&quot;
	applications.
	.PP
	I feel it is my duty to inform you that the success of your
	operating system with its embedded web browser relies heavily
	on open source programs and protocols, most notably TCP/IP.
	.PP
	Therefore, in the interests of your corporation's fiscal health,
	I strongly advise that you withdraw support for any US
	legislation that would cripple or render illegal open source
	development.
	.CLOSING
	Sincerely,
</pre>

This produces a letter with headers that follow the North American
standard for business correspondence.  If you'd prefer another
style of correspondence, for example, British, you'd set up the
same letter like this:
<p>
<pre>
	.AUTHOR    "Yannick P. Guique"
	.DOCTYPE    LETTER
	.PRINTSTYLE TYPESET
	.START
	.FROM
	.RIGHT
	Y.P. GUIQUE
	022 Umask Road
	St-Sauveur-en-dehors-de-la-mappe, Québec
	.TO
	GUILLAUME BARRIÈRES
	Minidoux Corporation
	5000 Pannes Drive
	Redmond, Virginia
	.DATE
	.RIGHT
	August 25, 2004
	.GREETING
	Dear Mr. Barrières,
</pre>

Notice the use of <strong>.RIGHT</strong> after
<strong>.FROM</strong> and <strong>.DATE</strong> in this example,
used to change the default quad for these macros.
<p>
<hr>

<a name="LETTERS_DEFAULTS">
	<h2><u>Defaults for letters</u></h2>
</a>

In letters, if the order of header macros is
<p>
<pre>
	.DATE
	.TO
	.FROM
	.GREETING
</pre>

<strong>mom</strong> sets
<br>
<ol>
	<li>the date flush right, page right, at the top of page one,
with a gap of two linespaces underneath
	<li>the addressee in a block flush left, page left, with a gap of
one linespace underneath
	<li>the addresser in a block flush left, page left, with a gap of
one linespace underneath
	<li>the greeting flush left, with a gap of one linespace
underneath
</ol>
<p>
which is the standard for North American business correspondence.
<p>
If you switch the order of <strong>.DATE</strong>,
<strong>.TO</strong> and/or <strong>.FROM</strong>,
<strong>mom</strong> sets all the headers flush left, with a gap of
one linespace underneath each.  (The default left quad of any header
can be changed by invoking the <strong>.RIGHT</strong> macro, on
a line by itself, immediately before inputting the text of the
header.)
<p>
Following the headers, <strong>mom</strong> sets
<p>
<ul>
	<li>the body of the letter justified
	<li>in multi-page letters:
	<ul>
		<li>a footer indicating there's a next page (of the form <code>.../#</code>)
		<li>the page number at the top of every page after page one
	</ul>
	<li>the closing/signature line flush left, indented halfway across the page
</ul>
<p>
Other important style defaults are listed below, and may be changed
via the
<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
or the document processing
<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
prior to
<a href="docprocessing.html#START">START</a>.  Assume that any
style parameter not listed below is the same as for
<a href="docprocessing.html#TYPESET_DEFAULTS">PRINTSTYLE TYPESET</a>
or
<a href="docprocessing.html#TYPEWRITE_DEFAULTS">PRINTSTYLE TYPEWRITE</a>.
<p>
<pre>
PARAMETER             PRINTSTYLE TYPESET   PRINTSTYLE TYPEWRITE
---------             ------------------   --------------------

Paper size            8.5 x 11 inches      8.5 x 11 inches
Left/right margins    1.25 inches          1.25 inches
Header margin         3.5 picas            3.5 picas
 (for page numbers)
Header gap            3 picas              3 picas
 (for page numbers)
Family                Times Roman          Courier
Font                  roman                roman
Point size            12                   12
Line space            13.5                 12 (i.e. singlespaced)
Paragraph indent      3 ems                3 picas
Spaced paragraphs     yes                  no
Footers*              yes                  yes
Footer margin         3 picas              3 picas
Footer gap            3 picas              3 picas
Page numbers          top, centred        top, centred

*Footers contain a &quot;next page&quot; number of the form .../#
</pre>
<hr>

<a name="LETTERS_MACROS">
	<h2><u>The letter macros</u></h2>
</a>

All letter macros must come after
<a href="docprocessing.html#START">START</a>,
except <strong>NO_SUITE</strong>.
<p>
<ul>
	<li><a href="#DATE">DATE</a>
	<li><a href="#TO">TO</a>
	<li><a href="#FROM">FROM</a>
	<li><a href="#GREETING">GREETING</a>
	<li><a href="#CLOSING">CLOSING</a>
	<li><a href="#NO_SUITE">NO_SUITE</a> -- &quot;next page&quot; number off
</ul>
<br>

<!---DATE--->

<hr width="66%" align="left">
<p>
<a name="DATE"></a>
Macro: <strong>DATE</strong>

<p>
Invoke <strong>DATE</strong> on a line by itself, with the date
underneath, like this:
<p>
<pre>
	.DATE
	October 31, 2002
</pre>

If you wish to change the default quad direction for the date,
enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself,
immediately after <kbd>.DATE</kbd>.
<p>
If you wish to insert additional space between the date and any
letter header that comes after it, do so after inputting the date,
not at the top of the next header macro, like this:
<p>
<pre>
	.DATE
	October 31, 2002
	.SPACE     \" Or, more simply, .SP
</pre>

If you wish to remove the default space,
<p>
<pre>
	.SPACE -1v \" Or, more simply, .SP -1v
</pre>

will do the trick.
<p>

<!---TO--->

<hr width="66%" align="left">
<p>
<a name="TO"></a>
Macro: <strong>TO</strong>

<p>
Invoke <strong>TO</strong> on a line by itself, with the name
and address of the addressee underneath, like this:
<p>
<pre>
	.TO
	JOHN SMITH
	10 Roberts Crescent
	Bramladesh, Ont.
</pre>

If you wish to change the default quad direction for the address,
enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself,
immediately after <kbd>.TO</kbd>.
<p>
If you wish to insert additional space between the address and
any letter header that comes after it, do so after inputting the
address, not at the top of the next header macro, like this:
<p>
<pre>
	.TO
	JOHN SMITH
	10 Roberts Crescent
	Bramladesh, Ont.
	.SPACE     \" Or, more simply, .SP
</pre>

If you wish to remove the default space,
<p>
<pre>
	.SPACE -1v \" Or, more simply, .SP -1v
</pre>

will do the trick.
<p>

<!---FROM--->

<hr width="66%" align="left">
<p>
<a name="FROM"></a>
Macro: <strong>FROM</strong>

<p>
Invoke <strong>FROM</strong> on a line by itself, with the name
and address of the addresser underneath, like this:
<p>
<pre>
	.FROM
	JOE BLOW
	15 Brunette Road
	Ste-Vieille-Andouille, Québec
</pre>

If you wish to change the default quad direction for the address,
enter <kbd>.LEFT</kbd> or <kbd>.RIGHT</kbd>, on a line by itself,
immediately after <kbd>.FROM</kbd>.
<p>
If you wish to insert additional space between the address and
any letter header that comes after it, do so after inputting the
address, not at the top of the next header macro, like this:
<p>
<pre>
	.FROM
	JOE BLOW
	15 Brunette Road
	Ste-Vieille-Andouille, Québec
	.SPACE     \" Or, more simply, .SP
</pre>

If you wish to remove the default space,
<p>
<pre>
	.SPACE -1v \" Or, more simply, .SP -1v
</pre>

will do the trick.
<p>

<!---GREETING--->

<hr width="66%" align="left">
<p>
<a name="GREETING"></a>
Macro: <strong>GREETING</strong>

<p>
Invoke <strong>GREETING</strong> on a line by itself, with the
full salutation you want for the letter, like this:
<p>
<pre>
	.GREETING
	Dear Mr. Smith,
</pre>

<!---CLOSING--->

<hr width="66%" align="left">
<p>
<a name="CLOSING"></a>
Macro: <strong>CLOSING</strong>

<p>
Invoke <strong>CLOSING</strong> on a line by itself after the
body of the letter, with the closing you'd like (e.g. &quot;Yours
truly,&quot;), like this:
<p>
<pre>
	.CLOSING
	Yours truly,
</pre>

<!---NO_SUITE--->

<hr width="66%" align="left">
<p>
<a name="NO_SUITE"></a>
Macro: <strong>NO_SUITE</strong>

<p>
If you don't want <strong>mom</strong> to print a &quot;next
page&quot; number at the bottom of multi-page letters, invoke
<code>.NO_SUITE</code>, on a line by itself, prior to
<a href="docprocessing.html#START">START</a>.

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