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