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