Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / groff / doc / meref.me
1 .\" Copyright (c) 1986 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms are permitted
5 .\" provided that the above copyright notice and this paragraph are
6 .\" duplicated in all such forms and that any documentation,
7 .\" advertising materials, and other materials related to such
8 .\" distribution and use acknowledge that the software was developed
9 .\" by the University of California, Berkeley.  The name of the
10 .\" University may not be used to endorse or promote products derived
11 .\" from this software without specific prior written permission.
12 .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
13 .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
14 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
15 .\"
16 .\"     @(#)ref.me      6.4 (Berkeley) 7/17/89
17 .\"
18 .\" Modified by jjc@jclark.com for groff.
19 .\"UC 7
20 .ll 6.5i
21 .lt 6.5i
22 .\"pn 0
23 .ds MO @VERSION@
24 .de TL                  \" *** title line
25 .lp
26 .di XX
27 ..
28 .ie \n(.g \{\
29 .de DE
30 \?\h'|\\n(DIu'\c\?
31 ..
32 .\}
33 .el \{\
34 .de DE
35 \\\\h'|\\\\n(DIu'\\\\c
36 ..
37 .\}
38 .am DE
39 .br
40 .di
41 .in +\\n(DIu
42 .ti 0
43 .cu 1000
44 .XX
45 .rm XX
46 .cu 0
47 ..
48 .ds G \s-1GROFF\s0
49 .ds N \s-1NROFF\s0
50 .ds T \s-1TROFF\s0
51 .nr DI 1.5i
52 .he '\-ME REFERENCE MANUAL''%'
53 .de NR
54 .b "\en\\$1" "\\$2"
55 ..
56 .de ST
57 .b "\e*\\$1" "\\$2"
58 ..
59 .\"sc
60 .\"eh 'USD:23-%''\-me Reference Manual'
61 .\"oh '\-me Reference Manual''USD:23-%'
62 .+c
63 .ce 20
64 .sz 14
65 .b "\-ME REFERENCE MANUAL"
66 .sz
67 .sp
68 .i "\*G Version \*(MO\(dg"
69 .(f
70 \(dgBased on Berkeley Release 2.31.
71 .)f
72 .sp 2
73 .ul
74 Eric P. Allman*
75 .(f
76 *Author's current address:
77 Britton Lee, Inc.,
78 1919 Addison Suite 105,
79 Berkeley, California 94704.
80 .)f
81 .sp
82 Project INGRES
83 Electronics Research Laboratory
84 University of California, Berkeley
85 Berkeley, California  94720
86 .sp 2
87 .i "Modified for \*G by James Clark"
88 .ce 0
89 .sp 4
90 .pp
91 This document describes
92 in extremely terse form
93 the features
94 of the
95 .b \-me
96 macro package
97 for \*G.
98 Some familiarity is assumed
99 with
100 \*G.
101 Specifically,
102 the reader should understand
103 breaks,
104 fonts,
105 pointsizes,
106 the use and definition of number registers
107 and strings,
108 how to define macros,
109 and scaling factors for ens, points,
110 .b v 's
111 (vertical line spaces),
112 etc.
113 .pp
114 For a more casual introduction
115 to text processing
116 using \*G,
117 refer to the document
118 .ul
119 Writing Papers with \*G using \-me.
120 .pp
121 There are a number of macro parameters
122 that may be adjusted.
123 Fonts may be set to a font number only.
124 Font 0 is no font change;
125 the font of the surrounding text
126 is used instead.
127 Notice that font 0 is a
128 .q pseudo-font ;
129 that is,
130 it is simulated by the macros.
131 This means that although it is legal to set a font register
132 to zero,
133 it is not legal to use the escape character form,
134 such as:
135 .(b
136 \ef0
137 .)b
138 .pp
139 All distances
140 are in basic units,
141 so it is nearly always necessary
142 to use a scaling factor.
143 For example,
144 the request
145 to set the paragraph indent
146 to eight one-en spaces is:
147 .(b
148 \&.nr pi 8n
149 .)b
150 and not
151 .(b
152 \&.nr pi 8
153 .)b
154 which would set the paragraph indent to eight basic units,
155 or about 0.02 inch.
156 Default parameter values are given in brackets
157 in the remainder of this document.
158 .pp
159 Registers and strings
160 of the form
161 .b $ \c
162 .i x
163 may be used in expressions
164 but should not be changed.
165 Macros of the form
166 .b $ \c
167 .i x
168 perform some function
169 (as described)
170 and may be redefined
171 to change this function.
172 This may be a sensitive operation;
173 look at the body of the original macro
174 before changing it.
175 .pp
176 All names in \-me
177 follow a rigid naming convention.
178 The user may define number registers,
179 strings,
180 and macros,
181 provided that s/he
182 uses single character upper case names
183 or double character names
184 consisting of letters and digits,
185 with at least one upper case letter.
186 In no case should special characters
187 be used in user-defined names.
188 Locally defined macros
189 should all be of the form
190 .b .* \c
191 .i X ,
192 where
193 .i X
194 is any letter
195 (upper or lower case)
196 or digit.
197 .pp
198 This documentation was \*G'ed
199 on \*(td
200 and applies to \*G version
201 \*(MO
202 of the \-me macros.
203 .sh 1 "Paragraphing"
204 .pp
205 These macros are used
206 to begin paragraphs.
207 The standard paragraph macro
208 is
209 .b .pp ;
210 the others are all variants
211 to be used for special purposes.
212 .pp
213 After the first call to one of the paragraphing macros
214 defined in this section
215 or the
216 .b .sh
217 macro
218 (defined in the next session),
219 the effects of changing parameters
220 which will have a global effect
221 on the format of the page
222 (notably page length and header and footer margins)
223 are not well defined
224 and should be avoided.
225 .TL
226 .b .lp
227 .DE
228 Begin left-justified paragraph.
229 Centering and underlining
230 are turned off if they were on,
231 the font is set to
232 .NR (pf
233 [1]
234 the type size
235 is set to
236 .NR (pp
237 [10p],
238 and a
239 .NR (ps
240 space is inserted
241 before the paragraph
242 [0.35v]
243 The indent is reset
244 to
245 .NR ($i
246 [0]
247 plus
248 .NR (po
249 [0]
250 unless the paragraph
251 is inside a display.
252 (see
253 .b .ba ).
254 At least
255 the first two lines
256 of the paragraph
257 are kept together
258 on a page.
259 .TL
260 .b .pp
261 .DE
262 Like
263 .b .lp ,
264 except that it puts
265 .NR (pi
266 [5n]
267 units of indent.
268 This is the standard paragraph macro.
269 .TL
270 .b .ip
271 .i T
272 .i I
273 .DE
274 Indented paragraph
275 with hanging tag.
276 The body of the following paragraph
277 is indented
278 .i I
279 spaces
280 (or
281 .NR (ii
282 [5n]
283 spaces
284 if
285 .i I
286 is not specified)
287 more than a non-indented paragraph
288 (such as with
289 .b .pp )
290 is.
291 The title
292 .i T
293 is exdented (opposite of indented).
294 The result is a paragraph
295 with an even left edge
296 and
297 .i T
298 printed in the margin.
299 Any spaces in
300 .i T
301 must be unpaddable.
302 If
303 .i T
304 will not fit in the space provided,
305 .b .ip
306 will start a new line.
307 .TL
308 .b .np
309 .DE
310 A variant of .ip which numbers paragraphs.
311 Numbering is reset
312 after a
313 .b .lp ,
314 .b .pp ,
315 or
316 .b .sh .
317 The current paragraph number
318 is in
319 .NR ($p .
320 .TL
321 .b .bu
322 .DE
323 Like
324 .b .np
325 except that paragraphs are marked with bullets (\(bu).
326 Leading space is eliminated to create compact lists.
327 .sh 1 "Section Headings"
328 .pp
329 Numbered sections
330 are similar to paragraphs
331 except that a
332 section number
333 is automatically
334 generated for each one.
335 The section numbers are of the form
336 .b 1.2.3 .
337 The
338 .i depth
339 of the section
340 is the count of numbers
341 (separated by decimal points)
342 in the section number.
343 .pp
344 Unnumbered section headings are similar,
345 except that no number is attached
346 to the heading.
347 .TL
348 .b .sh
349 .i +N
350 .i T
351 .i "a b c d e f"
352 .DE
353 Begin numbered section
354 of depth
355 .i N .
356 If
357 .i N
358 is missing
359 the current depth
360 (maintained in
361 the number register
362 .NR ($0 )
363 is used.
364 The values of
365 the individual parts of the section number
366 are maintained in
367 .NR ($1
368 through
369 .NR ($6 .
370 There is a
371 .NR (ss
372 [1v]
373 space before the section.
374 .i T
375 is printed
376 as a section title
377 in font
378 .NR (sf
379 [8]
380 and size
381 .NR (sp
382 [10p].
383 The
384 .q name
385 of the section may be accessed via
386 .ST ($n .
387 If
388 .NR (si
389 is non-zero,
390 the base indent
391 is set to
392 .NR (si
393 times the section depth,
394 and the section title
395 is exdented.
396 (See
397 .b .ba .)
398 Also,
399 an additional indent of
400 .NR (so
401 [0]
402 is added to the section title
403 (but not to the body of the section).
404 The font is then set
405 to the paragraph font,
406 so that more information may occur
407 on the line
408 with the section number
409 and title.
410 .b .sh
411 insures that there is enough room
412 to print the section head
413 plus the beginning of a paragraph
414 (about 3 lines total).
415 If
416 .i a
417 through
418 .i f
419 are specified,
420 the section number is set to that number
421 rather than incremented automatically.
422 If any of
423 .i a
424 through
425 .i f
426 are a hyphen
427 that number is not reset.
428 If
429 .i T
430 is a single underscore
431 (\c
432 .q _ )
433 then the section depth and numbering is reset,
434 but the base indent is not reset
435 and nothing is printed out.
436 This is useful to automatically
437 coordinate section numbers with
438 chapter numbers.
439 .TL
440 .b .sx
441 .i +N
442 .DE
443 Go to section depth
444 .i N
445 [\c
446 .b \-1 ],
447 but do not print the number
448 and title,
449 and do not increment the section number
450 at level
451 .i N .
452 This has the effect
453 of starting a new paragraph
454 at level
455 .i N .
456 .TL
457 .b .uh
458 .i T
459 .DE
460 Unnumbered section heading.
461 The title
462 .i T
463 is printed
464 with the same rules for spacing,
465 font, etc.,
466 as for
467 .b .sh .
468 .TL
469 .b .$p
470 .i T
471 .i B
472 .i N
473 .DE
474 Print section heading.
475 May be redefined
476 to get fancier headings.
477 .i T
478 is the title passed on the
479 .b .sh
480 or
481 .b .uh
482 line;
483 .i B
484 is the section number for this section,
485 and
486 .i N
487 is the depth of this section.
488 These parameters are not always present;
489 in particular,
490 .b .sh
491 passes all three,
492 .b .uh
493 passes only the first,
494 and
495 .b .sx
496 passes three,
497 but the first two
498 are null strings.
499 Care should be taken if this macro
500 is redefined;
501 it is quite complex and subtle.
502 .TL
503 .b .$0
504 .i T
505 .i B
506 .i N
507 .DE
508 This macro is called automatically
509 after every call to
510 .b .$p .
511 It is normally undefined,
512 but may be used
513 to automatically put
514 every section title
515 into the table of contents
516 or for some similar function.
517 .i T
518 is the section title
519 for the section title which was just printed,
520 .i B
521 is the section number,
522 and
523 .i N
524 is the section depth.
525 .TL
526 .b .$1
527 \-
528 .b .$6
529 .DE
530 Traps called just before printing that depth section.
531 May be defined to
532 (for example)
533 give variable spacing
534 before sections.
535 These macros are called from
536 .b .$p ,
537 so if you redefine that macro
538 you may lose this feature.
539 .sh 1 "Headers and Footers"
540 .ds TP \fI\(aal\|\(aam\^\(aar\^\(aa\fP
541 .pp
542 Headers and footers
543 are put at the top and bottom
544 of every page
545 automatically.
546 They are set in font
547 .NR (tf
548 [3]
549 and size
550 .NR (tp
551 [10p].
552 Each of the definitions
553 apply as of the
554 .i next
555 page.
556 Three-part titles
557 must be quoted
558 if there are two blanks adjacent
559 anywhere in the title
560 or more than eight blanks total.
561 .pp
562 The spacing
563 of headers and footers
564 are controlled by three number registers.
565 .NR (hm
566 [4v]
567 is the distance from the top of the page
568 to the top of the header,
569 .NR (fm
570 [3v]
571 is the distance from the bottom of the page
572 to the bottom of the footer,
573 .NR (tm
574 [7v]
575 is the distance from the top of the page
576 to the top of the text,
577 and
578 .NR (bm
579 [6v]
580 is the distance from the bottom of the page
581 to the bottom of the text
582 (nominal).
583 The macros
584 .b .m1 ,
585 .b .m2 ,
586 .b .m3 ,
587 and
588 .b .m4
589 are also supplied for compatibility
590 with
591 \s-1ROFF\s0 documents.
592 .TL
593 .b .he
594 \*(TP
595 .DE
596 Define three-part header,
597 to be printed on the top
598 of every page.
599 .TL
600 .b .fo
601 \*(TP
602 .DE
603 Define footer,
604 to be printed at the bottom
605 of every page.
606 .TL
607 .b .eh
608 \*(TP
609 .DE
610 Define header,
611 to be printed at the top of every
612 even-numbered page.
613 .TL
614 .b .oh
615 \*(TP
616 .DE
617 Define header,
618 to be printed at the top of every
619 odd-numbered page.
620 .TL
621 .b .ef
622 \*(TP
623 .DE
624 Define footer,
625 to be printed at the bottom
626 of every even-numbered page.
627 .TL
628 .b .of
629 \*(TP
630 .DE
631 Define footer,
632 to be printed at the bottom
633 of every odd-numbered page.
634 .TL
635 .b .hx
636 .DE
637 Suppress headers and footers
638 on the next page.
639 .TL
640 .b .m1
641 .i +N
642 .DE
643 Set the space between the top of the page
644 and the header
645 [4v].
646 .TL
647 .b .m2
648 .i +N
649 .DE
650 Set the space between the header
651 and the first line of text
652 [2v].
653 .TL
654 .b .m3
655 .i +N
656 .DE
657 Set the space
658 between the bottom of the text
659 and the footer
660 [2v].
661 .TL
662 .b .m4
663 .i +N
664 .DE
665 Set the space
666 between the footer
667 and the bottom of the page
668 [4v].
669 .TL
670 .b .ep
671 .DE
672 End this page,
673 but do not begin the next page.
674 Useful for forcing out footnotes,
675 but other than
676 that hardly every used.
677 Must be followed by a
678 .b .bp
679 or the end of input.
680 .TL
681 .b .$h
682 .DE
683 Called at every page
684 to print the header.
685 May be redefined
686 to provide fancy
687 (e.g.,
688 multi-line)
689 headers,
690 but doing so
691 loses the function of the
692 .b .he ,
693 .b .fo ,
694 .b .eh ,
695 .b .oh ,
696 .b .ef ,
697 and
698 .b .of
699 requests,
700 as well as the chapter-style title feature
701 of
702 .b .+c .
703 .TL
704 .b .$f
705 .DE
706 Print footer;
707 same comments apply
708 as in
709 .b .$h .
710 .TL
711 .b .$H
712 .DE
713 A normally undefined macro
714 which is called
715 at the top of each page
716 (after putting out
717 the header,
718 initial saved floating keeps,
719 etc.);
720 in other words,
721 this macro is called immediately before
722 printing text
723 on a page.
724 It can be used for column headings
725 and the like.
726 .sh 1 "Displays"
727 .pp
728 All displays except centered blocks
729 and block quotes
730 are preceded and followed
731 by an extra
732 .NR (bs
733 [same as
734 .NR (ps ]
735 space.
736 Quote spacing is stored in a separate register;
737 centered blocks have no default initial or trailing space.
738 The vertical spacing of all displays except quotes
739 and centered blocks
740 is stored in register
741 .NR ($V
742 instead of
743 .NR ($v .
744 .TL
745 .b .(l
746 .i m
747 .i f
748 .DE
749 Begin list.
750 Lists are single spaced,
751 unfilled text.
752 If
753 .i f
754 is
755 .b F ,
756 the list will be filled.
757 If
758 .i m
759 [\c
760 .b I ]
761 is
762 .b I
763 the list is indented by
764 .NR (bi
765 [4m];
766 if
767 .b M
768 the list is indented to the left margin;
769 if
770 .b L
771 the list is left justified with respect to the text
772 (different from
773 .b M
774 only if the base indent
775 (stored in
776 .NR ($i
777 and set with
778 .b .ba )
779 is not zero);
780 and if
781 .b C
782 the list is centered on a line-by-line basis.
783 The list is set in font
784 .NR (df
785 [0].
786 Must be matched by a
787 .b .)l .
788 This macro is almost like
789 .b .(b
790 except that no attempt is made
791 to keep the display on one page.
792 .TL
793 .b .)l
794 .DE
795 End list.
796 .TL
797 .b .(q
798 .DE
799 Begin major quote.
800 These are single spaced,
801 filled,
802 moved in from the text
803 on both sides
804 by
805 .NR (qi
806 [4n],
807 preceded and followed
808 by
809 .NR (qs
810 [same as
811 .NR (bs ]
812 space,
813 and are set in point size
814 .NR (qp
815 [one point smaller than surrounding text].
816 .TL
817 .b .)q
818 .DE
819 End major quote.
820 .TL
821 .b .(b
822 .i m
823 .i f
824 .DE
825 Begin block.
826 Blocks are a form of
827 .i keep ,
828 where the text of a keep
829 is kept together on one page
830 if possible
831 (keeps are useful
832 for tables and figures
833 which should not be broken
834 over a page).
835 If the block will not fit
836 on the current page
837 a new page is begun,
838 .i unless
839 that would leave more than
840 .NR (bt
841 [0]
842 white space
843 at the bottom of the text.
844 If
845 .NR (bt
846 is zero, the threshold feature
847 is turned off.
848 Blocks are not filled
849 unless
850 .i f
851 is
852 .b F ,
853 when they are filled.
854 The block will be left-justified
855 if
856 .i m
857 is
858 .b L ,
859 indented by
860 .NR (bi
861 [4m]
862 if
863 .i m
864 is
865 .b I
866 or absent,
867 centered
868 (line-for-line)
869 if
870 .i m
871 is
872 .b C ,
873 and left justified to the margin
874 (not to the base indent)
875 if
876 .i m
877 is
878 .b M .
879 The block is set in font
880 .NR (df
881 [0].
882 .TL
883 .b .)b
884 .DE
885 End block.
886 .TL
887 .b .(z
888 .i m
889 .i f
890 .DE
891 Begin floating keep.
892 Like
893 .b .(b
894 except that the keep is
895 .i floated
896 to the bottom of the page
897 or the top of the next page.
898 Therefore,
899 its position relative to the text changes.
900 The floating keep is preceded and followed
901 by
902 .NR (zs
903 [1v]
904 space.
905 Also,
906 it defaults to mode
907 .b M .
908 .TL
909 .b .)z
910 .DE
911 End floating keep.
912 .TL
913 .b .(c
914 .DE
915 Begin centered block.
916 The next keep
917 is centered as a block,
918 rather than on a line-by-line basis
919 as with
920 .b ".(b C" .
921 This call may be nested
922 inside keeps.
923 .TL
924 .b .)c
925 .DE
926 End centered block.
927 .sh 1 Annotations
928 .TL
929 .b .(d
930 .DE
931 Begin delayed text.
932 Everything in the next keep
933 is saved for output
934 later with
935 .b .pd ,
936 in a manner
937 similar to footnotes.
938 .TL
939 .b .)d
940 .i n
941 .DE
942 End delayed text.
943 The delayed text number register
944 .NR ($d
945 and the associated string
946 .ST #
947 are incremented if
948 .ST #
949 has been referenced.
950 .TL
951 .b .pd
952 .DE
953 Print delayed text.
954 Everything diverted via
955 .b .(d
956 is printed and truncated.
957 This might be used
958 at the end of each chapter.
959 .TL
960 .b .(f
961 .DE
962 Begin footnote.
963 The text of the footnote
964 is floated to the bottom
965 of the page
966 and set in font
967 .NR (ff
968 [1]
969 and size
970 .NR (fp
971 [8p].
972 Each entry
973 is preceded by
974 .NR (fs
975 [0.2v]
976 space,
977 is indented
978 .NR (fi
979 [3n]
980 on the first line,
981 and is indented
982 .NR (fu
983 [0]
984 from the right margin.
985 Footnotes line up underneath
986 two column output.
987 If the text of the footnote
988 will not all fit on one page
989 it will be carried over
990 to the next page.
991 .TL
992 .b .)f
993 .i n
994 .DE
995 End footnote.
996 The number register
997 .NR ($f
998 and the associated string
999 .ST *
1000 are incremented
1001 if they have been referenced.
1002 .TL
1003 .b .$s
1004 .DE
1005 The macro to output the footnote separator.
1006 This macro may be redefined
1007 to give other size lines or other types
1008 of separators.
1009 Currently
1010 it draws a 1.5i line.
1011 .TL
1012 .b .(x
1013 .i x
1014 .DE
1015 Begin index entry.
1016 Index entries are saved in the index
1017 .i x
1018 [\c
1019 .b x ]
1020 until called up with
1021 .b .xp.
1022 Each entry is preceded
1023 by a
1024 .NR (xs
1025 [0.2v]
1026 space.
1027 Each entry is
1028 .q undented
1029 by
1030 .NR (xu
1031 [0.5i];
1032 this register tells how far the page number
1033 extends into the right margin.
1034 .TL
1035 .b .)x
1036 .i P
1037 .i A
1038 .DE
1039 End index entry.
1040 The index entry
1041 is finished with a row of dots
1042 with
1043 .i A
1044 [null]
1045 right justified on the last line
1046 (such as for an author's name),
1047 followed by P
1048 [\c
1049 .NR % ].
1050 If
1051 .i A
1052 is specified,
1053 .i P
1054 must be specified;
1055 .NR %
1056 can be used to print the current page number.
1057 If
1058 .i P
1059 is an underscore,
1060 no page number
1061 and no row of dots
1062 are printed.
1063 .TL
1064 .b .xp
1065 .i x
1066 .DE
1067 Print index
1068 .i x
1069 [\c
1070 .b x ].
1071 The index is formatted in the font, size, and so forth
1072 in effect at the time it is printed,
1073 rather than at the time it is collected.
1074 .sh 1 "Columned Output"
1075 .TL
1076 .b .2c
1077 .i +S
1078 .i N
1079 .DE
1080 Enter two-column mode.
1081 The column separation is set to
1082 .i +S
1083 [4n, 0.5i in ACM mode]
1084 (saved in
1085 .NR ($s ).
1086 The column width,
1087 calculated to fill the single column line length
1088 with both columns,
1089 is stored in
1090 .NR ($l .
1091 The current column
1092 is in
1093 .NR ($c .
1094 You can test register
1095 .NR ($m
1096 [1]
1097 to see if you are in single column
1098 or double column mode.
1099 Actually,
1100 the request enters
1101 .i N
1102 [2]
1103 column output.
1104 .TL
1105 .b .1c
1106 .DE
1107 Revert to single-column mode.
1108 .TL
1109 .b .bc
1110 .DE
1111 Begin column.
1112 This is like
1113 .b .bp
1114 except that it begins a new column
1115 on a new page
1116 only if necessary,
1117 rather than forcing a whole new page
1118 if there is another column left
1119 on the current page.
1120 .sh 1 "Fonts and Sizes"
1121 .TL
1122 .b .sz
1123 .i +P
1124 .DE
1125 The pointsize is set to
1126 .i P
1127 [10p],
1128 and the line spacing is set proportionally.
1129 The line spacing as a percentage of the pointsize expressed in units
1130 is stored in
1131 .NR ($v .
1132 The percentage used internally
1133 by displays and annotations
1134 is stored in
1135 .NR ($V
1136 (although this is not used by
1137 .b .sz ).
1138 This size is
1139 .i not
1140 sticky beyond many macros:
1141 in particular,
1142 .NR (pp
1143 (paragraph pointsize)
1144 modifies the pointsize every time a new paragraph is begun
1145 using the
1146 .b \&.pp ,
1147 .b \&.lp ,
1148 .b \&.ip ,
1149 .b \&.np ,
1150 or
1151 .b \&.bu
1152 macros.
1153 Also,
1154 .NR (fp
1155 (footnote pointsize),
1156 .NR (qp
1157 (quote pointsize),
1158 .NR (sp
1159 (section header pointsize),
1160 and
1161 .NR (tp
1162 (title pointsize)
1163 may modify the pointsize.
1164 .TL
1165 .b .r
1166 .i W
1167 .i X
1168 .DE
1169 Set
1170 .i W
1171 in roman font,
1172 appending
1173 .i X
1174 in the previous font.
1175 To append different font requests,
1176 use
1177 .i X
1178 =
1179 .b \ec .
1180 If no parameters,
1181 change to roman font.
1182 .TL
1183 .b .i
1184 .i W
1185 .i X
1186 .DE
1187 Set
1188 .i W
1189 in italics,
1190 appending
1191 .i X
1192 in the previous font.
1193 If no parameters,
1194 change to italic font.
1195 .TL
1196 .b .b
1197 .i W
1198 .i X
1199 .DE
1200 Set
1201 .i W
1202 in bold font
1203 and append
1204 .i X
1205 in the previous font.
1206 If no parameters,
1207 switch to bold font.
1208 .TL
1209 .b .u
1210 .i W
1211 .i X
1212 .DE
1213 Underline
1214 .i W
1215 and append
1216 .i X .
1217 This is a true underlining,
1218 as opposed to the
1219 .b .ul
1220 request,
1221 which changes to
1222 .q "underline font"
1223 (usually italics in \*G).
1224 It won't work right
1225 if
1226 .i W
1227 is spread or broken (including hyphenated).
1228 In other words,
1229 it is safe in nofill mode only.
1230 .TL
1231 .b .q
1232 .i W
1233 .i X
1234 .DE
1235 Quote
1236 .i W
1237 and append
1238 .i X .
1239 In \*G
1240 this surrounds
1241 .i W
1242 with
1243 .b \*(lq ,
1244 and
1245 .b \*(rq .
1246 .TL
1247 .b .bi
1248 .i W
1249 .i X
1250 .DE
1251 Set
1252 .i W
1253 in bold italics
1254 and append
1255 .i X .
1256 .TL
1257 .b .bx
1258 .i W
1259 .i X
1260 .DE
1261 Sets
1262 .i W
1263 in a box,
1264 with
1265 .i X
1266 appended.
1267 It won't work right
1268 if
1269 .i W
1270 is spread or broken (including hyphenated).
1271 In other words,
1272 it is safe in nofill mode only.
1273 .TL
1274 .b .sm
1275 .i W
1276 .i X
1277 .DE
1278 Sets
1279 .i W
1280 in a smaller pointsize,
1281 with
1282 .i X
1283 appended.
1284 .sh 1 "Roff Support"
1285 .TL
1286 .b .ix
1287 .i +N
1288 .DE
1289 Indent,
1290 no break.
1291 Equivalent to
1292 .b \(aain
1293 .i N .
1294 .TL
1295 .b .bl
1296 .i N
1297 .DE
1298 Leave
1299 .i N
1300 contiguous white space,
1301 on the next page if not enough room
1302 on this page.
1303 Equivalent to a
1304 .b .sp
1305 .i N
1306 inside a block.
1307 .TL
1308 .b .pa
1309 .i +N
1310 .DE
1311 Equivalent to
1312 .b .bp .
1313 .TL
1314 .b .ro
1315 .DE
1316 Set page number
1317 in roman numerals.
1318 Equivalent to
1319 .b ".af % i" .
1320 .TL
1321 .b .ar
1322 .DE
1323 Set page number in Arabic.
1324 Equivalent to
1325 .b ".af % 1" .
1326 .TL
1327 .b .n1
1328 .DE
1329 Number lines in margin from one
1330 on each page.
1331 .TL
1332 .b .n2
1333 .i N
1334 .DE
1335 Number lines from
1336 .i N ,
1337 stop if
1338 .i N
1339 = 0.
1340 .TL
1341 .b .sk
1342 .DE
1343 Leave the next output page blank,
1344 except for headers and footers.
1345 This is used to leave space
1346 for a full-page diagram
1347 which is produced externally
1348 and pasted in later.
1349 To get a partial-page paste-in display,
1350 say
1351 .b .sv \ \c
1352 .i N ,
1353 where
1354 .i N
1355 is the amount of space
1356 to leave;
1357 this space will be output immediately
1358 if there is room,
1359 and will otherwise be output
1360 at the top of the next page.
1361 However, be warned:
1362 if
1363 .i N
1364 is greater than the amount of available space
1365 on an empty page,
1366 no space will ever be output.
1367 .sh 1 "Preprocessor Support"
1368 .TL
1369 .b .EQ
1370 .i m
1371 .i T
1372 .DE
1373 Begin equation.
1374 The equation is centered
1375 if
1376 .i m
1377 is
1378 .b C
1379 or omitted,
1380 indented
1381 .NR (bi
1382 [4m]
1383 if
1384 .i m
1385 is
1386 .b I ,
1387 and left justified if
1388 .i m
1389 is
1390 .b L .
1391 .i T
1392 is a title printed on the right margin
1393 next to the equation.
1394 See
1395 .i "Typesetting Mathematics \- User's Guide"
1396 by Brian W. Kernighan
1397 and Lorinda L. Cherry.
1398 .TL
1399 .b .EN
1400 .i c
1401 .DE
1402 End equation.
1403 If
1404 .i c
1405 is
1406 .b C
1407 the equation must be continued
1408 by immediately following
1409 with another
1410 .b .EQ ,
1411 the text of which
1412 can be centered
1413 along with this one.
1414 Otherwise,
1415 the equation is printed,
1416 always on one page,
1417 with
1418 .NR (es
1419 [0.5v]
1420 space
1421 above and below it.
1422 .TL
1423 .b .TS
1424 .i h
1425 .DE
1426 Table start.
1427 Tables are single spaced
1428 and kept on one page
1429 if possible.
1430 If you have a large table
1431 which will not fit on one page,
1432 use
1433 .i h
1434 =
1435 .b H
1436 and follow the header part
1437 (to be printed on every page of the table)
1438 with a
1439 .b .TH .
1440 See
1441 .i "Tbl \- A Program to Format Tables"
1442 by M. E. Lesk.
1443 .TL
1444 .b .TH
1445 .DE
1446 With
1447 .b ".TS H" ,
1448 ends the header portion of the table.
1449 .TL
1450 .b .TE
1451 .DE
1452 Table end.
1453 Note that this table
1454 does not float,
1455 in fact,
1456 it is not even guaranteed to stay on one page
1457 if you use requests such as
1458 .b .sp
1459 intermixed with the text
1460 of the table.
1461 If you want it to float
1462 (or if you use requests
1463 inside the table),
1464 surround the entire table
1465 (including the
1466 .b .TS
1467 and
1468 .b .TE
1469 requests)
1470 with the requests
1471 .b .(z
1472 and
1473 .b .)z .
1474 .TL
1475 .b .PS
1476 .i h
1477 .i w
1478 .DE
1479 Begin
1480 .i pic
1481 picture.
1482 .i H
1483 is the height and
1484 .i w
1485 is the width,
1486 both in basic units.
1487 .TL
1488 .b .PE
1489 .DE
1490 End picture.
1491 .TL
1492 .b .IS
1493 .DE
1494 Begin
1495 .i ideal
1496 picture.
1497 .TL
1498 .b .IE
1499 .DE
1500 End
1501 .i ideal
1502 picture.
1503 .TL
1504 .b .IF
1505 .DE
1506 End
1507 .i ideal
1508 picture (alternate form).
1509 .TL
1510 .b .GS
1511 .i x
1512 .DE
1513 Begin
1514 .i gremlin
1515 picture.
1516 .i X
1517 can be either
1518 .b C ,
1519 .b L ,
1520 or
1521 .b R
1522 to center, left, or right justify the
1523 whole picture.
1524 Default is centering the image.
1525 .TL
1526 .b .GE
1527 .DE
1528 End
1529 .i gremlin
1530 picture.
1531 .TL
1532 .b .GF
1533 .DE
1534 End
1535 .i gremlin
1536 picture (alternate form).
1537 .sh 1 "Miscellaneous"
1538 .TL
1539 .b .re
1540 .DE
1541 Reset tabs every 0.5i.
1542 .TL
1543 .b .ba
1544 .i +N
1545 .DE
1546 Set the base indent
1547 to
1548 .i +N
1549 [0]
1550 (saved in
1551 .NR ($i ).
1552 All paragraphs,
1553 sections,
1554 and displays
1555 come out indented by this amount.
1556 Titles and footnotes
1557 are unaffected.
1558 The
1559 .b .sh
1560 request performs a
1561 .b .ba
1562 request
1563 if
1564 .NR (si
1565 [0] is not zero,
1566 and sets the base indent to
1567 .NR (si \c
1568 .b * \c
1569 .NR ($0 .
1570 .TL
1571 .b .xl
1572 .i +N
1573 .DE
1574 Set the line length to
1575 .i N
1576 [6.0i].
1577 This differs
1578 from
1579 .b .ll
1580 because it only affects the current environment.
1581 .TL
1582 .b .ll
1583 .i +N
1584 .DE
1585 Set line length in all environments
1586 to
1587 .i N
1588 [6.0i].
1589 This should not be used
1590 after output has begun,
1591 and particularly not in two-column output.
1592 The current line length is stored in
1593 .NR ($l .
1594 .TL
1595 .b .hl
1596 .DE
1597 Draws a horizontal line
1598 the length of the page.
1599 This is useful
1600 inside floating keeps
1601 to differentiate
1602 between the text
1603 and the figure.
1604 .sh 1 "Standard Papers"
1605 .TL
1606 .b .tp
1607 .DE
1608 Begin title page.
1609 Spacing at the top of the page
1610 can occur,
1611 and headers and footers are suppressed.
1612 Also,
1613 the page number
1614 is not incremented
1615 for this page.
1616 .TL
1617 .b .++
1618 .i m
1619 .i H
1620 .DE
1621 This request defines the section of the paper
1622 which we are entering.
1623 The section type is defined by
1624 .i m .
1625 .b C
1626 means that we are entering the chapter portion
1627 of the paper,
1628 .b A
1629 means that we are entering the appendix portion
1630 of the paper,
1631 .b P
1632 means that the material following
1633 should be the preliminary portion
1634 (abstract, table of contents, etc.)
1635 portion of the paper,
1636 .b AB
1637 means that we are entering the abstract
1638 (numbered independently from 1
1639 in Arabic numerals),
1640 and
1641 .b B
1642 means that we are entering the bibliographic
1643 portion at the end of the paper.
1644 Also, the variants
1645 .b RC
1646 and
1647 .b RA
1648 are allowed,
1649 which specify renumbering of pages
1650 from one at the beginning of each
1651 chapter or appendix,
1652 respectively.
1653 The
1654 .i H
1655 parameter defines the new header.
1656 If there are any spaces in it,
1657 the entire header must be quoted.
1658 If you want the header to have the chapter number
1659 in it,
1660 Use the string
1661 .b "\e\e\e\en(ch" .
1662 For example, to number appendixes
1663 .b A.1
1664 etc.,
1665 type
1666 .b ".++ RA \(aa\(aa\(aa\e\e\e\en(ch.%\(aa" .
1667 Each section
1668 (chapter, appendix, etc.)
1669 should be preceded by the
1670 .b .+c
1671 request.
1672 It should be mentioned
1673 that it is easier when using
1674 \*T to put the front material
1675 at the end of the paper,
1676 so that the table of contents
1677 can be collected and put out;
1678 this material can then be physically
1679 moved to the beginning of the paper.
1680 .TL
1681 .b .+c
1682 .i T
1683 .DE
1684 Begin chapter with title
1685 .i T .
1686 The chapter number
1687 is maintained in
1688 .NR (ch .
1689 This register is incremented
1690 every time
1691 .b .+c
1692 is called with a parameter.
1693 The title and chapter number
1694 are printed by
1695 .b .$c .
1696 The header is moved to the footer
1697 on the first page
1698 of each chapter.
1699 If
1700 .i T
1701 is omitted,
1702 .b .$c
1703 is not called;
1704 this is useful for doing your own
1705 .q "title page"
1706 at the beginning of papers
1707 without a title page proper.
1708 .b .$c
1709 calls
1710 .b .$C
1711 as a hook so that chapter titles can be inserted
1712 into a table of contents automatically.
1713 The footnote numbering is reset to one.
1714 .TL
1715 .b .$c
1716 .i T
1717 .DE
1718 Print chapter number
1719 (from
1720 .NR (ch )
1721 and
1722 .i T .
1723 This macro can be redefined to your liking.
1724 It is defined by default
1725 to be acceptable
1726 for a PhD thesis
1727 at Berkeley.
1728 This macro calls
1729 .b $C ,
1730 which can be defined to make index entries,
1731 or whatever.
1732 .TL
1733 .b .$C
1734 .i K
1735 .i N
1736 .i T
1737 .DE
1738 This macro is called by
1739 .b .$c .
1740 It is normally undefined,
1741 but can be used to automatically insert
1742 index entries,
1743 or whatever.
1744 .i K
1745 is a keyword,
1746 either
1747 .q Chapter
1748 or
1749 .q Appendix
1750 (depending on the
1751 .b .++
1752 mode);
1753 .i N
1754 is the chapter or appendix number,
1755 and
1756 .i T
1757 is the chapter or appendix title.
1758 .sh 1 "Predefined Strings"
1759 .TL
1760 .ST *
1761 .DE
1762 Footnote number, actually
1763 .ST [ \c
1764 .NR ($f \c
1765 .ST ] .
1766 This macro is incremented
1767 after each call to
1768 .b .)f .
1769 .TL
1770 .ST #
1771 .DE
1772 Delayed text number.
1773 Actually
1774 [\c
1775 .NR ($d ].
1776 .TL
1777 .ST {
1778 .DE
1779 Superscript.
1780 This string gives upward movement
1781 and a change to a smaller point size.
1782 Extra space is left above the line
1783 to allow room for the superscript.
1784 .TL
1785 .ST }
1786 .DE
1787 Unsuperscript.
1788 Inverse to
1789 .ST { .
1790 For example,
1791 to produce a superscript
1792 you might type
1793 .b x \c
1794 .ST { \c
1795 .b 2 \c
1796 .ST } ,
1797 which will produce
1798 .b x\*{2\*} .
1799 .TL
1800 .ST <
1801 .DE
1802 Subscript.
1803 Extra space is left below the line
1804 to allow for the subscript.
1805 .TL
1806 .ST >
1807 .DE
1808 Inverse to
1809 .ST < .
1810 .TL
1811 .ST (dw
1812 .DE
1813 The day of the week,
1814 as a word.
1815 .TL
1816 .ST (mo
1817 .DE
1818 The month,
1819 as a word.
1820 .TL
1821 .ST (td
1822 .DE
1823 Today's date,
1824 directly printable.
1825 The date is of the form \*(td.
1826 Other forms of the date can be used
1827 by using
1828 .NR (dy
1829 (the day of the month;
1830 for example, \n(dy),
1831 .ST (mo
1832 (as noted above)
1833 or
1834 .NR (mo
1835 (the same,
1836 but as an ordinal number;
1837 for example, \*(mo is \n(mo),
1838 .NR (y4
1839 (the current year),
1840 and
1841 .NR (y2
1842 (the last two digits of the current year).
1843 .TL
1844 .ST (lq
1845 .DE
1846 Left quote marks.
1847 .TL
1848 .ST (rq
1849 .DE
1850 Right quote.
1851 .TL
1852 .ST \-
1853 .DE
1854 .ie \w'\(34'>0 \(34
1855 .el 3/4
1856 em dash.
1857 .sh 1 "Special Characters and Marks"
1858 .pp
1859 There are a number of special characters
1860 and diacritical marks
1861 (such as accents)
1862 available through \-me.
1863 .ta 15 +5 +6
1864 .nf
1865 Name    Usage   Example
1866 Acute accent    \e*\(aa a\e*\(aa        a\*'
1867 Grave accent    \e*\(ga e\e*\(ga        e\*`
1868 Umlaut  \e*:    u\e*:   u\*:
1869 Tilde   \e*~    n\e*~   n\*~
1870 Caret   \e*^    e\e*^   e\*^
1871 Cedilla \e*,    c\e*,   c\*,
1872 Czech   \e*v    e\e*v   e\*v
1873 Circle  \e*o    A\e*o   A\*o
1874 There exists    \e*(qe          \*(qe
1875 For all \e*(qa          \*(qa
1876 .fi
1877 .sp 1i
1878 .b Acknowledgments
1879 .pp
1880 I would like to thank
1881 Bob Epstein,
1882 Bill Joy,
1883 and Larry Rowe
1884 for having the courage
1885 to use the \-me macros
1886 to produce non-trivial papers
1887 during the development stages;
1888 Ricki Blau,
1889 Pamela Humphrey,
1890 and Jim Joyce
1891 for their help with the documentation phase;
1892 peter kessler
1893 for numerous complaints,
1894 most accompanied by fixes;
1895 and the plethora of people who have contributed ideas
1896 and have given support for the project.
1897 .bp
1898 .b Summary
1899 .pp
1900 This alphabetical list summarizes all macros, strings, and number registers
1901 available in the \-me macros.
1902 Selected
1903 .i troff
1904 commands, registers, and functions are included as well;
1905 those listed can generally be used with impunity.
1906 .pp
1907 The columns are the name of the
1908 command, macro, register, or string;
1909 the type of the object,
1910 and the description.
1911 Types are
1912 .b M
1913 for macro or builtin command
1914 (invoked with
1915 .b \&.
1916 or
1917 .b \&\'
1918 in the first input column),
1919 .b S
1920 for a string
1921 (invoked with
1922 .b \e*
1923 or
1924 .b \e*( ),
1925 .b R
1926 for a number register
1927 (invoked with
1928 .b \en
1929 or
1930 .b \en( ),
1931 and
1932 .b F
1933 for a
1934 .i troff
1935 builtin function
1936 (invoked by preceding it with a single backslash).
1937 .pp
1938 Lines marked with \(sc are
1939 .i troff
1940 internal codes.
1941 Lines marked with \(dg or \(dd
1942 may be defined by the user to get special functions;
1943 \(dd indicates that these are defined by default
1944 and changing them may have unexpected side effects.
1945 Lines marked with \(de
1946 are specific to
1947 .i ditroff
1948 (device-independent
1949 .i troff ).
1950 .de $H
1951 .ev 1
1952 .ta \w'\e(space)\(sc\ 'u +\w'TYPE  'u
1953 NAME    TYPE    DESCRIPTION
1954 .ev
1955 ..
1956 .(l
1957 .$H
1958 \e(space)       F\(sc   unpaddable space
1959 \e"     F\(sc   comment (to end of line)
1960 \e*#    S       optional delayed text tag string
1961 \e$\fI\&N\fP    F\(sc   interpolate argument \fI\&N\fP
1962 \en($0  R       section depth
1963 \&.$0   M\(dg   invoked after section title printed
1964 \en($1  R       first section number
1965 \&.$1   M\(dg   invoked before printing depth 1 section
1966 \en($2  R       second section number
1967 \&.$2   M\(dg   invoked before printing depth 2 section
1968 \en($3  R       third section number
1969 \&.$3   M\(dg   invoked before printing depth 3 section
1970 \en($4  R       fourth section number
1971 \&.$4   M\(dg   invoked before printing depth 4 section
1972 \en($5  R       fifth section number
1973 \&.$5   M\(dg   invoked before printing depth 5 section
1974 \en($6  R       sixth section number
1975 \&.$6   M\(dg   invoked before printing depth 6 section
1976 \&.$C   M\(dg   called at beginning of chapter
1977 \&.$H   M\(dg   text header
1978 \en($V  R\(dd   relative vertical spacing in displays
1979 \en($c  R       current column number
1980 \&.$c   M\(dd   print chapter title
1981 \en($d  R       delayed text number
1982 \en($f  R       footnote number
1983 \&.$f   M\(dd   print footer
1984 \&.$h   M\(dd   print header
1985 \en($i  R       paragraph base indent
1986 \en($l  R       column width
1987 \en($m  R       number of columns in effect
1988 \e*($n  S       section name
1989 \en($p  R       numbered paragraph number
1990 \&.$p   M\(dd   print section heading (internal macro)
1991 \en($s  R       column indent
1992 \&.$s   M\(dd   footnote separator (from text)
1993 \en($v  R\(dd   relative vertical spacing in text
1994 \en%    R\(sc   current page number
1995 \e&     F\(sc   zero width character, useful for hiding controls
1996 \e(\fI\&xx\fP   F\(sc   interpolate special character \fI\&xx\fP
1997 \&.(b   M       begin block
1998 \&.(c   M       begin centered block
1999 \&.(d   M       begin delayed text
2000 \&.(f   M       begin footnote
2001 \&.(l   M       begin list
2002 \&.(q   M       begin quote
2003 \&.(x   M       begin index entry
2004 \&.(z   M       begin floating keep
2005 \&.)b   M       end block
2006 \&.)c   M       end centered block
2007 \&.)d   M       end delayed text
2008 \&.)f   M       end footnote
2009 \&.)l   M       end list
2010 \&.)q   M       end quote
2011 \&.)x   M       end index entry
2012 \&.)z   M       end floating keep
2013 \e*\fI\&x\fP    F\(sc   interpolate string \fI\&x\fP
2014 \e*(\fI\&xx\fP  F\(sc   interpolate string \fI\&xx\fP
2015 \e**    S       optional footnote tag string
2016 \&.++   M       set paper section type
2017 \&.+c   M       begin chapter
2018 \e*,    S       cedilla
2019 \e\-    F\(sc   minus sign
2020 \e*\-   S       3/4 em dash
2021 \e0     F\(sc   unpaddable digit-width space
2022 \&.1c   M       revert to single column output
2023 \&.2c   M       begin two column output
2024 \e*:    S       umlaut
2025 \e*<    S       begin subscript
2026 \e*>    S       end subscript
2027 \&.EN   M       end equation
2028 \&.EQ   M       begin equation
2029 \eL\'\fI\&d\fP\'        F\(sc   vertical line drawing function for distance \fI\&d\fP
2030 \&.GE   M\(de   end \fIgremlin\fP picture
2031 \&.GF   M\(de   end \fIgremlin\fP picture (with flyback)
2032 \&.GS   M\(de   start \fIgremlin\fP picture
2033 \&.IE   M\(de   end \fIideal\fP picture
2034 \&.IF   M\(de   end \fIideal\fP picture (with flyback)
2035 \&.IS   M\(de   start \fIideal\fP picture
2036 \&.PE   M\(de   end \fIpic\fP picture
2037 \&.PF   M\(de   end \fIpic\fP picture (with flyback)
2038 \&.PS   M\(de   start \fIpic\fP picture
2039 \&.TE   M       end table
2040 \&.TH   M       end header of table
2041 \&.TS   M       begin table
2042 \e*{    S       begin superscript
2043 \en(\&.$        R\(sc   number of arguments to macro
2044 \en(\&.i        R\(sc   current indent
2045 \en(\&.l        R\(sc   current line length
2046 \en(\&.s        R\(sc   current point size
2047 \e*(\&\'        S       acute accent
2048 \e*(\&\`        S       grave accent
2049 \e(\'   F\(sc   acute accent
2050 \e(\`   F\(sc   grave accent
2051 \e*}    S       end superscript
2052 \e^     F\(sc   1/12 em narrow space
2053 \e*^    S       caret
2054 \&.ad   M\(sc   set text adjustment
2055 \&.af   M\(sc   assign format to register
2056 \&.am   M\(sc   append to macro
2057 \&.ar   M       set page numbers in Arabic
2058 \&.as   M\(sc   append to string
2059 \&.b    M       bold font
2060 \&.ba   M       set base indent
2061 \&.bc   M       begin new column
2062 \&.bi   M       bold italic
2063 \en(bi  R       display (block) indent
2064 \&.bl   M       blank lines (even at top of page)
2065 \en(bm  R       bottom title margin
2066 \&.bp   M\(sc   begin page
2067 \&.br   M\(sc   break (start new line)
2068 \en(bs  R       display (block) pre/post spacing
2069 \en(bt  R       block keep threshold
2070 \&.bx   M       boxed
2071 \ec     F\(sc   continue input
2072 \&.ce   M\(sc   center lines
2073 \en(ch  R       current chapter number
2074 \&.de   M\(sc   define macro
2075 \en(df  R       display font
2076 \&.ds   M\(sc   define string
2077 \en(dw  R\(sc   current day of week
2078 \e*(dw  S       current day of week
2079 \en(dy  R\(sc   day of month
2080 \ee     F\(sc   printable version of \e
2081 \&.ef   M       set footer (even numbered pages only)
2082 \&.eh   M       set header (even numbered pages only)
2083 \&.el   M\(sc   else part of conditional
2084 \&.ep   M       end page
2085 \en(es  R       equation pre/post space
2086 \ef\fI\&f\fP    F\(sc   inline font change to font \fI\&f\fP
2087 \ef(\fI\&ff\fP  F\(sc   inline font change to font \fI\&ff\fP
2088 \&.fc   M\(sc   set field characters
2089 \en(ff  R       footnote font
2090 \&.fi   M\(sc   fill output lines
2091 \en(fi  R       footnote indent (first line only)
2092 \en(fm  R       footer margin
2093 \&.fo   M       set footer
2094 \en(fp  R       footnote pointsize
2095 \en(fs  R       footnote prespace
2096 \en(fu  R       footnote undent (from right margin)
2097 \eh\'\fI\&d\fP\'        F\(sc   local horizontal motion for distance \fI\&d\fP
2098 \&.hc   M\(sc   set hyphenation character
2099 \&.he   M       set header
2100 \&.hl   M       draw horizontal line
2101 \en(hm  R       header margin
2102 \&.hx   M       suppress headers and footers on next page
2103 \&.hy   M\(sc   set hyphenation mode
2104 \&.i    M       italic font
2105 \&.ie   M\(sc   conditional with else
2106 \&.if   M\(sc   conditional
2107 \en(ii  R       indented paragraph indent
2108 \&.in   M\(sc   indent (transient, use .ba for pervasive)
2109 \&.ip   M       begin indented paragraph
2110 \&.ix   M       indent, no break
2111 \el\'\fI\&d\fP\'        F\(sc   horizontal line drawing function for distance \fI\&d\fP
2112 \&.lc   M\(sc   set leader repetition character
2113 \&.ll   M       set line length
2114 \&.lp   M       begin left justified paragraph
2115 \e*(lq  S       left quote marks
2116 \&.ls   M\(sc   set multi-line spacing
2117 \&.m1   M       set space from top of page to header
2118 \&.m2   M       set space from header to text
2119 \&.m3   M       set space from text to footer
2120 \&.m4   M       set space from footer to bottom of page
2121 \&.mc   M\(sc   insert margin character
2122 \&.mk   M\(sc   mark vertical position
2123 \en(mo  R\(sc   month of year
2124 \e*(mo  S       current month
2125 \en\fI\&x\fP    F\(sc   interpolate number register \fI\&x\fP
2126 \en(\fI\&xx\fP  F\(sc   interpolate number register \fI\&xx\fP
2127 \&.n1   M       number lines in margin
2128 \&.n2   M       number lines in margin
2129 \&.na   M\(sc   turn off text adjustment
2130 \&.ne   M\(sc   need vertical space
2131 \&.nf   M\(sc   don't fill output lines
2132 \&.nh   M\(sc   turn off hyphenation
2133 \&.np   M       begin numbered paragraph
2134 \&.nr   M\(sc   set number register
2135 \&.ns   M\(sc   no space mode
2136 \e*o    S       circle (e.g., for Norse A\*o)
2137 \&.of   M       set footer (odd numbered pages only)
2138 \&.oh   M       set header (odd numbered pages only)
2139 \&.pa   M       begin page
2140 \&.pd   M       print delayed text
2141 \en(pf  R       paragraph font
2142 \en(pi  R       paragraph indent
2143 \&.pl   M\(sc   set page length
2144 \&.pn   M\(sc   set next page number
2145 \&.po   M\(sc   page offset
2146 \en(po  R       simulated page offset
2147 \&.pp   M       begin paragraph
2148 \en(pp  R       paragraph pointsize
2149 \en(ps  R       paragraph prespace
2150 \&.q    M       quoted
2151 \e*(qa  S       for all
2152 \e*(qe  S       there exists
2153 \en(qi  R       quote indent (also shortens line)
2154 \en(qp  R       quote pointsize
2155 \en(qs  R       quote pre/post space
2156 \&.r    M       roman font
2157 \&.rb   M       real bold font
2158 \&.re   M       reset tabs
2159 \&.rm   M\(sc   remove macro or string
2160 \&.rn   M\(sc   rename macro or string
2161 \&.ro   M       set page numbers in roman
2162 \e*(rq  S       right quote marks
2163 \&.rr   M\(sc   remove register
2164 \&.rs   M\(sc   restore spacing
2165 \&.rt   M\(sc   return to vertical position
2166 \es\fI\&S\fP    F\(sc   inline size change to size \fI\&S\fP
2167 \en(sf  R       section title font
2168 \&.sh   M       begin numbered section
2169 \en(si  R       relative base indent per section depth
2170 \&.sk   M       skip next page
2171 \&.sm   M       set argument in a smaller pointsize
2172 \&.so   M\(sc   source input file
2173 \en(so  R       additional section title offset
2174 \&.sp   M\(sc   vertical space
2175 \en(sp  R       section title pointsize
2176 \en(ss  R       section prespace
2177 \&.sx   M       change section depth
2178 \&.sz   M       set pointsize and vertical spacing
2179 \&.ta   M\(sc   set tab stops
2180 \&.tc   M\(sc   set tab repetition character
2181 \e*(td  S       today's date
2182 \en(tf  R       title font
2183 \&.ti   M\(sc   temporary indent (next line only)
2184 \&.tl   M\(sc   three part title
2185 \en(tm  R       top title margin
2186 \&.tp   M       begin title page
2187 \en(tp  R       title pointsize
2188 \&.tr   M\(sc   translate
2189 \&.u    M       underlined
2190 \&.uh   M       unnumbered section
2191 \&.ul   M\(sc   underline next line
2192 \ev\'\fI\&d\fP\'        F\(sc   local vertical motion for distance \fI\&d\fP
2193 \e*v    S       inverted `v' for czeck ``e\*v''
2194 \ew\'\fI\&S\fP\'        F\(sc   return width of string \fI\&S\fP
2195 \&.xl   M       set line length (local)
2196 \&.xp   M       print index
2197 \en(xs  R       index entry prespace
2198 \en(xu  R       index undent (from right margin)
2199 \en(y2  R       year (last two digits only)
2200 \en(y4  R       year (all digits)
2201 \en(yr  R\(sc   year minus 1900
2202 \en(zs  R       floating keep pre/post space
2203 \e{     F\(sc   begin conditional group
2204 \e|     F\(sc   1/6 em narrow space
2205 \e}     F\(sc   end conditional group
2206 \e*~    S       tilde
2207 .)l
2208 .rm $H