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