Initial import of binutils 2.22 on the new vendor branch
[dragonfly.git] / contrib / groff / contrib / mm / groff_mm.man
1 '\" t
2 .ig
3 Copyright (C) 1989, 2000, 2001, 2002, 2003, 2006, 2007, 2009
4   Free Software Foundation, Inc.
5
6 Permission is granted to make and distribute verbatim copies of
7 this manual provided the copyright notice and this permission notice
8 are preserved on all copies.
9
10 Permission is granted to copy and distribute modified versions of this
11 manual under the conditions for verbatim copying, provided that the
12 entire resulting derived work is distributed under the terms of a
13 permission notice identical to this one.
14
15 Permission is granted to copy and distribute translations of this
16 manual into another language, under the above conditions for modified
17 versions, except that this permission notice may be included in
18 translations approved by the Free Software Foundation instead of in
19 the original English.
20 ..
21 .
22 .TH GROFF_MM @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
23 .
24 .
25 .SH NAME
26 .
27 groff_mm \- groff mm macros
28 .
29 .
30 .SH SYNOPSIS
31 .
32 .B groff
33 .B \-m@TMAC_M_PREFIX@m
34 [
35 .IR options .\|.\|.\&
36 ]
37 [
38 .IR files .\|.\|.\&
39 ]
40 .
41 .
42 .SH DESCRIPTION
43 .
44 The groff mm macros are intended to be compatible with the DWB mm macros
45 with the following limitations:
46 .
47 .TP
48 .B \(bu
49 No Bell Labs localisms are implemented.
50 .
51 .TP
52 .B \(bu
53 The macros OK and PM are not implemented.
54 .
55 .TP
56 .B \(bu
57 groff mm does not support cut marks.
58 .
59 .LP
60 .B m@TMAC_M_PREFIX@m
61 is intended to support easy localization.
62 Use
63 .B m@TMAC_M_PREFIX@mse
64 as an example how to adapt the output format to a national standard.
65 Localized strings are collected in the file
66 .RI `@MACRODIR@/ xx .tmac',
67 where
68 .I xx
69 denotes the two-letter code for the
70 .IR language ,
71 as defined in the ISO 639 standard.
72 For Swedish,
73 this is `sv.tmac' \[en]
74 not `se',
75 which is the ISO 3166 two-letter code for the
76 .I country
77 (as used for the output format localization).
78 .
79 .\"########################################################################
80 .LP
81 A file called
82 .B locale
83 or
84 .IB country _locale
85 is read after the initialization of the global variables.
86 It is therefore possible to localize the macros with a different company
87 name and so on.
88 .
89 .LP
90 In this manual,
91 square brackets are used to show optional arguments.
92 .
93 .
94 .SS "Number registers and strings"
95 .
96 Many macros can be controlled by number registers and strings.
97 A number register is assigned with the
98 .B nr
99 command:
100 .
101 .RS
102 .LP
103 .BI .nr\  "XXX \fR[\fP\fB\[+-]\fP\fR]\fPn \fR[\fPi\fR]\fP
104 .RE
105 .
106 .LP
107 .I XXX
108 is the name of the register,
109 .I n\c
110 \~is the value to be assigned, and
111 .I i\c
112 \~is the increment value for auto-increment.
113 .I n\c
114 \~can have a plus or minus sign as a prefix if an increment
115 or decrement of the current value is wanted.
116 (Auto-increment or auto-decrement occurs if the number register is
117 used with a plus or minus sign,
118 .BI \[rs]n+[ XXX ]
119 or
120 .BI \[rs]n-[ XXX ]\fR.)\fP
121 .
122 .LP
123 Strings are defined with
124 .BR ds .
125 .
126 .RS
127 .LP
128 \fB\&.ds\fP \fIYYY string\fP
129 .RE
130 .
131 .LP
132 The string is assigned everything to the end of the line,
133 even blanks.
134 Initial blanks in
135 .I string
136 should be prefixed with a double-quote.
137 (Strings are used in the text as
138 .BI \[rs]*[ YYY ]\fR.)\fP
139 .
140 .
141 .SS "Special formatting of number registers"
142 .
143 A number register is printed with normal digits if no format has been
144 given.
145 Set the format with
146 .BR af :
147 .
148 .RS
149 .LP
150 .BI .af\  "R c"
151 .RE
152 .
153 .LP
154 .I R\c
155 \~is the name of the register,
156 .I c\c
157 \~is the format.
158 .
159 .RS
160 .LP
161 .TS 
162 tab(@);
163 lb lb
164 l l.
165 Form@Sequence
166 1@0, 1, 2, 3, .\|.\|.
167 001@000, 001, 002, 003, .\|.\|.
168 i@0, i, ii, iii, iv, .\|.\|.
169 I@0, I, II, III, IV, .\|.\|.
170 a@0, a, b, c, .\|.\|., z, aa, ab, .\|.\|.
171 A@0, A, B, C, .\|.\|., Z, AA, AB, .\|.\|.
172 .TE
173 .RE
174 .
175 .
176 .SS Fonts
177 .
178 In
179 .BR m@TMAC_M_PREFIX@m ,
180 the fonts (or rather, font styles)
181 .B R\c
182 \~(normal),
183 .B I\c
184 \~(italic), and
185 .B B\c
186 \~(bold) are hardwired to font positions
187 .BR 1 ,
188 .BR 2 ,
189 and\~\c
190 .BR 3 ,
191 respectively.
192 Internally, font positions are used for backwards compatibility.
193 From a practical point of view it doesn't make a big difference \[en]
194 a different font family can still be selected with a call to the
195 .B .fam
196 request or using
197 .BR groff 's
198 .B \-f
199 command line option.
200 On the other hand, if you want to replace just, say, font
201 .BR B ,
202 you have to replace the font at position\~2 (with a call to
203 `.fp\~2\~.\|.\|.').
204 .
205 .
206 .SS Macros
207 .
208 .TP
209 .BI )E\  "level text"
210 Add heading text
211 .I text
212 to the table of contents with
213 .IR level ,
214 which is either\~0 or in the range 1 to\~7.
215 See also
216 .BR .H .
217 This macro is used for customized tables of contents.
218 .
219 .TP
220 .BR 1C\  [ 1 ]
221 Begin one-column processing.
222 A\~\c
223 .B 1
224 as an argument disables the page break.
225 Use wide footnotes,
226 small footnotes may be overprinted.
227 .
228 .TP
229 .B 2C
230 Begin two-column processing.
231 Splits the page in two columns.
232 It is a special case of
233 .BR MC .
234 See also
235 .BR 1C .
236 .
237 .TP
238 .B AE
239 Abstract end,
240 see
241 .BR AS .
242 .
243 .TP
244 .BI AF\ \fR[\fP name-of-firm \fR]\fP
245 Author's firm, should be called before
246 .BR AU ,
247 see also
248 .BR COVER .
249 .
250 .TP
251 .BI AL\  \fR[\fPtype\ \fR[\fPtext-indent\  \fR[\fP1\fR]]]\fP
252 Start auto-increment list.
253 Items are numbered beginning with one.
254 The
255 .I type
256 argument controls the format of numbers.
257 .
258 .RS
259 .IP
260 .TS
261 tab(@);
262 lb lb
263 l l.
264 Arg@Description
265 1@Arabic (the default)
266 A@Upper-case letters (A-Z)
267 a@Lower-case letters (a-z)
268 I@Upper-case roman
269 i@Lower-case roman
270 .TE
271 .RE
272 .
273 .IP
274 .I text-indent
275 sets the indentation and overrides
276 .BR Li .
277 A third argument prohibits printing of a blank line before each item.
278 .
279 .TP
280 .BI APP\  "name text"
281 Begin an appendix with name
282 .IR name .
283 Automatic naming occurs if
284 .I name
285 is
286 .BR \[dq]\[dq] .
287 The appendices start with\~\c
288 .B A
289 if automatic naming is used.
290 A new page is ejected,
291 and a header is also produced if the number variable
292 .B Aph
293 is non-zero.
294 This is the default.
295 The appendix always appears in the `List of contents' with correct
296 page numbers.
297 The name `APPENDIX' can be changed by setting the string
298 .B App
299 to the desired text.
300 The string 
301 .B Apptxt
302 contains the current appendix text.
303 .
304 .TP
305 .BI APPSK\  "name pages text"
306 Same as
307 .BR .APP ,
308 but the page number is incremented with
309 .IR pages .
310 This is used when diagrams or other non-formatted documents are
311 included as appendices.
312 .
313 .TP
314 .BI AS\  "\fR[\fParg \fR[\fPindent\fR]]\fP"
315 Abstract start.
316 Indentation is specified in `ens',
317 but scaling is allowed.
318 Argument
319 .I arg
320 controls where the abstract is printed.
321 .
322 .RS
323 .TS
324 tab(@);
325 lb lb
326 l lx.
327 \fBArg@Placement\fP
328 0@T{
329 Abstract is printed on page\~1 and on the cover sheet if used in the
330 released-paper style (\fBMT 4\fP),
331 otherwise it is printed on page\~1 without a cover sheet.
332 T}
333 1@Abstract is only printed on the cover sheet (\fBMT 4\fP only).
334 2@T{
335 Abstract is printed only on the cover sheet (other than \fBMT 4\fP only).
336 The cover sheet is printed without a need for \fBCS\fP.
337 T}
338 .TE
339 .RE
340 .
341 .IP
342 An abstract is not printed at all in external letters (\fBMT 5\fP).
343 The
344 .I indent
345 parameter controls the indentation of both margins,
346 otherwise normal text indentation is used.
347 .
348 .TP
349 .BI AST\  \fR[\fPtitle\fR]\fP
350 Abstract title.
351 Default is `ABSTRACT'.
352 Sets the text above the abstract text.
353 .
354 .TP
355 .BI AT\  "title1 \fR[\fPtitle2 \fR[.\|.\|.]]\fP"
356 Author's title.
357 .B AT
358 must appear just after each
359 .BR AU .
360 The title shows up after the name in the signature block.
361 .
362 .TP
363 .BI AU\  "\fR[\fPname \fR[\fPinitials \fR[\fPloc \fR[\fPdept \fR[\fPext \fR[\fProom \fR[\fParg \fR[\fParg \fR[\fParg\fR]]]]]]]]]\fP"
364 Author information.
365 Specifies the author of the memo or paper,
366 and is printed on the cover sheet and on other similar places.
367 .B AU
368 must not appear before
369 .BR TL .
370 The author information
371 can contain initials, location, department, telephone extension,
372 room number or name and up to three extra arguments.
373 .
374 .TP
375 .BI AV\  \fR[\fPname\  \fR[\fP1\fR]]\fP
376 Approval signature.
377 Generates an approval line with place for signature and date.
378 The string `APPROVED:' can be changed with variable
379 .BR Letapp ;
380 it is replaced with an empty lin if there is a second argument.
381 The string `Date' can be changed with variable
382 .BR Letdate .
383 .
384 .TP
385 .BI AVL\  \fR[\fPname\fR]\fP
386 Letter signature.
387 Generates a line with place for signature.
388 .
389 .TP
390 .BI B\  "\fR[\fPbold-text \fR[\fPprev-font-text \fR[\fPbold \fR[.\|.\|.]]]]\fP"
391 Begin boldface.
392 No limit on the number of arguments.
393 All arguments are concatenated to one word;
394 the first, third and so on is printed in boldface.
395 .
396 .TP
397 .B B1
398 Begin box (as the ms macro).
399 Draws a box around the text.
400 The text is indented one character,
401 and the right margin is one character shorter.
402 .
403 .TP
404 .B B2
405 End box.
406 Finishes the box started with
407 .BR B1 .
408 .
409 .TP
410 .B BE
411 End bottom block,
412 see
413 .BR BS .
414 .
415 .TP
416 .BI BI\  "\fR[\fPbold-text \fR[\fPitalic-text \fR[\fPbold-text \fR[.\|.\|.]]]]\fP"
417 Bold-italic.
418 No limit on the number of arguments,
419 see\~\c
420 .BR B .
421 .
422 .TP
423 .BI BL\  \fR[\fPtext-indent\  \fR[\fP1\fR]]\fP
424 Start bullet list.
425 Initializes a list with a bullet and a space in the beginning of each
426 list item (see
427 .BR LI ).
428 .I text-indent
429 overrides the default indentation of the list items set by number register
430 .BR Pi .
431 A third argument prohibits printing of a blank line before each item.
432 .
433 .TP
434 .BI BR\  "\fR[\fPbold-text \fR[\fProman-text \fR[\fPbold-text \fR[.\|.\|.]]]]\fP"
435 Bold-roman.
436 No limit on the number of arguments.
437 .
438 .TP
439 .B BS
440 Bottom block start.
441 Begins the definition of a text block which is printed at the bottom
442 of each page.
443 The block ends with
444 .BR BE .
445 .
446 .TP
447 .BI BVL\  "text-indent \fR[\fPmark-indent\ " \fR[\fP1\fR]]\fP
448 Start of broken variable-item list.
449 Broken variable-item list has no fixed mark,
450 it assumes that every
451 .B LI
452 has a mark instead.
453 The text always begins at the next line after the mark.
454 .I text-indent
455 sets the indentation to the text, and
456 .I mark-indent
457 the distance from the current indentation to the mark.
458 A third argument prohibits printing of a blank line before each item.
459 .
460 .TP
461 .BI COVER\  \fR[\fParg\fR]\fP
462 Begin a coversheet definition.
463 It is important that
464 .B .COVER
465 appears before any normal text.
466 This macro uses
467 .I arg
468 to build the filename 
469 `@TMAC_MDIR@/\fIarg\fP.cov'.
470 Therefore it is possible to create unlimited types of cover sheets.
471 `ms.cov' is supposed to look like the ms cover sheet.
472 .B .COVER
473 requires a
474 .B .COVEND
475 at the end of the cover definition.
476 Always use this order of the cover macros:
477 .
478 .RS
479 .IP
480 .nf
481 \&.COVER
482 \&.TL
483 \&.AF
484 \&.AU
485 \&.AT
486 \&.AS
487 \&.AE
488 \&.COVEND
489 .fi
490 .RE
491 .
492 .IP
493 However, only
494 .B .TL
495 and
496 .B .AU
497 are required.
498 .
499 .TP
500 .B COVEND
501 Finish the cover description and print the cover page.
502 It is defined in the cover file.
503 .
504 .TP
505 .B DE
506 Display end.
507 Ends a block of text or display that begins
508 with
509 .B DS
510 or
511 .BR DF .
512 .
513 .TP
514 .BI DF\  "\fR[\fPformat \fR[\fPfill \fR[\fPrindent\fR]]]\fP"
515 Begin floating display (no nesting allowed).
516 A floating display is saved in a queue and is printed in the order entered.
517 .IR Format ,
518 .IR fill ,
519 and
520 .I rindent
521 are the same as in
522 .BR DS .
523 Floating displays are controlled by the two number registers
524 .B De
525 and
526 .BR Df .
527 .
528 .IP
529 .B De register
530 .
531 .RS
532 .IP
533 .TS
534 tab(@);
535 l lx.
536 0@T{
537 Nothing special, this is the default.
538 T}
539 1@T{
540 A page eject occurs after each printed display,
541 giving only one display per page and no text following it.
542 T}
543 .TE
544 .RE
545 .
546 .IP
547 .B Df register
548 .
549 .RS
550 .IP
551 .TS
552 tab(@);
553 l lx.
554 0@T{
555 Displays are printed at the end of each section (when section-page
556 numbering is active) or at the end of the document.
557 T}
558 1@T{
559 A new display is printed on the current page if there is enough space,
560 otherwise it is printed at the end of the document.
561 T}
562 2@T{
563 One display is printed at the top of each page or column
564 (in multi-column mode).
565 T}
566 3@T{
567 Print one display if there is enough space for it,
568 otherwise it is printed at the top of the next page or column.
569 T}
570 4@T{
571 Print as many displays as possible in a new page or column.
572 A page break occurs between each display if
573 .B De
574 is not zero.
575 T}
576 5@T{
577 Fill the current page with displays and the rest beginning at a new page
578 or column.
579 (This is the default.)
580 A page break occurs between each display
581 if \fBDe\fP is not zero.
582 T}
583 .TE
584 .RE
585 .RE
586 .
587 .TP
588 .BI DL\  \fR[\fPtext-indent\  "\fR[\fP\fB1\fP \fR[\fP\fB1\fP\fR]]]\fP"
589 Dash list start.
590 Begins a list where each item is printed after a dash.
591 .I text-indent
592 changes the default indentation of the list items set by
593 number register
594 .BR Pi .
595 A second argument prevents an empty line between each list item.
596 See
597 .BR LI .
598 A third argument prohibits printing of a blank line before each item.
599 .
600 .TP
601 .BI DS\  "\fR[\fPformat \fR[\fPfill \fR[\fPrindent\fR]]]\fP"
602 Static display start.
603 Begins collection of text until
604 .BR DE .
605 The text is printed together on the same page,
606 unless it is longer than the height of the page.
607 .B DS
608 can be nested arbitrarily.
609 .
610 .IP
611 .B format
612 .
613 .RS
614 .IP
615 .TS
616 tab(@);
617 l lx.
618 \[dq]\[dq]@No indentation.
619 none@No indentation.
620 L@No indentation.
621 I@T{
622 Indent text with the value of number register
623 .BR Si .
624 T}
625 C@Center each line.
626 CB@Center the whole display as a block.
627 R@Right-adjust the lines.
628 RB@Right-adjust the whole display as a block.
629 .TE
630 .RE
631 .
632 .IP
633 The values `L', `I', `C', and `CB' can also be specified as
634 `0', `1', `2', and `3', respectively,
635 for compatibility reasons.
636 .
637 .IP
638 .B fill
639 .
640 .RS
641 .IP
642 .TS
643 tab(@);
644 l l.
645 \[dq]\[dq]@Line-filling turned off.
646 none@Line-filling turned off.
647 N@Line-filling turned off.
648 F@Line-filling turned on.
649 .TE
650 .RE
651 .
652 .IP
653 `N' and `F' can also be specified as `0' and `1', respectively.
654 .
655 .IP
656 By default, an empty line is printed before and after the display.
657 Setting number register
658 .B Ds
659 to\~0 prevents this.
660 .I rindent
661 shortens the line length by that amount.
662 .
663 .TP
664 .BI EC\  "\fR[\fPtitle \fR[\fPoverride \fR[\fPflag \fR[\fPrefname\fR]]]]\fP"
665 Equation title.
666 Sets a title for an equation.
667 The
668 .I override
669 argument changes the numbering.
670 .
671 .IP
672 .B flag
673 .
674 .RS
675 .IP
676 .TS
677 tab(@);
678 l lx.
679 none@T{
680 .I override
681 is a prefix to the number.
682 T}
683 0@T{
684 .I override
685 is a prefix to the number.
686 T}
687 1@T{
688 .I override
689 is a suffix to the number.
690 T}
691 2@T{
692 .I override
693 replaces the number.
694 T}
695 .TE
696 .RE
697 .
698 .IP
699 .B EC
700 uses the number register
701 .B Ec
702 as a counter.
703 It is possible to use
704 .B .af
705 to change the format of the number.
706 If number register
707 .B Of
708 is\~1,
709 the format of title uses a dash instead of a dot after the number.
710 .
711 .IP
712 The string
713 .B Le
714 controls the title of the List of Equations;
715 default is `LIST OF EQUATIONS'.
716 The List of Equations is only printed if number register
717 .B Le
718 is\~1.
719 The default is\~0.
720 The string
721 .B Liec
722 contains the word `Equation',
723 which is printed before the number.
724 If
725 .I refname
726 is used,
727 then the equation number is saved with
728 .BR .SETR ,
729 and can be retrieved with `\fB.GETST\fP \fIrefname\fP'.
730 .
731 .IP
732 Special handling of the title occurs if
733 .B EC
734 is used inside
735 .BR DS / DE ;
736 it is not affected by the format of
737 .BR DS .
738 .
739 .TP
740 .BI EF\  \fR[\fParg\fR]\fP
741 Even-page footer,
742 printed just above the normal page footer on even pages.
743 See
744 .BR PF .
745 .
746 .IP
747 This macro defines string
748 .BR EOPef .
749 .
750 .TP
751 .BI EH\  \fR[\fParg\fR]\fP
752 Even-page header,
753 printed just below the normal page header on even pages.
754 See
755 .BR PH .
756 .
757 .IP
758 This macro defines string
759 .BR TPeh .
760 .
761 .TP
762 .B EN
763 Equation end, see
764 .BR EQ .
765 .
766 .TP
767 .B EOP
768 End-of-page user-defined macro.
769 This macro is called instead of the normal printing of the footer.
770 The macro is executed in a separate environment,
771 without any trap active.
772 See
773 .BR TP .
774 .
775 .IP
776 .B strings available to EOP
777 .RS
778 .TS
779 tab(@);
780 l l.
781 EOPf@argument of \fBPF\fP
782 EOPef@argument of \fBEF\fP
783 EOPof@argument of \fBOF\fP
784 .TE
785 .RE
786 .
787 .TP
788 .BI EPIC\  "\fR[\fP\fB\-L\fP\fR]\fP width height \fR[\fPname\fR]\fP"
789 Draw a box with the given
790 .I width
791 and
792 .IR height .
793 It also prints the text
794 .I name
795 or a default string if
796 .I name
797 is not specified.
798 This is used to include external pictures;
799 just give the size of the picture.
800 .B \-L
801 left-adjusts the picture;
802 the default is to center.
803 See
804 .BR PIC .
805 .
806 .TP
807 .BI EQ\  \fR[\fPlabel\fR]\fP
808 Equation start.
809 .BR EQ / EN
810 are the delimiters for equations written for
811 .BR @g@eqn (@MAN1EXT@).
812 .BR EQ / EN
813 must be inside of a
814 .BR DS / DE
815 pair,
816 except if
817 .B EQ
818 is used to set options for
819 .B @g@eqn
820 only.
821 The
822 .I label
823 argument appears at the right margin of the equation,
824 centered vertically within the
825 .BR DS / DE
826 block,
827 unless number register
828 .B Eq
829 is\~1.
830 Then the label appears at the left margin.
831 .IP
832 If there are multiple
833 .BR EQ / EN
834 blocks within a single
835 .BR DS / DE
836 pair,
837 only the last equation label (if any) is printed.
838 .
839 .TP
840 .BI EX\  "\fR[\fPtitle \fR[\fPoverride \fR[\fPflag \fR[\fPrefname\fR]]]]\fP"
841 Exhibit title.
842 The arguments are the same as for
843 .BR EC .
844 .B EX
845 uses the number register
846 .B Ex
847 as a counter.
848 The string
849 .B Lx
850 controls the title of the List of Exhibits;
851 default is `LIST OF EXHIBITS'.
852 The List of Exhibits is only printed if number register
853 .B Lx
854 is\~1,
855 which is the default.
856 The string
857 .B Liex
858 contains the word `Exhibit',
859 which is printed before the number.
860 If
861 .I refname
862 is used, the exhibit number is saved with
863 .BR .SETR ,
864 and can be retrieved with `\fB.GETST\fP \fIrefname\fP'.
865 .
866 .IP
867 Special handling of the title occurs if
868 .B EX
869 is used inside
870 .BR DS / DE ;
871 it is not affected by the format of
872 .BR DS .
873 .
874 .TP
875 .BI FC\  \fR[\fPclosing\fR]\fP
876 Print `Yours\~very\~truly,' as a formal closing of a letter or memorandum.
877 The argument replaces the default string.
878 The default is stored in string variable
879 .BR Letfc .
880 .
881 .TP
882 .BI FD\  \fR[\fParg\  \fR[\fP1\fR]]\fP
883 Footnote default format.
884 Controls the hyphenation (hyphen),
885 right margin justification (adjust),
886 and indentation of footnote text (indent).
887 It can also change the label justification (ljust).
888 .
889 .RS
890 .IP
891 .TS
892 tab(@);
893 lb lb lb lb lb
894 l l l l l.
895 arg@hyphen@adjust@indent@ljust
896 0@no@yes@yes@left
897 1@yes@yes@yes@left
898 2@no@no@yes@left
899 3@yes@no@yes@left
900 4@no@yes@no@left
901 5@yes@yes@no@left
902 6@no@no@no@left
903 7@yes@no@no@left
904 8@no@yes@yes@right
905 9@yes@yes@yes@right
906 10@no@no@yes@right
907 11@yes@no@yes@right
908 .TE
909 .RE
910 .
911 .IP
912 An argument greater than or equal to 11 is considered as value\~0.
913 Default for
914 .B m@TMAC_M_PREFIX@m
915 is 10.
916 .
917 .TP
918 .B FE
919 Footnote end.
920 .
921 .TP
922 .BI FG\  "\fR[\fPtitle \fR[\fPoverride \fR[\fPflag \fR[\fPrefname\fR]]]]\fP"
923 Figure title.
924 The arguments are the same as for
925 .BR EC .
926 .B FG
927 uses the number register
928 .B Fg
929 as a counter.
930 The string
931 .B Lf
932 controls the title of the List of Figures;
933 default is `LIST OF FIGURES'.
934 The List of Figures is only printed if number register
935 .B Lf
936 is\~1, which is the default.
937 The string
938 .B Lifg
939 contains the word `Figure',
940 which is printed before the number.
941 If
942 .I refname
943 is used, then the figure number is saved with
944 .BR .SETR ,
945 and can be retrieved with `\fB.GETST\fP \fIrefname\fP'.
946 .
947 .IP
948 Special handling of the title occurs if
949 .B FG
950 is used inside
951 .BR DS / DE ,
952 it is not affected by the format of
953 .BR DS .
954 .
955 .TP
956 .BI FS\  \fR[\fPlabel\fR]\fP
957 Footnote start.
958 The footnote is ended by
959 .BR FE .
960 By default, footnotes are automatically numbered;
961 the number is available in string\~\c
962 .BR F .
963 Just add
964 .B \[rs]*F
965 in the text.
966 By adding
967 .IR label ,
968 it is possible to have other number or names on the footnotes.
969 Footnotes in displays are now possible.
970 An empty line separates footnotes;
971 the height of the line is controlled by number register
972 .BR Fs ,
973 default value is\~1.
974 .
975 .TP
976 .BI GETHN\  "refname \fR[\fPvarname\fR]\fP"
977 Include the header number where the corresponding `\fBSETR\fP \fIrefname\fP'
978 was placed.
979 This is displayed as `X.X.X.' in pass\~1.
980 See
981 .BR INITR .
982 If
983 .I varname
984 is used,
985 .B GETHN
986 sets the string variable
987 .I varname
988 to the header number.
989 .
990 .TP
991 .BI GETPN\  "refname \fR[\fPvarname\fR]\fP"
992 Include the page number where the corresponding `\fBSETR\fP \fIrefname\fP'
993 was placed.
994 This is displayed as `9999' in pass\~1.
995 See
996 .BR INITR .
997 If
998 .I varname
999 is used,
1000 .B GETPN
1001 sets the stringvariable
1002 .I varname
1003 to the page number.
1004 .
1005 .TP
1006 .BI GETR\  refname
1007 Combine
1008 .B GETHN
1009 and
1010 .B GETPN
1011 with the text `chapter' and `,\~page'.
1012 The string
1013 .B Qrf
1014 contains the text for the reference:
1015 .
1016 .RS
1017 .IP
1018 \&.ds Qrf See chapter \[rs]\[rs]*[Qrfh], page \[rs]\[rs]*[Qrfp].
1019 .RE
1020 .
1021 .IP
1022 .B Qrf
1023 may be changed to support other languages.
1024 Strings
1025 .B Qrfh
1026 and
1027 .B Qrfp
1028 are set by
1029 .B GETR
1030 and contain the page and header number, respectively.
1031 .
1032 .TP
1033 .BI GETST\  "refname \fR[\fPvarname\fR]\fP"
1034 Include the string saved with the second argument to
1035 .BR .SETR .
1036 This is a dummy string in pass\~1.
1037 If
1038 .I varname
1039 is used,
1040 .B GETST
1041 sets it to the saved string.
1042 See
1043 .BR INITR .
1044 .
1045 .TP
1046 .BI H\  "level \fR[\fPheading-text \fR[\fPheading-suffix\fR]]\fP"
1047 Numbered section heading.
1048 Section headers can have a level between 1 and 14;
1049 level\~1 is the top level.
1050 The text is given in
1051 .IR heading-text ,
1052 and must be surrounded by double quotes if it contains spaces.
1053 .I heading-suffix
1054 is added to the header in the text but not in the table of contents.
1055 This is normally used for footnote marks and similar things.
1056 Don't use
1057 .B \[rs]*F
1058 in
1059 .IR heading-suffix ,
1060 it doesn't work.
1061 A manual label must be used, see
1062 .BR FS .
1063 .sp
1064 A call to the paragraph macro\~\c
1065 .B P
1066 directly after\~\c
1067 .B H
1068 is ignored.
1069 .B H\c
1070 \~takes care of spacing and indentation.
1071 .
1072 .IP
1073 .B Page ejection before heading
1074 .
1075 .RS
1076 .IP
1077 Number register
1078 .B Ej
1079 controls page ejection before the heading.
1080 By default, a level-one heading gets two blank lines before it;
1081 higher levels only get one.
1082 A new page is ejected before each first-level heading if number register
1083 .B Ej
1084 is\~1.
1085 All levels below or equal the value of
1086 .B Ej
1087 get a new page.
1088 Default value for
1089 .B Ej
1090 is\~0.
1091 .RE
1092 .
1093 .IP
1094 .B Heading break level
1095 .
1096 .RS
1097 .IP
1098 A line break occurs after the heading if the heading level is less
1099 or equal to number register
1100 .BR Hb .
1101 Default value is\~2.
1102 .RE
1103 .
1104 .IP
1105 .B Heading space level
1106 .
1107 .RS
1108 .IP
1109 A blank line is inserted after the heading if the heading level is less
1110 or equal to number register
1111 .BR Hs .
1112 Default value is\~2.
1113 .
1114 .IP
1115 Text follows the heading on the same line if the level is greater
1116 than both
1117 .B Hb
1118 and
1119 .BR Hs .
1120 .RE
1121 .
1122 .IP
1123 .B Post-heading indent
1124 .
1125 .RS
1126 .IP
1127 Indentation of the text after the heading is controlled by number
1128 register
1129 .BR Hi .
1130 Default value is\~0.
1131 .
1132 .IP
1133 .B Hi
1134 .TS
1135 tab(@);
1136 l lx.
1137 0@The text is left-justified.
1138 1@T{
1139 Indentation of the text follows the value of number 
1140 register
1141 .B Pt ,
1142 see
1143 .BR P .
1144 T}
1145 2@T{
1146 The text is lined up with the first word of the heading.
1147 T}
1148 .TE
1149 .
1150 .IP
1151 .B Centered section headings
1152 .
1153 .RS
1154 .IP
1155 All headings whose level is equal or below number register
1156 .B Hc
1157 and also less than or equal to
1158 .B Hb
1159 or
1160 .B Hs
1161 are centerered.
1162 .RE
1163 .
1164 .IP
1165 .B Font control of the heading
1166 .
1167 .RS
1168 .IP
1169 The font of each heading level is controlled by string
1170 .BR HF .
1171 It contains a font number or font name for each level.
1172 Default value is
1173 .
1174 .RS
1175 .IP
1176 .B 2 2 2 2 2 2 2 2 2 2 2 2 2 2
1177 .RE
1178 .
1179 .IP
1180 (all headings in italic).
1181 This could also be written as
1182 .
1183 .RS
1184 .IP
1185 .B I I I I I I I I I I I I I I
1186 .RE
1187 .
1188 .IP
1189 Note that some other implementations use
1190 .B 3\~3\~2\~2\~2\~2\~2
1191 as the default value.
1192 All omitted values are presumed to have value\~1.
1193 .RE
1194 .
1195 .IP
1196 .B Point size control
1197 .
1198 .RS
1199 .IP
1200 String
1201 .B HP
1202 controls the point size of each heading,
1203 in the same way as
1204 .B HF
1205 controls the font.
1206 A value of\~0 selects the default point size.
1207 Default value is
1208 .
1209 .RS
1210 .IP
1211 .B 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1212 .RE
1213 .
1214 .IP
1215 Beware that only the point size changes, not the vertical size.
1216 The latter can be controlled by the user-specified macros
1217 .B HX
1218 and/or
1219 .BR HZ .
1220 .RE
1221 .
1222 .IP
1223 .B Heading counters
1224 .
1225 .RS
1226 .IP
1227 Fourteen number registers named
1228 .B H1
1229 up to
1230 .B H14
1231 contain the counter for each heading level.
1232 The values are printed using arabic numerals;
1233 this can be changed with the macro
1234 .B HM
1235 (see below).
1236 All marks are concatenated before printing.
1237 To avoid this,
1238 set number register
1239 .B Ht
1240 to\~1.
1241 This only prints the current heading counter at each heading.
1242 .RE
1243 .
1244 .IP
1245 .B Automatic table of contents
1246 .
1247 .RS
1248 .IP
1249 All headings whose level is equal or below number register
1250 .B Cl
1251 are saved to be printed in the table of contents.
1252 Default value is\~2.
1253 .RE
1254 .
1255 .IP
1256 .B Special control of the heading, user-defined macros
1257 .
1258 .RS
1259 .IP
1260 The following macros can be defined by the user to get a finer control
1261 of vertical spacing, fonts, or other features.
1262 Argument
1263 .I level
1264 is the level-argument to\~\c
1265 .BR H ,
1266 but\~0 for unnumbered headings (see
1267 .BR HU ).
1268 Argument
1269 .I rlevel
1270 is the real level;
1271 it is set to number register
1272 .B Hu
1273 for unnumbered headings.
1274 Argument
1275 .I heading-text
1276 is the text argument to
1277 .B H
1278 and
1279 .BR HU .
1280 .
1281 .RS
1282 .TP
1283 .BI HX\  "level rlevel heading-text"
1284 This macro is called just before the printing of the heading.
1285 The following registers are available for
1286 .BR HX .
1287 Note that
1288 .B HX
1289 may alter
1290 .BR }0 ,
1291 .BR }2 ,
1292 and
1293 .BR ;3 .
1294 .
1295 .RS
1296 .TP
1297 .BR }0\  (string)
1298 Contains the heading mark plus two spaces if
1299 .I rlevel
1300 is non-zero,
1301 otherwise empty.
1302 .
1303 .TP
1304 .BR ;0\  (register)
1305 Contains the position of the text after the heading.
1306 0\~means that the text should follow the heading on the same line,
1307 1\~means that a line break should occur before the text,
1308 and 2\~means that a blank line should separate the heading and the text.
1309 .
1310 .TP
1311 .BR }2\  (string)
1312 Contains two spaces if register
1313 .B ;0
1314 is\~0.
1315 It is used to separate the heading from the text.
1316 The string is empty if
1317 .B ;0
1318 is non-zero.
1319 .
1320 .TP
1321 .BR ;3\  (register)
1322 Contains the needed space in units after the heading.
1323 Default is 2v.
1324 Can be used to change things like numbering
1325 .RB ( }0 ),
1326 vertical spacing
1327 .RB ( }2 ),
1328 and the needed space after the heading.
1329 .RE
1330 .
1331 .TP
1332 .BI HY\  "dlevel rlevel heading-text"
1333 This macro is called after size and font calculations and
1334 might be used to change indentation.
1335 .
1336 .TP
1337 .BI HZ\  "dlevel rlevel heading-text"
1338 This macro is called after the printing of the heading,
1339 just before
1340 .B H
1341 or
1342 .B HU
1343 exits.
1344 Can be used to change the page header according to the section heading.
1345 .RE
1346 .RE
1347 .
1348 .TP
1349 .BI HC\  \fR[\fPhyphenation-character\fR]\fP
1350 Set hyphenation character.
1351 Default value is `\[rs]%'.
1352 Resets to the default if called without argument.
1353 Hyphenation can be turned off by setting number
1354 register
1355 .B Hy
1356 to\~0 at the beginning of the file.
1357 .
1358 .TP
1359 .BI HM\  "\fR[\fParg1 \fR[\fParg2 \fR[.\|.\|.\& [\fParg14\fR]]]]\fP"
1360 Heading mark style.
1361 Controls the type of marking for printing of the heading counters.
1362 Default is\~1 for all levels.
1363 .
1364 .IP
1365 .B Argument
1366 .
1367 .TS
1368 tab(@);
1369 l l.
1370 1@Arabic numerals.
1371 0001@Arabic numerals with leading zeroes, one or more.
1372 A@upper-case alphabetic
1373 a@lower-case alphabetic
1374 I@upper-case roman numerals
1375 i@lower-case roman numerals
1376 \[dq]\[dq]@Arabic numerals.
1377 .TE
1378 .
1379 .TP
1380 .BI HU\  heading-text
1381 Unnumbered section header.
1382 .B HU
1383 behaves like
1384 .B H
1385 at the level in number register
1386 .BR Hu .
1387 See\~\c
1388 .BR H .
1389 .
1390 .TP
1391 .BI HX\  "dlevel rlevel heading-text"
1392 User-defined heading exit.
1393 Called just before printing the header.
1394 See\~\c
1395 .BR H .
1396 .
1397 .TP
1398 .BI HY\  "dlevel rlevel heading-text"
1399 User-defined heading exit.
1400 Called just before printing the header.
1401 See\~\c
1402 .BR H .
1403 .
1404 .TP
1405 .BI HZ\  "dlevel rlevel heading-text"
1406 User-defined heading exit.
1407 Called just after printing the header.
1408 See\~\c
1409 .BR H .
1410 .
1411 .TP
1412 .BI I\  "\fR[\fPitalic-text \fR[\fPprev-font-text \fR[\fPitalic-text \fR[.\|.\|.]]]]\fP"
1413 Italic.
1414 Changes the font to italic if called without arguments.
1415 With one argument it sets the word in italic.
1416 With two arguments it concatenates them and sets the first
1417 word in italic and the second in the previous font.
1418 There is no limit on the number of argument;
1419 all are concatenated.
1420 .
1421 .TP
1422 .BI IA\  "\fR[\fPaddressee-name \fR[\fPtitle\fR]]\fP"
1423 Begin specification of the addressee and addressee's address in
1424 letter style.
1425 Several names can be specified with empty
1426 .BR IA / IE -pairs,
1427 but only one address.
1428 See
1429 .BR LT .
1430 .
1431 .TP
1432 .BI IB\  "\fR[\fPitalic-text \fR[\fPbold-text \fR[\fPitalic-text \fR[.\|.\|.]]]]\fP"
1433 Italic-bold.
1434 Even arguments are printed in italic, odd in boldface.
1435 See\~\c
1436 .BR I .
1437 .
1438 .TP
1439 .B IE
1440 End the address specification after
1441 .BR IA .
1442 .
1443 .TP
1444 .BI INITI\  "type filename \fR[\fPmacro\fR]\fP"
1445 Initialize the new index system and set the filename to collect
1446 index lines in with
1447 .BR IND .
1448 Argument
1449 .I type
1450 selects the type of index:
1451 page number, header marks or both.
1452 The default is page numbers.
1453 .
1454 .IP
1455 It is also possible to create a macro that is responsible
1456 for formatting each row;
1457 just add the name of the macro as a third argument.
1458 The macro is then called with the index as argument(s).
1459 .
1460 .IP
1461 .B type
1462 .
1463 .IP
1464 .TS
1465 tab(@);
1466 l lx.
1467 N@Page numbers
1468 H@Header marks
1469 B@T{
1470 Both page numbers and header marks, 
1471 separated with a tab character.
1472 T}
1473 .TE
1474 .
1475 .TP
1476 .BI INITR\  filename
1477 Initialize the refence macros.
1478 References are written to stderr and are supposed to
1479 be written to `\fIfilename\fR.qrf'. 
1480 Requires two passes with groff;
1481 this is handled by a separate program called
1482 .BR mmroff (@MAN1EXT@).
1483 This program exists because
1484 .BR groff (@MAN1EXT@)
1485 by default deactivates the unsafe operations that are required by
1486 .BR INITR .
1487 The first pass looks for references,
1488 and the second one includes them.
1489 .B INITR
1490 can be used several times,
1491 but it is only the first occurrence of
1492 .B INITR
1493 that is active.
1494 .
1495 .IP
1496 See also
1497 .BR SETR ,
1498 .BR GETPN ,
1499 and
1500 .BR GETHN .
1501 .
1502 .TP
1503 .BI IND\  "arg1 \fR[\fParg2 \fR[.\|.\|.]]\fP"
1504 Write a line in the index file selected by
1505 .B INITI
1506 with all arguments and the page number or header mark separated by tabs.
1507 .
1508 .RS
1509 .IP
1510 .B Examples
1511 .
1512 .IP
1513 arg1\[rs]tpage number
1514 .br
1515 arg1\[rs]targ2\[rs]tpage number
1516 .br
1517 arg1\[rs]theader mark
1518 .br
1519 arg1\[rs]tpage number\[rs]theader mark
1520 .RE
1521 .
1522 .TP
1523 .B INDP
1524 Print the index by running the command specified
1525 by string variable
1526 .BR Indcmd ,
1527 which has `sort\ \-t\[rs]t' as the default value.
1528 .B INDP
1529 reads the output from the command to form the index,
1530 by default in two columns (this can be changed by defining
1531 .BR TYIND ).
1532 The index is printed with string variable
1533 .B Index
1534 as header,
1535 default is `INDEX'.
1536 One-column processing is reactivated after the list.
1537 .B INDP
1538 calls the user-defined macros
1539 .BR TXIND ,
1540 .BR TYIND ,
1541 and
1542 .B TZIND
1543 if defined.
1544 .B TXIND
1545 is called before printing the string `INDEX',
1546 .B TYIND
1547 is called instead of printing `INDEX', and
1548 .B TZIND
1549 is called after the printing and should take care of restoring to normal
1550 operation again.
1551 .
1552 .TP
1553 .B ISODATE \fR[\fP0\fR]\fP
1554 Change the predefined date string in
1555 .B DT
1556 to ISO-format, this is, `YYYY-MM-DD'.
1557 This can also be done by adding
1558 .B \-rIso=1
1559 on the command line.
1560 Reverts to old date format if argument is\~\c
1561 .BR 0 .
1562 .
1563 .TP
1564 .BI IR\  "\fR[\fPitalic-text \fR[\fProman-text \fR[\fPitalic-text \fR[.\|.\|.]]]]\fP"
1565 Italic-roman.
1566 Even arguments are printed in italic, odd in roman.
1567 See\~\c
1568 .BR I .
1569 .
1570 .TP
1571 .BI LB\  "text-indent mark-indent pad type \fR[\fPmark \fR[\fPLI-space \fR[\fPLB-space\fR]]]\fP"
1572 List-begin macro.
1573 This is the common macro used for all lists.
1574 .I text-indent
1575 is the number of spaces to indent the text from the current indentation.
1576 .
1577 .IP
1578 .I pad
1579 and
1580 .I mark-indent
1581 control where to put the mark.
1582 The mark is placed within the mark area,
1583 and
1584 .I mark-indent
1585 sets the number of spaces before this area.
1586 By default it is\~0.
1587 The mark area ends where the text begins.
1588 The start of the text
1589 is still controlled by
1590 .IR text-indent .
1591 .
1592 .IP
1593 The mark is left-justified whitin the mark area if
1594 .I pad
1595 is\~0.
1596 If
1597 .I pad
1598 is greater than\~0,
1599 .I mark-indent
1600 is ignored,
1601 and the mark is placed
1602 .I pad
1603 spaces before the text.
1604 This right-justifies the mark.
1605 .
1606 .IP
1607 If
1608 .I type
1609 is\~0 the list either has a hanging indentation or,
1610 if argument
1611 .I mark
1612 is given,
1613 the string
1614 .I mark
1615 as a mark.
1616 .
1617 .IP
1618 If
1619 .I type
1620 is greater than\~0 automatic numbering occurs,
1621 using arabic numbers if
1622 .I mark
1623 is empty.
1624 .I mark
1625 can then be any of `1', `A', `a', `I', or `i'.
1626 .
1627 .IP
1628 .I type
1629 selects one of six possible ways to display the mark.
1630 .
1631 .IP
1632 .B type
1633 .
1634 .RS
1635 .IP
1636 .br
1637 .TS
1638 tab(@);
1639 l l.
1640 1@x.
1641 2@x)
1642 3@(x)
1643 4@[x]
1644 5@<x>
1645 6@{x}
1646 .TE
1647 .RE
1648 .
1649 .IP
1650 Every item in the list gets
1651 .I LI-space
1652 number of blank lines before them.
1653 Default is\~1.
1654 .
1655 .IP
1656 .B LB
1657 itself prints
1658 .I LB-space
1659 blank lines.
1660 Default is\~0.
1661 .
1662 .TP
1663 .BI LC\  \fR[\fPlist-level\fR]\fP
1664 List-status clear.
1665 Terminates all current active lists down to
1666 .IR list-level ,
1667 or\~0 if no argmuent is given.
1668 This is used by\~\c
1669 .B H
1670 to clear any active list.
1671 .
1672 .TP
1673 .B LE \fR[\fP1\fR]\fP
1674 List end.
1675 Terminates the current list.
1676 .B LE
1677 outputs a blank line if an argument is given.
1678 .
1679 .TP
1680 .BI LI\  \fR[\fPmark\  \fR[\fP1\fR|\fP2\fR]]\fP
1681 List item preceding every item in a list.
1682 Without argument,
1683 .B LI
1684 prints the mark determined by the current list type.
1685 By giving
1686 .B LI
1687 one argument, it uses that as the mark instead.
1688 Two arguments to
1689 .B LI
1690 makes
1691 .I mark
1692 a prefix to the current mark.
1693 There is no separating space between the prefix
1694 and the mark if the second argument is `2' instead of `1'.
1695 This behaviour can also be achieved by setting number register
1696 .B Limsp
1697 to zero.
1698 A zero length
1699 .I mark
1700 makes a hanging indentation instead.
1701 .
1702 .IP
1703 A blank line is printed before the list item by default.
1704 This behaviour can be controlled by number register
1705 .BR Ls .
1706 Pre-spacing occurs for each list level less than or equal to
1707 .BR Ls .
1708 Default value is 99.
1709 There is no nesting limit.
1710 .
1711 .IP
1712 The indentation can be changed through number register
1713 .BR Li .
1714 Default is\~6.
1715 .
1716 .IP
1717 All lists begin with a list initialization macro,
1718 .BR LB .
1719 There are, however, seven predefined list types to make lists easier to use.
1720 They all call
1721 .B LB
1722 with different default values.
1723 .
1724 .RS
1725 .IP
1726 .TS
1727 tab(@);
1728 l l.
1729 \fBAL\fP@Automatically Incremented List
1730 \fBML\fP@Marked List
1731 \fBVL\fP@Variable-Item List
1732 \fBBL\fP@Bullet List
1733 \fBDL\fP@Dash List
1734 \fBRL\fP@Reference List
1735 \fBBVL\fP@Broken Variable List.
1736 .TE
1737 .RE
1738 .
1739 .IP
1740 These lists are described at other places in this manual.
1741 See also
1742 .BR LB .
1743 .
1744 .TP
1745 .BI LT\  \fR[\fIarg\fR]\fI
1746 Format a letter in one of four different styles depending
1747 on the argument.
1748 See also section
1749 .BR INTERNALS .
1750 .
1751 .RS
1752 .IP
1753 .TS
1754 tab(@);
1755 lb lb
1756 l lx.
1757 Arg@Style
1758 BL@T{
1759 Blocked.
1760 Date line, return address, writer's address and closing
1761 begins at the center of the line.
1762 All other lines begin at the left margin.
1763 T}
1764 SB@T{
1765 Semi-blocked.
1766 Same as blocked,
1767 except that the first line in every paragraph is indented five spaces.
1768 T}
1769 FB@T{
1770 Full-blocked.
1771 All lines begin at the left margin.
1772 T}
1773 SP@T{
1774 Simplified.
1775 Almost the same as the full-blocked style.
1776 Subject and the writer's identification are printed in all-capital.
1777 T}
1778 .TE
1779 .RE
1780 .
1781 .TP
1782 .BI LO\  "type \fR[\fParg\fR]\fP"
1783 Specify options in letter (see
1784 .BR .LT ).
1785 This is a list of the standard options:
1786 .
1787 .RS
1788 .IP
1789 .TS
1790 tab(@);
1791 l lx.
1792 CN@T{
1793 Confidential notation.
1794 Prints `CONFIDENTIAL' on the second line below the date line.
1795 Any argument replaces `CONFIDENTIAL'.
1796 See also string variable
1797 .BR LetCN .
1798 T}
1799 RN@T{
1800 Reference notation.
1801 Prints `In reference to:' and the argument two lines below the date line.
1802 See also string variable
1803 .BR LetRN .
1804 T}
1805 AT@T{
1806 Attention.
1807 Prints `ATTENTION:' and the argument below the inside address.
1808 See also string variable
1809 .BR LetAT .
1810 T}
1811 SA@T{
1812 Salutation.
1813 Prints `To Whom It May Concern:' or the argument if it was present.
1814 The salutation is printed two lines below the inside address.
1815 See also string variable
1816 .BR LetSA .
1817 T}
1818 SJ@T{
1819 Subject line.
1820 Prints the argument as subject prefixed with `SUBJECT:'
1821 two lines below the inside address,
1822 except in letter type `SP',
1823 where the subject is printed in all-capital without any prefix.
1824 See also string variable
1825 .BR LetSJ .
1826 T}
1827 .TE
1828 .RE
1829 .
1830 .TP
1831 .BI MC\  "column-size \fR[\fPcolumn-separation\fR]\fP"
1832 Begin multiple columns.
1833 Return to normal with
1834 .BR 1C .
1835 .B MC
1836 creates as many columns as the current line length permits.
1837 .I column-size
1838 is the width of each column,
1839 and
1840 .I column-separation
1841 is the space between two columns.
1842 Default separation is
1843 .IR column-size /15.
1844 See also
1845 .BR 1C .
1846 .
1847 .TP
1848 .BI ML\  "mark \fR[\fPtext-indent\ " \fR[\fP1\fR]]\fP
1849 Marked list start.
1850 The
1851 .I mark
1852 argument is printed before each list item.
1853 .I text-indent
1854 sets the indent and overrides
1855 .BR Li .
1856 A third argument prohibits printing of a blank line before each item.
1857 .
1858 .TP
1859 .BI MT\  "\fR[\fParg \fR[\fPaddressee\fR]]\fP"
1860 Memorandum type.
1861 The argument
1862 .I arg
1863 is part of a filename in `@TMAC_MDIR@/*.MT'.
1864 Memorandum types 0 to\~5 are supported,
1865 including type `string' (which gets internally mapped to type\~6).
1866 .I addressee
1867 just sets a variable, used in the AT&T macros.
1868 .
1869 .IP
1870 .B arg
1871 .
1872 .RS
1873 .IP
1874 .TS
1875 tab(@);
1876 l l.
1877 0@Normal memorandum, no type printed.
1878 1@Memorandum with `MEMORANDUM FOR FILE' printed.
1879 2@Memorandum with `PROGRAMMER'S NOTES' printed.
1880 3@Memorandum with `ENGINEER'S NOTES' printed.
1881 4@Released paper style.
1882 5@External letter style.
1883 .TE
1884 .RE
1885 .
1886 .IP
1887 See also
1888 .BR COVER / COVEND ,
1889 a more flexible type of front page.
1890 .
1891 .TP
1892 .BI MOVE\  "y-pos \fR[\fPx-pos \fR[\fPline-length\fR]]\fP"
1893 Move to a position, setting page offset to
1894 .IR x-pos .
1895 If
1896 .I line-length
1897 is not given, the difference between current and new page offset is used.
1898 Use
1899 .B PGFORM
1900 without arguments to return to normal.
1901 .
1902 .TP
1903 .BI MULB\  "cw1 space1 \fR[\fPcw2 space2 \fR[\fPcw3 \fR.\|.\|.]]\fP"
1904 Begin a special multi-column mode.
1905 All columns widths must be specified.
1906 The space between the columns must be specified also.
1907 The last column does not need any space definition.
1908 .B MULB
1909 starts a diversion,
1910 and
1911 .B MULE
1912 ends the diversion and prints the columns.
1913 The unit for the width and space arguments is `n',
1914 but
1915 .B MULB
1916 accepts all normal unit specifications like `c' and `i'.
1917 .B MULB
1918 operates in a separate environment.
1919 .
1920 .TP
1921 .B MULN
1922 Begin the next column.
1923 This is the only way to switch the column.
1924 .
1925 .TP
1926 .B MULE
1927 End the multi-column mode and print the columns.
1928 .
1929 .TP
1930 .BI nP\  \fR[\fPtype\fR]\fP
1931 Print numbered paragraph with header level two.
1932 See
1933 .BR .P .
1934 .
1935 .TP
1936 .B NCOL
1937 Force printing to the next column.
1938 Don't use this together with the
1939 .B MUL*
1940 macros, see
1941 .BR 2C .
1942 .
1943 .TP
1944 .BI NS\  \fR[\fParg\  \fR[\fP1\fR]]\fP
1945 Print different types of notations.
1946 The argument selects between the predefined type of notations.
1947 If the second argument is available, 
1948 then the argument becomes the entire notation.
1949 If the argument doesn't select a predefined type,
1950 it is printed as `Copy (\fIarg\fP) to'.
1951 It is possible to add more standard notations,
1952 see the string variables
1953 .B Letns
1954 and
1955 .BR Letnsdef .
1956 .
1957 .RS
1958 .IP
1959 .TS
1960 tab(@);
1961 l l.
1962 \fBArg@Notation\fP
1963 \fInone\fP@Copy To
1964 \[dq]\[dq]@Copy To
1965 1@Copy To (with att.\&) to
1966 2@Copy To (without att.\&) to
1967 3@Att.
1968 4@Atts.
1969 5@Enc.
1970 6@Encs.
1971 7@Under separate cover
1972 8@Letter to
1973 9@Memorandum to
1974 10@Copy (with atts.\&) to
1975 11@Copy (without atts.\&) to
1976 12@Abstract Only to
1977 13@Complete Memorandum to
1978 14@CC
1979 .TE
1980 .RE
1981 .
1982 .TP
1983 .BI ND\  new-date
1984 New date.
1985 Overrides the current date.
1986 Date is not printed if
1987 .I new-date
1988 is an empty string.
1989 .
1990 .TP
1991 .BI OF\  \fR[\fParg\fR]\fP
1992 Odd-page footer, a line printed just above the normal footer.
1993 See
1994 .B EF
1995 and
1996 .BR PF .
1997 .
1998 .IP
1999 This macro defines string
2000 .BR EOPof .
2001 .
2002 .TP
2003 .BI OH\  \fR[\fParg\fR]\fP
2004 Odd-page header, a line printed just below the normal header.
2005 See
2006 .B EH
2007 and
2008 .BR PH .
2009 .
2010 .IP
2011 This macro defines string
2012 .BR TPoh .
2013 .
2014 .TP
2015 .B OP
2016 Make sure that the following text is printed at the top
2017 of an odd-numbered page.
2018 Does not output an empty page if currently at the top of an odd page.
2019 .
2020 .TP
2021 .BI P\  \fR[\fPtype\fR]\fP
2022 Begin new paragraph.
2023 .B P\c
2024 \~without argument produces left-justified text,
2025 even the first line of the paragraph.
2026 This is the same as setting
2027 .I type
2028 to\~0.
2029 If the argument is\~1,
2030 the first line of text following\~\c
2031 .B P
2032 is indented by the number of spaces in number register
2033 .BR Pi ,
2034 by default\~5.
2035 .
2036 .IP
2037 Instead of giving an argument to\~\c
2038 .B P
2039 it is possible to set the paragraph type in number register
2040 .BR Pt .
2041 Using 0 and\~1 is the same as adding that value to
2042 .BR P .
2043 A value of\~2 indents all paragraphs,
2044 except after headings, lists, and displays
2045 (this value can't be used as an argument to
2046 .B P
2047 itself).
2048 .
2049 .IP
2050 The space between two paragraphs is controlled by number register
2051 .BR Ps ,
2052 and is\~1 by default (one blank line).
2053 .
2054 .TP
2055 .BI PGFORM\  "\fR[\fPlinelength \fR[\fPpagelength \fR[\fPpageoffset\ " \fR[\fP1\fR]]]]\fP
2056 Set line length, page length, and/or page offset.
2057 This macro can be used for special formatting,
2058 like letter heads and other.
2059 It is normally the first command in a file,
2060 though it is not necessary.
2061 .B PGFORM
2062 can be used without arguments to reset everything after a
2063 .B MOVE
2064 call.
2065 A line break is done unless the fourth argument is given.
2066 This can be used to avoid the page number on the first page
2067 while setting new width and length.
2068 (It seems as if this macro sometimes doesn't work too well.
2069 Use the command line arguments to change
2070 line length, page length, and page offset instead.)
2071 .
2072 .TP
2073 .B PGNH
2074 No header is printed on the next page.
2075 Used to get rid of the header in letters or other special texts.
2076 This macro must be used before any text to inhibit the page header
2077 on the first page.
2078 .
2079 .TP
2080 .BI "PIC \fR[\fP\-L\fR] [\fP\-C\fR] [\fP\-R\fR] [\fP\-I\ " "n\fR]\fP filename \fR[\fPwidth \fR[\fPheight\fR]]\fP"
2081 Include a PostScript file in the document.
2082 The macro depends on
2083 .BR mmroff (@MAN1EXT@)
2084 and
2085 .BR INITR .
2086 The arguments
2087 .BR \-L ,
2088 .BR \-C ,
2089 .BR \-R ,
2090 and
2091 .BI \-I\  n
2092 adjust the picture or indent it.
2093 The optional
2094 .I width
2095 and
2096 .I height
2097 can also be given to resize the picture.
2098 .
2099 .TP
2100 .B PE
2101 Picture end.
2102 Ends a picture for
2103 .BR @g@pic (@MAN1EXT).
2104 .
2105 .TP
2106 .BI PF\  \fR[\fParg\fR]\fP
2107 Page footer.
2108 .B PF
2109 sets the line to be printed at the bottom of each page.
2110 Empty by default.
2111 See
2112 .B PH
2113 for the argument specification.
2114 .
2115 .IP
2116 This macro defines string
2117 .BR EOPf .
2118 .
2119 .TP
2120 .BI PH\  \fR[\fParg\fR]\fP
2121 Page header,
2122 a line printed at the top of each page.
2123 The argument should be specified as
2124 .
2125 .RS
2126 .IP
2127 .RI \[dq]' left-part ' center-part ' right-part '\[dq]
2128 .RE
2129 .
2130 .IP
2131 where
2132 .IR left-part ,
2133 .IR center-part,
2134 and
2135 .I right-part
2136 are printed left-justified, centered, and right justified, respectively.
2137 Within the argument to
2138 .BR PH ,
2139 the character `%' is changed to the current page number.
2140 The default argument is
2141 .
2142 .RS
2143 .IP
2144 \[dq]''- % -''\[dq]
2145 .RE
2146 .
2147 .IP
2148 which gives the page number between two dashes.
2149 .
2150 .IP
2151 This macro defines string
2152 .BR TPh .
2153 .
2154 .TP
2155 .B PS
2156 Picture start (from pic).
2157 Begins a picture for
2158 .BR @g@pic (@MAN1EXT@).
2159 .
2160 .TP
2161 .B PX
2162 Page header user-defined exit.
2163 This macro is called just after the printing of the page header in
2164 .I no-space
2165 mode.
2166 .
2167 .TP
2168 .B R
2169 Roman.
2170 Return to roman font, see also\~\c
2171 .BR I .
2172 .
2173 .TP
2174 .BI RB\  "\fR[\fProman-text \fR[\fPbold-text \fR[\fProman-text \fR[.\|.\|.]]]]\fP"
2175 Roman-bold.
2176 Even arguments are printed in roman,
2177 odd in boldface.
2178 See\~\c
2179 .BR I .
2180 .
2181 .TP
2182 .BI RD\  "\fR[\fPprompt \fR[\fPdiversion \fR[\fPstring\fR]]]\fP"
2183 Read from standard input to diversion and/or string.
2184 The text is saved in a diversion named
2185 .IR diversion .
2186 Recall the text by writing the name of the diversion after a dot
2187 on an empty line.
2188 A string is also defined if
2189 .I string
2190 is given.
2191 .I Diversion
2192 and/or
2193 .I prompt
2194 can be empty (\[dq]\[dq]).
2195 .
2196 .TP
2197 .B RF
2198 Reference end.
2199 Ends a reference definition and returns to normal processing.
2200 See
2201 .BR RS .
2202 .
2203 .TP
2204 .BI RI\  "\fR[\fProman-text \fR[\fPitalic-text \fR[\fProman-text \fR[.\|.\|.]]]]\fP"
2205 Print even arguments in roman, odd in italic.
2206 See\~\c
2207 .BR I .
2208 .
2209 .TP
2210 .BI RL\  \fR[\fPtext-indent \fR[\fP1\fR]]\fP
2211 Reference list start.
2212 Begins a list where each item is preceded with an automatically
2213 incremented number between square brackets.
2214 .I text-indent
2215 changes the default indentation.
2216 .
2217 .TP
2218 .BI RP\  "\fR[\fParg1 \fR[\fParg2\fR]]\fP"
2219 Produce reference page.
2220 This macro can be used if a reference page is wanted somewhere in the
2221 document.
2222 It is not needed if
2223 .B TC
2224 is used to produce a table of contents.
2225 The reference page is then printed automatically.
2226 .
2227 .IP
2228 The reference counter is not reset if
2229 .I arg1
2230 is\~1.
2231 .
2232 .IP
2233 .I arg2
2234 tells
2235 .B RP
2236 whether to eject a page or not.
2237 .
2238 .IP
2239 .B arg2
2240 .
2241 .RS
2242 .IP
2243 .TS
2244 tab(@);
2245 l lx.
2246 0@T{
2247 The reference page is printed on a separate page.
2248 This is the default.
2249 T}
2250 1@Do not eject page after the list.
2251 2@Do not eject page before the list.
2252 3@Do not eject page before and after the list.
2253 .TE
2254 .RE
2255 .
2256 .IP
2257 The reference items are separated by a blank line.
2258 Setting number register
2259 .B Ls
2260 to\~0 suppresses the line.
2261 .
2262 .IP
2263 The string
2264 .B Rp
2265 contains the reference page title and is set to `REFERENCES' by default.
2266 .
2267 .TP
2268 .BI RS\  \fR[\fPstring-name\fR]\fP
2269 Begin an automatically numbered reference definition.
2270 Put the string
2271 .B \[rs]*(Rf
2272 where the reference mark should be and write the reference between
2273 .BR RS / RF
2274 at next new line after the reference mark.
2275 The reference number is stored in number register
2276 .BR :R .
2277 If
2278 .I string-name
2279 is given,
2280 a string with that name is defined and contains the current reference mark.
2281 The string can be referenced as
2282 .BI \[rs]*[ string-name ]
2283 later in the text.
2284 .
2285 .TP
2286 .BI S\  "\fR[\fPsize \fR[\fPspacing\fR]]\fP"
2287 Set point size and vertical spacing.
2288 If any argument is equal to `P',
2289 the previous value is used.
2290 A `C' means current value,
2291 and `D' the default value.
2292 If `+' or `\-' is used before the value,
2293 the current value is incremented or decremented, respectively.
2294 .
2295 .TP
2296 .BI SA\  \fR[\fParg\fR]\fP
2297 Set right-margin justification.
2298 Justification is turned on by default.
2299 No argument or value `0' turns off justification,
2300 and `1' turns on justification.
2301 .
2302 .TP
2303 .BI SETR\  "refname \fR[\fPstring\fR]\fP"
2304 Remember the current header and page number as
2305 .IR refname .
2306 Saves
2307 .I string
2308 if
2309 .I string
2310 is defined.
2311 .I string
2312 is retrieved with
2313 .BR .GETST .
2314 See
2315 .BR INITR .
2316 .
2317 .TP
2318 .BI SG\  \fR[\fParg\  \fR[\fP1\fR]]\fP
2319 Signature line.
2320 Prints the authors name(s) after the formal closing.
2321 The argument is appended to the reference data,
2322 printed at either the first or last author.
2323 The reference data is the location,
2324 department, and initials specified with
2325 .BR .AU .
2326 It is printed at the first author if the second argument is given,
2327 otherwise at the last.
2328 No reference data is printed if the author(s) is specified through
2329 .BR .WA / .WE .
2330 See section
2331 .BR INTERNALS .
2332 .
2333 .TP
2334 .BI SK\  \fR[\fPpages\fR]\fP
2335 Skip pages.
2336 If
2337 .I pages
2338 is\~0 or omitted,
2339 a skip to the next page occurs unless it is already at the top of a page.
2340 Otherwise it skips
2341 .I pages
2342 pages.
2343 .
2344 .TP
2345 .BI SM\  "string1 \fR[\fPstring2 \fR[\fPstring3\fR]]\fP"
2346 Make a string smaller.
2347 If
2348 .I string2
2349 is given,
2350 .I string1
2351 is made smaller and
2352 .I string2
2353 stays at normal size,
2354 concatenated with
2355 .IR string1 .
2356 With three arguments,
2357 everything is concatenated,
2358 but only
2359 .I string2
2360 is made smaller.
2361 .
2362 .TP
2363 .BI SP\  \fR[\fPlines\fR]\fP
2364 Space vertically.
2365 .I lines
2366 can have any scaling factor,
2367 like `3i' or `8v'.
2368 Several
2369 .B SP
2370 calls in a line only produces the maximum number of lines, not the sum.
2371 .B SP
2372 is ignored also until the first text line in a page.
2373 Add 
2374 .B \[rs]&
2375 before a call to
2376 .B SP
2377 to avoid this.
2378 .
2379 .TP
2380 .B TAB
2381 Reset tabs to every\ 5n.
2382 Normally used to reset any previous tab positions.
2383 .
2384 .TP
2385 .BI TB\  "\fR[\fPtitle \fR[\fPoverride \fR[\fPflag \fR[\fPrefname\fR]]]]\fP"
2386 Table title.
2387 The arguments are the same as for
2388 .BR EC .
2389 .B TB
2390 uses the number register
2391 .B Tb
2392 as a counter.
2393 The string
2394 .B Lt
2395 controls the title of the List of Tables;
2396 default value is `LIST OF TABLES'.
2397 The List of Tables is only printed if number register
2398 .B Lt
2399 is\~1, which is the default.
2400 The string
2401 .B Litb
2402 contains the word `TABLE',
2403 which is printed before the number.
2404 .
2405 .IP
2406 Special handling of the title occurs if
2407 .B TB
2408 is used inside
2409 .BR DS / DE ,
2410 it is not affected by the format of
2411 .BR DS .
2412 .
2413 .TP
2414 .BI TC\  "\fR[\fPslevel \fR[\fPspacing \fR[\fPtlevel \fR[\fPtab \fR[\fPh1 \fR[\fPh2 \fR[\fPh3 \fR[\fPh4 \fR[\fPh5\fR]]]]]]]]]\fP"
2415 Table of contents.
2416 This macro is normally used as the last line of the document.
2417 It generates a table of contents with headings up to the level
2418 controlled by number register
2419 .BR Cl .
2420 Note that
2421 .B Cl
2422 controls the saving of headings,
2423 it has nothing to do with
2424 .BR TC .
2425 Headings with a level less than or equal to
2426 .I slevel
2427 get
2428 .I spacing
2429 number of lines before them.
2430 Headings with a level less than or equal to
2431 .I tlevel
2432 have their page numbers right-justified with dots or spaces separating
2433 the text and the page number.
2434 Spaces are used if
2435 .I tab
2436 is greater than zero,
2437 dots otherwise.
2438 Other headings have the page number directly at the end
2439 of the heading text
2440 .RI ( ragged-right ).
2441 .
2442 .IP
2443 The rest of the arguments is printed, centered, before the
2444 table of contents.
2445 .
2446 .IP
2447 The user-defined macros
2448 .B TX
2449 and
2450 .B TY
2451 are used if
2452 .B TC
2453 is called with at most four arguments.
2454 .B TX
2455 is called before the printing of the string `CONTENTS',
2456 and
2457 .B TY
2458 is called instead of printing `CONTENTS'.
2459 .
2460 .IP
2461 Equivalent macros can be defined for list of figures, tables, equations
2462 and exhibits by defining
2463 .BI TX xx
2464 or
2465 .BI TY xx\fR,\fP
2466 where
2467 .I xx
2468 is `Fg', `TB', `EC', or `EX', respectively.
2469 .
2470 .IP
2471 String
2472 .B Ci
2473 can be set to control the indentations for each heading-level.
2474 It must be scaled, like
2475 .
2476 .RS
2477 .IP
2478 \&.ds Ci .25i .5i .75i 1i 1i
2479 .RE
2480 .
2481 .IP
2482 By default,
2483 the indentation is controlled by the maximum length of headings in each
2484 level.
2485 .
2486 .IP
2487 The string variables 
2488 .BR Lifg ,
2489 .BR Litb ,
2490 .BR Liex ,
2491 .BR Liec ,
2492 and
2493 .B Licon
2494 contain `Figure', `TABLE', `Exhibit', `Equation',
2495 and `CONTENTS', respectively.
2496 These can be redefined to other languages.
2497 .
2498 .TP
2499 .B TE
2500 Table end.
2501 See
2502 .BR TS .
2503 .
2504 .TP
2505 .B TH \fR[\fPN\fR]\fP
2506 Table header.
2507 See
2508 .BR TS .
2509 .B TH
2510 ends the header of the table.
2511 This header is printed again if a page break occurs.
2512 Argument `N' isn't implemented yet.
2513 .
2514 .TP
2515 .BI TL\  "\fR[\fPcharging-case-number \fR[\fPfiling-case-number\fR]]\fP"
2516 Begin title of memorandum.
2517 All text up to the next
2518 .B AU
2519 is included in the title.
2520 .I charging-case-number
2521 and
2522 .I filing-case-number
2523 are saved for use in the front page processing.
2524 .
2525 .TP
2526 .BI TM\  "\fR[\fPnum1 \fR[\fPnum2 \fR[.\|.\|.]]]\fP"
2527 Technical memorandum numbers used in
2528 .BR .MT .
2529 An unlimited number of arguments may be given.
2530 .
2531 .TP
2532 .B TP
2533 Top-of-page user-defined macro.
2534 This macro is called instead of the normal page header.
2535 It is possible to get complete control over the header.
2536 Note that the header and the footer are printed in a separate environment.
2537 Line length is preserved, though.
2538 See
2539 .BR EOP .
2540 .
2541 .IP
2542 .B strings available to TP
2543 .RS
2544 .TS
2545 tab(@);
2546 l l.
2547 TPh@argument of \fBPH\fP
2548 TPeh@argument of \fBEH\fP
2549 TPoh@argument of \fBOH\fP
2550 .TE
2551 .RE
2552 .
2553 .TP
2554 .B TS \fR[\fPH\fR]\fP
2555 Table start.
2556 This is the start of a table specification to
2557 .BR @g@tbl (@MAN1EXT@).
2558 .B TS
2559 ends with
2560 .BR TE .
2561 Argument `H' tells
2562 .B m@TMAC_M_PREFIX@m
2563 that the table has a header.
2564 See
2565 .BR TH .
2566 .
2567 .TP
2568 .B TX
2569 User-defined table of contents exit.
2570 This macro is called just before
2571 .B TC
2572 prints the word `CONTENTS'.
2573 See
2574 .BR TC .
2575 .
2576 .TP
2577 .B TY
2578 User-defined table of contents exit.
2579 This macro is called instead of printing `CONTENTS'.
2580 See
2581 .BR TC .
2582 .
2583 .TP
2584 .BI VERBON\  "\fR[\fPflag \fR[\fPpoint-size \fR[\fPfont\fR]]]\fP"
2585 Begin verbatim output using Courier font.
2586 Usually for printing programs.
2587 All characters have equal width.
2588 The point size can be changed with the second argument.
2589 By specifying a third argument it is possible to use another
2590 font instead of Courier.
2591 .I flag
2592 controls several special features.
2593 Its value is the sum of all wanted features.
2594 .
2595 .RS
2596 .IP
2597 .TS
2598 tab(@);
2599 lb lb
2600 l lx.
2601 Arg@Description
2602 1@T{
2603 Disable the escape character (\[rs]).
2604 This is normally turned on during verbose output.
2605 T}
2606 2@Add an empty line before the verbose text.
2607 4@Add an empty line after the verbose text.
2608 8@T{
2609 Print the verbose text with numbered lines.
2610 This adds four digit-sized spaces in the beginning of each line.
2611 Finer control is available with the string variable
2612 .BR Verbnm .
2613 It contains all arguments to the
2614 .BR troff (@MAN1EXT@)
2615 command
2616 .BR .nm ,
2617 normally `1'.
2618 T}
2619 16@T{
2620 Indent the verbose text by `5n'.
2621 This is controlled by the number-variable
2622 .B Verbin
2623 (in units).
2624 T}
2625 .TE
2626 .RE
2627 .
2628 .TP
2629 .B VERBOFF
2630 End verbatim output.
2631 .
2632 .TP
2633 .BI VL\  "text-indent \fR[\fPmark-indent\ " \fR[\fP1\fR]]\fP
2634 Variable-item list.
2635 It has no fixed mark,
2636 it assumes that every
2637 .B LI
2638 has a mark instead.
2639 .I text-indent
2640 sets the indent to the text,
2641 and
2642 .I mark-indent
2643 the distance from the current indentation to the mark.
2644 A third argument prohibits printing of a blank line before each item.
2645 .
2646 .TP
2647 .BI "VM \fR[\fP\-T\fR] [\fP" "top \fR[\fPbottom\fR]]\fP"
2648 Vertical margin.
2649 Adds extra vertical top and margin space.
2650 Option
2651 .B \-T
2652 sets the total space instead.
2653 If no argument is given, reset the margin to zero,
2654 or the default (`7v 5v') if
2655 .B \-T
2656 has been used.
2657 It is higly recommended that macros
2658 .B TP
2659 and/or
2660 .B EOP
2661 are defined if using
2662 .B \-T
2663 and setting top and/or bottom margin to less than the default.
2664 .
2665 .TP
2666 .BI WA\  "\fR[\fPwriter-name \fR[\fPtitle\fR]]\fP"
2667 Begin specification of the writer and writer's address.
2668 Several names can be specified with empty
2669 .BR WA / WE
2670 pairs,
2671 but only one address.
2672 .
2673 .TP
2674 .B WE
2675 End the address specification after
2676 .BR .WA .
2677 .
2678 .TP
2679 .BI WC\  "\fR[\fPformat1\fR] [\fPformat2\fR] [.\|.\|.]\fP"
2680 Footnote and display width control.
2681 .
2682 .RS
2683 .TS
2684 tab(@);
2685 l lx.
2686 N@T{
2687 Set default mode which is equal to using the options
2688 .BR \-WF ,
2689 .BR \-FF ,
2690 .BR \-WD ,
2691 and
2692 .BR FB .
2693 T}
2694 WF@T{
2695 Wide footnotes, wide also in two-column mode.
2696 T}
2697 -WF@Normal footnote width, follow column mode.
2698 FF@T{
2699 All footnotes gets the same width as the first footnote encountered.
2700 T}
2701 -FF@T{
2702 Normal footnotes, width follows \fBWF\fP and \fB-WF\fP.
2703 T}
2704 WD@T{
2705 Wide displays, wide also in two-column mode.
2706 T}
2707 -WD@T{
2708 Normal display width, follow column mode.
2709 T}
2710 FB@T{
2711 Floating displays generates a line break when printed on the current
2712 page.
2713 T}
2714 -FB@T{
2715 Floating displays does not generate line break.
2716 T}
2717 .TE
2718 .RE
2719 .
2720 .
2721 .SS "Strings used in m@TMAC_M_PREFIX@m"
2722 .
2723 .TP
2724 .B App
2725 A string containing the word `APPENDIX'.
2726 .
2727 .TP
2728 .B Apptxt
2729 The current appendix text.
2730 .
2731 .TP
2732 .B EM
2733 Em dash string
2734 .
2735 .TP
2736 .B H1txt
2737 Updated by
2738 .B .H
2739 and
2740 .B .HU
2741 to the current heading text.
2742 Also updated in table of contents & friends.
2743 .
2744 .TP
2745 .B HF
2746 Font list for headings, `2 2 2 2 2 2 2' by default.
2747 Non-numeric font names may also be used.
2748 .
2749 .TP
2750 .B HP
2751 Point size list for headings.
2752 By default, this is `0 0 0 0 0 0 0' which is the same as
2753 `10 10 10 10 10 10 10'.
2754 .
2755 .TP
2756 .B Index
2757 Contains the string `INDEX'.
2758 .
2759 .TP
2760 .B Indcmd
2761 Contains the index command.
2762 Default value is `sort\ \-t\[rs]t'.
2763 .
2764 .TP
2765 .B Lifg
2766 String containing `Figure'.
2767 .
2768 .TP
2769 .B Litb
2770 String containing `TABLE'.
2771 .
2772 .TP
2773 .B Liex
2774 String containing `Exhibit'.
2775 .
2776 .TP
2777 .B Liec
2778 String containing `Equation'.
2779 .
2780 .TP
2781 .B Licon
2782 String containing `CONTENTS'.
2783 .
2784 .TP
2785 .B Lf
2786 Contains the string `LIST OF FIGURES'.
2787 .
2788 .TP
2789 .B Lt
2790 Contains the string `LIST OF TABLES'.
2791 .
2792 .TP
2793 .B Lx
2794 Contains the string `LIST OF EXHIBITS'.
2795 .
2796 .TP
2797 .B Le
2798 Contains the string `LIST OF EQUATIONS'.
2799 .
2800 .TP
2801 .B Letfc
2802 Contains the string `Yours very truly,',
2803 used in
2804 .BR .FC .
2805 .
2806 .TP
2807 .B Letapp
2808 Contains the string `APPROVED:',
2809 used in
2810 .BR .AV .
2811 .
2812 .TP
2813 .B Letdate
2814 Contains the string `Date',
2815 used in
2816 .BR .AV .
2817 .
2818 .TP
2819 .B LetCN
2820 Contains the string `CONFIDENTIAL',
2821 used in
2822 .BR ".LO CN" .
2823 .
2824 .TP
2825 .B LetSA
2826 Contains the string `To Whom It May Concern:',
2827 used in
2828 .BR ".LO SA" .
2829 .
2830 .TP
2831 .B LetAT
2832 Contains the string `ATTENTION:',
2833 used in
2834 .BR ".LO AT" .
2835 .
2836 .TP
2837 .B LetSJ
2838 Contains the string `SUBJECT:',
2839 used in
2840 .BR ".LO SJ" .
2841 .
2842 .TP
2843 .B LetRN
2844 Contains the string `In reference to:',
2845 used in
2846 .BR ".LO RN" .
2847 .
2848 .TP
2849 .B Letns
2850 is an array containing the different strings used in
2851 .BR .NS .
2852 It is really a number of string variables prefixed with
2853 .BR Letns! .
2854 If the argument doesn't exist,
2855 it is included between
2856 .B ()
2857 with
2858 .B Letns!copy
2859 as a prefix and
2860 .B Letns!to
2861 as a suffix.
2862 Observe the space after `Copy' and before `to'.
2863 .
2864 .RS
2865 .IP
2866 .TS
2867 tab(@);
2868 lb lb
2869 l l.
2870 Name@Value
2871 Letns!0@Copy to
2872 Letns!1@Copy (with att.\&) to
2873 Letns!2@Copy (without att.\&) to
2874 Letns!3@Att.
2875 Letns!4@Atts.
2876 Letns!5@Enc.
2877 Letns!6@Encs.
2878 Letns!7@Under separate cover
2879 Letns!8@Letter to
2880 Letns!9@Memorandum to
2881 Letns!10@Copy (with atts.\&) to
2882 Letns!11@Copy (without atts.\&) to
2883 Letns!12@Abstract Only to
2884 Letns!13@Complete Memorandum to
2885 Letns!14@CC
2886 Letns!copy@Copy \[rs]"
2887 Letns!to@" to
2888 .TE
2889 .RE
2890 .
2891 .TP
2892 .B Letnsdef
2893 Define the standard notation used when no argument is given to
2894 .BR .NS .
2895 Default is\~0.
2896 .
2897 .TP
2898 .B "MO1 - MO12"
2899 Strings containing the month names `January' through `December'.
2900 .
2901 .TP
2902 .B Qrf
2903 String containing `See chapter \[rs]\[rs]*[Qrfh], page \[rs]\[rs]n[Qrfp].'.
2904 .
2905 .TP
2906 .B Rp
2907 Contains the string `REFERENCES'.
2908 .
2909 .TP
2910 .B Tcst
2911 Contains the current status of the table of contents and list of figures,
2912 etc.
2913 Empty outside of
2914 .BR .TC .
2915 Useful in user-defined macros like
2916 .BR .TP .
2917 .
2918 .RS
2919 .IP
2920 .TS
2921 tab(@);
2922 lb lb
2923 l l.
2924 Value@Meaning
2925 co@Table of contents
2926 fg@List of figures
2927 tb@List of tables
2928 ec@List of equations
2929 ex@List of exhibits
2930 ap@Appendix
2931 .TE
2932 .RE
2933 .
2934 .TP
2935 .B Tm
2936 Contains the string `\[rs](tm', the trade mark symbol.
2937 .
2938 .TP
2939 .B Verbnm
2940 Argument to
2941 .B .nm
2942 in the
2943 .B .VERBON
2944 command.
2945 Default is\~1.
2946 .
2947 .
2948 .SS "Number variables used in m@TMAC_M_PREFIX@m"
2949 .
2950 .TP
2951 .B Aph
2952 Print an appendix page for every new appendix  if this number variable
2953 is non-zero.
2954 No output occurs if
2955 .B Aph
2956 is zero, but there is always an appendix entry in the `List of contents'.
2957 .
2958 .TP
2959 .B Cl
2960 Contents level (in the range 0 to 14).
2961 The contents is saved if a heading level is lower than or equal to the
2962 value of
2963 .BR Cl .
2964 Default is\~2.
2965 .
2966 .TP
2967 .B Cp
2968 Eject page between list of table, list of figure, etc., if the value of
2969 .B Cp
2970 is zero.
2971 Default is\~0.
2972 .
2973 .TP
2974 .B D
2975 Debug flag.
2976 Values greater than zero produce debug information of increasing verbosity.
2977 A value of\~1 gives information about the progress of formatting.
2978 Default is\~0.
2979 .
2980 .TP
2981 .B De
2982 If set to\~1, eject after floating display is output.
2983 Default is\~0.
2984 .
2985 .TP
2986 .B Dsp
2987 If defined, it controls the space output before and after static displays.
2988 Otherwise the value of
2989 .B Lsp
2990 is used.
2991 .
2992 .TP
2993 .B Df
2994 Control floating keep output.
2995 This is a number in the range 0 to 5, with a default value of\~5.
2996 See
2997 .BR .DF .
2998 .
2999 .TP
3000 .B Ds
3001 If set to\~1, use the amount of space stored in register
3002 .B Lsp
3003 before and after display.
3004 Default is\~1.
3005 .
3006 .TP
3007 .B Ej
3008 If set to\~1, eject page before each first-level heading.
3009 Default is\~0.
3010 .
3011 .TP
3012 .B Eq
3013 Equation labels are left-adjusted if set to\~0
3014 and right-adjusted if set to\~1.
3015 Default is\~0.
3016 .
3017 .TP
3018 .B Fs
3019 Footnote spacing.
3020 Default is\~1.
3021 .
3022 .TP
3023 .B "H1 - H7"
3024 Heading counters
3025 .
3026 .TP
3027 .B H1dot
3028 Append a dot after the level-one heading number if value is greater than
3029 zero.
3030 Default is\~1.
3031 .
3032 .TP
3033 .B H1h
3034 A copy of number register
3035 .BR H1 ,
3036 but it is incremented just before the page break.
3037 Useful in user-defined header macros.
3038 .
3039 .TP
3040 .B Hb
3041 Heading break level.
3042 A number in the range 0 to 14,
3043 with a default value of\~2.
3044 See\~\c
3045 .BR .H .
3046 .
3047 .TP
3048 .B Hc
3049 Heading centering level.
3050 A number in the range 0 to 14,
3051 with a default value value of\~0.
3052 See\~\c
3053 .BR .H .
3054 .
3055 .TP
3056 .B Hi
3057 Heading temporary indent.
3058 A number in the range 0 to 2,
3059 with a default value of\~1.
3060 .
3061 .RS
3062 .IP
3063 .TS
3064 tab(@);
3065 l lx.
3066 0@no indentation, left margin
3067 1@T{
3068 indent to the right, similar to
3069 .RB ` ".P 1" '
3070 T}
3071 2@T{
3072 indent to line up with text part of preceding heading
3073 T}
3074 .TE
3075 .RE
3076 .
3077 .TP
3078 .B Hps
3079 Heading pre-space level.
3080 If the heading level is less than or equal to
3081 .BR Hps ,
3082 two lines precede the section heading instead of one.
3083 Default is first level only.
3084 The real amount of lines is controlled by the variables
3085 .B Hps1
3086 and
3087 .BR Hps2 .
3088 .
3089 .TP
3090 .B Hps1
3091 Number of lines preceding
3092 .B .H
3093 if the heading level is greater than
3094 .BR Hps .
3095 Value is in units, default is 0.5.
3096 .
3097 .TP
3098 .B Hps2
3099 Number of lines preceding
3100 .B .H
3101 if the heading level is less than or equal to
3102 .BR Hps .
3103 Value is in units, default is\~1.
3104 .
3105 .TP
3106 .B Hs
3107 Heading space level.
3108 A number in the range 0 to 14,
3109 with a default value of\~2.
3110 See\~\c
3111 .BR .H .
3112 .
3113 .TP
3114 .B Hss
3115 Number of lines following
3116 .B .H
3117 if the heading level is less than or equal to
3118 .BR Hs .
3119 Value is in units, default is\~1.
3120 .
3121 .TP
3122 .B Ht
3123 Heading numbering type.
3124 .
3125 .RS
3126 .IP
3127 .TS
3128 tab(@);
3129 l l.
3130 0@multiple levels (1.1.1, 1.1.2, etc.)
3131 1@single level
3132 .TE
3133 .RE
3134 .IP
3135 Default is\~0.
3136 .
3137 .TP
3138 .B Hu
3139 Unnumbered heading level.
3140 Default is\~2.
3141 .
3142 .TP
3143 .B Hy
3144 Hyphenation status of text body.
3145 .
3146 .RS
3147 .IP
3148 .TS
3149 tab(@);
3150 l l.
3151 0@no hyphenation
3152 1@hyphenation on, set to value\~14
3153 .TE
3154 .RE
3155 .
3156 .IP
3157 Default is\~0.
3158 .
3159 .TP
3160 .B Iso
3161 Set this variable to\~1 on the command line to get an
3162 ISO-formatted date string (\fB\-rIso=1\fP).
3163 Useless inside of a document.
3164 .
3165 .TP
3166 .B L
3167 Page length, only for command line settings.
3168 .
3169 .TP
3170 .B Letwam
3171 Maximum lines in return-address, used in
3172 .BR .WA / .WE .
3173 Default is\~14.
3174 .
3175 .TP
3176 .BR Lf ,\  Lt ,\  Lx ,\  Le
3177 Enable (1) or disable (0) the printing of List of figures,
3178 List of tables, List of exhibits and List of equations, respectively.
3179 Default values are Lf=1, Lt=1, Lx=1, and Le=0.
3180 .
3181 .TP
3182 .B Li
3183 List indentation, used by
3184 .BR .AL .
3185 Default is\~6.
3186 .
3187 .TP
3188 .B Limsp
3189 A flag controlling the insertion of space between prefix and mark in
3190 automatic lists
3191 .RB ( .AL ).
3192 .
3193 .RS
3194 .IP
3195 .TS
3196 tab(@);
3197 l l.
3198 0@no space
3199 1@emit space
3200 .TE
3201 .RE
3202 .
3203 .TP
3204 .B Ls
3205 List space threshold.
3206 If current list level is greater than
3207 .B Ls
3208 no spacing occurs around lists.
3209 Default is\~99.
3210 .
3211 .TP
3212 .B Lsp
3213 The vertical space used by an empty line.
3214 The default is 0.5v in troff mode and 1v in nroff mode.
3215 .
3216 .TP
3217 .B N
3218 Page numbering style.
3219 .
3220 .RS
3221 .IP
3222 .TS
3223 tab(@);
3224 l lx.
3225 0@normal header for all pages.
3226 1@T{
3227 header replaces footer on first page, header is empty.
3228 T}
3229 2@page header is removed on the first page.
3230 3@`section-page' numbering style enabled.
3231 4@page header is removed on the first page.
3232 5@T{
3233 `section-page' and `section-figure' numbering style enabled.
3234 T}
3235 .TE
3236 .RE
3237 .
3238 .IP
3239 Default is\~0.
3240 See also the number registers
3241 .B Sectf
3242 and
3243 .BR Sectp .
3244 .
3245 .TP
3246 .B Np
3247 A flag to control whether paragraphs are numbered.
3248 .
3249 .RS
3250 .IP
3251 .TS
3252 tab(@);
3253 l l.
3254 0@not numbered
3255 1@numbered in first-level headings.
3256 .TE
3257 .RE
3258 .
3259 .IP
3260 Default is\~0.
3261 .
3262 .TP
3263 .B O
3264 Page offset, only for command line settings.
3265 .
3266 .TP
3267 .B Of
3268 Format of figure, table, exhibit, and equation titles.
3269 .
3270 .RS
3271 .IP
3272 .TS
3273 tab(@);
3274 l l.
3275 0@\[dq]. \[dq]
3276 1@\[dq] - \[dq]
3277 .TE
3278 .RE
3279 .
3280 .IP
3281 Default is\~0.
3282 .
3283 .TP
3284 .B P
3285 Current page-number, normally the same as `%' unless
3286 `section-page' numbering style is enabled.
3287 .
3288 .TP
3289 .B Pi
3290 Paragraph indentation.
3291 Default is\~5.
3292 .
3293 .TP
3294 .B Pgps
3295 A flag to control whether header and footer point size should follow
3296 the current settings or just change when the header and footer are defined.
3297 .
3298 .RS
3299 .IP
3300 .TS
3301 tab(@);
3302 l lx.
3303 0@T{
3304 Point size only changes to the current setting when
3305 .BR .PH ,
3306 .BR .PF ,
3307 .BR .OH ,
3308 .BR .EH ,
3309 .BR .OF ,
3310 or
3311 .B .OE
3312 is executed.
3313 T}
3314 1@T{
3315 Point size changes after every
3316 .BR .S .
3317 This is the default.
3318 T}
3319 .TE
3320 .RE
3321 .
3322 .TP
3323 .B Ps
3324 Paragraph spacing.
3325 Default is\~1.
3326 .
3327 .TP
3328 .B Pt
3329 Paragraph type.
3330 .
3331 .RS
3332 .IP
3333 .TS
3334 tab(@);
3335 l lx.
3336 0@left-justified
3337 1@indented paragraphs
3338 2@T{
3339 indented paragraphs except after
3340 .BR .H ,
3341 .BR .DE ,
3342 or
3343 .BR .LE .
3344 T}
3345 .TE
3346 .RE
3347 .
3348 .IP
3349 Default is\~0.
3350 .
3351 .TP
3352 .B Sectf
3353 A flag controlling `section-figures' numbering style.
3354 A non-zero value enables this.
3355 See also register\~\c
3356 .BR N .
3357 .
3358 .TP
3359 .B Sectp
3360 A flag controlling `section-page' numbering style.
3361 A non-zero value enables this.
3362 See also register\~\c
3363 .BR N .
3364 .
3365 .TP
3366 .B Si
3367 Display indentation.
3368 Default is\~5.
3369 .
3370 .TP
3371 .B Verbin
3372 Indentation for
3373 .BR .VERBON .
3374 Default is 5n.
3375 .
3376 .TP
3377 .B W
3378 Line length, only for command line settings.
3379 .
3380 .TP
3381 .B .mgm
3382 Always\~1.
3383 .
3384 .
3385 .SH INTERNALS
3386 .
3387 The letter macros are using different submacros depending on
3388 the letter type.
3389 The name of the submacro has the letter type
3390 as suffix.
3391 It is therefore possible to define other letter types,
3392 either in the national macro-file, or as local additions.
3393 .B .LT
3394 sets the number variables
3395 .B Pt
3396 and
3397 .B Pi
3398 to 0 and\~5, respectively.
3399 The following strings and macros must be defined for a new letter type.
3400 .
3401 .TP
3402 .BI let@init_ type
3403 This macro is called directly by
3404 .BR .LT .
3405 It is supposed to initialize variables and other stuff.
3406 .
3407 .TP
3408 .BI let@head_ type
3409 This macro prints the letter head,
3410 and is called instead of the normal page header.
3411 It is supposed to remove the alias
3412 .BR let@header ,
3413 otherwise it is called for all pages.
3414 .
3415 .TP
3416 .BI let@sg_ "type name title n flag \fR[\fParg1 \fR[\fParg2 \fR[.\|.\|.]]]\fP"
3417 .B .SG
3418 is calling this macro only for letters;
3419 memorandums have its own processing.
3420 .I name
3421 and
3422 .I title
3423 are specified through
3424 .BR .WA / .WB .
3425 .I n\c
3426 \~is the counter, 1-max,
3427 and
3428 .I flag
3429 is true for the last name.
3430 Any other argument to
3431 .B .SG
3432 is appended.
3433 .
3434 .TP
3435 .BI let@fc_ "type closing"
3436 This macro is called by
3437 .BR .FC ,
3438 and has the formal closing as the argument.
3439 .
3440 .LP
3441 .B .LO
3442 is implemented as a general option-macro.
3443 It demands that a string named
3444 .BI Let type
3445 is defined, where
3446 .I type
3447 is the letter type.
3448 .B .LO
3449 then assigns the argument to the string variable
3450 .BI let*lo- type\fR.\fP
3451 .
3452 .
3453 .\".SH BUGS
3454 .
3455 .
3456 .SH AUTHOR
3457 .
3458 Jörgen Hägg, Lund, Sweden <jh@axis.se>.
3459 .
3460 .
3461 .SH FILES
3462 .
3463 .TP
3464 .B @MACRODIR@/@TMAC_M_PREFIX@m.tmac
3465 .TP
3466 .B @TMAC_MDIR@/*.cov
3467 .TP
3468 .B @TMAC_MDIR@/*.MT
3469 .TP
3470 .B @TMAC_MDIR@/locale
3471 .
3472 .
3473 .SH "SEE ALSO"
3474 .
3475 .BR groff (@MAN1EXT@),
3476 .BR @g@troff (@MAN1EXT@),
3477 .BR @g@tbl (@MAN1EXT@),
3478 .BR @g@pic (@MAN1EXT@),
3479 .BR @g@eqn (@MAN1EXT@)
3480 .br
3481 .BR groff_mmse (@MAN7EXT@)
3482 .
3483 .\" Local Variables:
3484 .\" mode: nroff
3485 .\" coding: latin-1
3486 .\" End: