man/l_roff.7.in: .tm,.tm1 go to STDERR not STDOUT
[s-roff.git] / doc / meintro.me.in
blob40b0c40b52afa64c66e2528f6972793d58c6cd29
1 .\"@ meintro.me
2 .\"
3 .\" Copyright (c) 1986 The Regents of the University of California.
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms are permitted
7 .\" provided that the above copyright notice and this paragraph are
8 .\" duplicated in all such forms and that any documentation,
9 .\" advertising materials, and other materials related to such
10 .\" distribution and use acknowledge that the software was developed
11 .\" by the University of California, Berkeley.  The name of the
12 .\" University may not be used to endorse or promote products derived
13 .\" from this software without specific prior written permission.
14 .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
15 .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
16 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 .\"
18 .\"     @(#)intro.me    6.4 (Berkeley) 7/17/89
19 .\"
20 .\" Modified for groff by jjc@jclark.com.
21 .\"Adapted to S-roff by Steffen (Daode) Nurpmeso <steffen@sdaoden.eu>.
23 .\"UC 7
24 .ll 6.5i
25 .lt 6.5i
26 .ds MO @VERSION@
27 .nr si 3n
28 .he 'USING GROFF/compatible AND \-ME''%'
29 .\"eh 'USD:22-%''Writing Papers with NROFF using \-me'
30 .\"oh 'Writing Papers with NROFF using \-me''USD:22-%'
31 .ds U \s-1UNIX\s0
32 .ds N \s-1NROFF\s0
33 .ds T \s-1TROFF\s0
34 .ds G \s-1GROFF\s0
35 .ds S \s-1@U_ROFF@\s0
36 .ds s @L_ROFF@
37 .+c
38 .(l C
39 .sz 14
40 .b "Writing Papers with GROFF using \-me"
41 .sz
42 .sp 2
43 .ul
44 Eric P. Allman*
45 .(f
46 *Author's current address:
47 Britton Lee, Inc.,
48 1919 Addison Suite 105,
49 Berkeley, California 94704.
50 .)f
51 .sp
52 Project INGRES
53 Electronics Research Laboratory
54 University of California, Berkeley
55 Berkeley, California  94720
56 .sp 2
57 .i "Modified for \*G by James Clark"
58 .br
59 .i "Modified for \*S by Steffen (Daode) Nurpmeso"
60 .)l
61 .sp 4
62 .pp
63 This document describes
64 the text processing facilities
65 available on the \*U\(dg
66 .(f
67 \(dg\*U is a trademark
68 of AT&T Bell Laboratories
69 .)f
70 operating system
71 via \*S and the
72 \-me
73 macro package.
74 It is assumed
75 that the reader
76 already is generally familiar
77 with the \*U operating system
78 and a text editor
79 such as
80 .b ex .
81 This is intended to be a casual introduction,
82 and
83 as such not all material is covered.
84 In particular,
85 many variations and additional features
86 of the \-me macro package
87 are not explained.
88 For a complete discussion of this
89 and other issues,
90 see
91 .ul
92 The \-me Reference Manual
93 and
94 .ul
95 The \*N/\*T Reference Manual.
96 .pp
97 \*S, a computer program
98 that runs on the \*U operating system,
99 reads an input file
100 prepared by the user
101 and outputs a formatted paper
102 suitable for publication or framing.
103 The input consists of
104 .i text ,
105 or words to be printed,
107 .i requests ,
108 which give instructions
109 to the \*S program
110 telling how to format the printed copy.
112 Section 1
113 describes the basics
114 of text processing.
115 Section 2
116 describes the basic requests.
117 Section 3
118 introduces displays.
119 Annotations,
120 such as footnotes,
121 are handled in
122 section 4.
123 The more complex requests
124 which are not discussed in section 2
125 are covered in section 5.
126 Finally,
127 section 6
128 discusses things you will need
129 to know
130 if you want to typeset documents.
131 If you are a novice,
132 you probably won't want to read beyond section 4
133 until you have tried some of the basic features out.
135 When you have your raw text ready,
136 call the \*S formatter by typing
137 as a request to the \*U shell:
139 \*s \-me \-T\c
140 .i "type files"
142 where
143 .i type
144 describes the type of
145 output device you are using.
146 A complete description of options
147 to the \*S command can be found in the
148 manual page.
150 The word
151 .i argument
152 is used in this manual
153 to mean a word or number
154 which appears on the same line
155 as a request
156 which modifies the meaning
157 of that request.
158 For example,
159 the request
161 \&.sp
163 spaces one line,
166 \&.sp 4
168 spaces four lines.
169 The number
170 .b 4
171 is an
172 .i argument
173 to the
174 .b .sp
175 request
176 which says to space four lines
177 instead of one.
178 Arguments are separated from the request
179 and from each other
180 by spaces.
181 .sh 1 "Basics of Text Processing"
183 The primary function
184 of \*S
185 is to
186 .i collect
187 words from input lines,
188 .i fill
189 output lines with those words,
190 .i justify
191 the right hand margin by inserting extra spaces
192 in the line,
193 and output the result.
194 For example,
195 the input:
197 Now is the time
198 for all good men
199 to come to the aid
200 of their party.
201 Four score and seven
202 years ago,...
204 will be read,
205 packed onto output lines,
206 and justified
207 to produce:
208 .(b F
209 Now is the time
210 for all good men
211 to come to the aid
212 of their party.
213 Four score and seven
214 years ago,...
216 Sometimes you may want to start a new output line
217 even though the line you are on
218 is not yet full;
219 for example,
220 at the end of a paragraph.
221 To do this
222 you can cause a
223 .i break ,
224 which
225 starts a new output line.
226 Some requests
227 cause a break automatically,
228 as do blank input lines
229 and input lines beginning with a space.
231 Not all input lines
232 are text to be formatted.
233 Some of the input lines
235 .i requests
236 which describe
237 how to format the text.
238 Requests always have a period
239 or an apostrophe
241 .q "\|\(aa\|" )
242 as the first character
243 of the input line.
245 The text formatter
246 also does more complex things,
247 such as automatically numbering pages,
248 skipping over page folds,
249 putting footnotes in the correct place,
250 and so forth.
252 I can offer you a few hints
253 for preparing text
254 for input to \*S.
255 First,
256 keep the input lines short.
257 Short input lines are easier to edit,
258 and \*S will pack words onto longer lines
259 for you anyhow.
260 In keeping with this,
261 it is helpful
262 to begin a new line
263 after every period,
264 comma,
265 or phrase,
266 since common corrections
267 are to add or delete sentences
268 or phrases.
269 Second,
270 do not put spaces at the end of lines,
271 since this can sometimes confuse the \*N
272 processor.
273 Third,
274 do not hyphenate words at the end of lines
275 (except words that should have hyphens in them,
276 such as
277 .q mother-in-law );
278 \*S is smart enough to hyphenate words
279 for you as needed,
280 but is not smart enough
281 to take hyphens out
282 and join a word back together.
283 Also,
284 words such as
285 .q mother-in-law
286 should not be broken
287 over a line,
288 since then you will get a space
289 where not wanted,
290 such as
291 .tr @-
293 .q "mother@\ in@law" .
295 .tr @@
296 .hy 14
297 .sh 1 "Basic Requests"
298 .sh 2 "Paragraphs"
300 Paragraphs are begun
301 by using the
302 .b .pp
303 request.
304 For example,
305 the input:
307 \&.pp
308 Now is the time for all good men
309 to come to the aid of their party.
310 Four score and seven years ago,...
312 produces a blank line
313 followed by an indented first line.
314 The result is:
315 .(b F
316 .ti +\n(piu
317 Now is the time for all good men
318 to come to the aid of their party.
319 Four score and seven years ago,...
322 Notice that the sentences
323 of the paragraphs
324 .i "must not"
325 begin with a space,
326 since blank lines
327 and lines beginning with spaces
328 cause a break.
329 For example,
330 if I had typed:
332 \&.pp
333 Now is the time for all good men
334       to come to the aid of their party.
335 Four score and seven years ago,...
337 The output would be:
338 .(b F
339 .ti +\n(piu
340 Now is the time for all good men
341       to come to the aid of their party.
342 Four score and seven years ago,...
344 A new line begins after the word
345 .q men
346 because the second line began with a space character.
348 There are many
349 fancier
350 types of paragraphs,
351 which will be described later.
352 .sh 2 "Headers and Footers"
354 Arbitrary headers and footers
355 can be put
356 at the top and bottom
357 of every page.
358 Two requests
359 of the form
360 .b .he \ \c
361 .i title
363 .b .fo \ \c
364 .i title
365 define the titles to put at the head and the foot
366 of every page,
367 respectively.
368 The titles are called
369 .i three-part
370 titles,
371 that is,
372 there is a left-justified part,
373 a centered part,
374 and a right-justified part.
375 To separate these three parts
376 the first character of
377 .i title
378 (whatever it may be)
379 is used as a delimiter.
380 Any character may be used,
382 backslash
383 and double quote marks
384 should be avoided.
385 The percent sign
386 is replaced by the current page number
387 whenever found in the title.
388 For example,
389 the input:
391 \&.he \(aa\(aa%\(aa\(aa
392 \&.fo \(aaJane Jones\(aa\(aaMy Book\(aa
394 results in the page number
395 centered at the top
396 of each page,
397 .q "Jane Jones"
398 in the lower left corner,
400 .q "My Book"
401 in the lower right corner.
402 .sh 2 "Double Spacing"
404 .ls 2
405 \*S will double space output text automatically if you
406 use the request
407 .b ".ls\ 2" ,
408 as is done in this section.
409 You can revert to single spaced mode
410 by typing
411 .b ".ls\ 1" .
412 .ls 1
413 .sh 2 "Page Layout"
415 A number of requests allow
416 you to change the way the printed copy looks,
417 sometimes called the
418 .i layout
419 of the output page.
420 Most of these requests adjust the placing
422 .q "white space"
423 (blank lines or spaces).
424 In these explanations,
425 characters in italics
426 should be replaced with values you wish to use;
427 bold characters
428 represent characters which should actually be typed.
431 .b .bp
432 request
433 starts a new page.
435 The request
436 .b .sp \ \c
437 .i N
438 leaves
439 .i N
440 lines of blank space.
441 .i N
442 can be omitted
443 (meaning skip a single line)
444 or can be of the form
445 .i N \^\c
446 .b i
447 (for
448 .i N
449 inches)
451 .i N \^\c
452 .b c
453 (for
454 .i N
455 centimeters).
456 For example, the input:
458 \&.sp 1.5i
459 My thoughts on the subject
460 \&.sp
462 leaves one and a half inches of space,
463 followed by the line
464 .q "My thoughts on the subject" ,
465 followed by a single blank line.
468 .b .in \ \c
469 .i +N
470 request
471 changes the amount of white space
472 on the left of the page
473 (the
474 .i indent ).
475 The argument
476 .i N
477 can be of the form
478 .b + \c
479 .i N
480 (meaning leave
481 .i N
482 spaces more than you are already leaving),
483 .b \- \c
484 .i N
485 (meaning leave less than you do now),
486 or just
487 .i N
488 (meaning leave exactly
489 .i N
490 spaces).
491 .i N
492 can be of the form
493 .i N \^\c
494 .b i
496 .i N \^\c
497 .b c
498 also.
499 For example,
500 the input:
502 initial text
503 \&.in 5
504 some text
505 \&.in +1i
506 more text
507 \&.in \-2c
508 final text
510 produces
511 .q "some text"
512 indented exactly five spaces
513 from the left margin,
514 .q "more text"
515 indented five spaces
516 plus one inch
517 from the left margin
518 (fifteen spaces
519 on a pica typewriter),
521 .q "final text"
522 indented five spaces
523 plus one inch
524 minus two centimeters
525 from the margin.
526 That is,
527 the output is:
529 initial text
530 .in +5
531 some text
532 .in +1i
533 more text
534 .in -2c
535 final text
539 .b .ti \ \c
540 .i +N
541 (temporary indent)
542 request is used like
543 .b .in \ \c
544 .i +N
545 when the indent
546 should apply to one line only,
547 after which it should revert
548 to the previous indent.
549 For example,
550 the input:
552 \&.in 1i
553 \&.ti 0
554 Ware, James R.  The Best of Confucius,
555 Halcyon House, 1950.
556 An excellent book containing translations of
557 most of Confucius\(aa most delightful sayings.
558 A definite must for anyone interested in the early foundations
559 of Chinese philosophy.
561 produces:
562 .in 1i+\n($iu
563 .ti \n($iu
564 Ware, James R.  The Best of Confucius,
565 Halcyon House, 1950.
566 An excellent book containing translations of
567 most of Confucius' most delightful sayings.
568 A definite must for anyone interested in the early foundations
569 of Chinese philosophy.
571 Text lines can be centered
572 by using the
573 .b .ce
574 request.
575 The line after the
576 .b .ce
577 is centered
578 (horizontally)
579 on the page.
580 To center more than one line,
582 .b .ce \ \c
583 .i N
584 (where
585 .i N
586 is the number of lines to center),
587 followed by the
588 .i N
589 lines.
590 If you want to center many lines
591 but don't want to count them,
592 type:
594 \&.ce 1000
595 lines to center
596 \&.ce 0
599 .b ".ce\ 0"
600 request tells \*S to center zero more lines,
601 in other words,
602 stop centering.
604 All of these requests
605 cause a break;
606 that is,
607 they always start
608 a new line.
609 If you want to start a new line
610 without performing any other action,
612 .b .br .
613 .sh 1 "Displays"
615 Displays are sections of text
616 to be set off
617 from the body of the paper.
618 Major quotes,
619 tables,
620 and figures
621 are types of displays,
622 as are all the examples
623 used in this document.
624 All displays
625 except centered blocks
626 are output
627 single spaced.
628 .sh 2 "Major Quotes"
630 Major quotes
631 are quotes which are several lines long,
632 and hence are set in from the rest
633 of the text
634 without quote marks
635 around them.
636 These can be generated
637 using the commands
638 .b .(q
640 .b .)q
641 to surround the quote.
642 For example,
643 the input:
645 As Weizenbaum points out:
646 \&.(q
647 It is said that to explain is to explain away.
648 This maxim is nowhere so well fulfilled
649 as in the areas of computer programming,...
650 \&.)q
652 generates as output:
654 As Weizenbaum points out:
656 It is said that to explain is to explain away.
657 This maxim is nowhere so well fulfilled
658 as in the areas of computer programming,...
660 .sh 2 "Lists"
663 .i list
664 is an indented,
665 single spaced,
666 unfilled display.
667 Lists should be used
668 when the material to be printed
669 should not be filled and justified
670 like normal text,
671 such as columns of figures
672 or the examples used in this paper.
673 Lists are surrounded
674 by the requests
675 .b .(l
677 .b .)l .
678 For example,
679 type:
681 Alternatives to avoid deadlock are:
682 \&.(l
683 Lock in a specified order
684 Detect deadlock and back out one process
685 Lock all resources needed before proceeding
686 \&.)l
688 will produce:
690 Alternatives to avoid deadlock are:
692 Lock in a specified order
693 Detect deadlock and back out one process
694 Lock all resources needed before proceeding
696 .sh 2 "Keeps"
699 .i keep
700 is a display of lines
701 which are kept on a single page
702 if possible.
703 An example of where you would use a keep
704 might be a diagram.
705 Keeps differ from lists
706 in that lists may be broken
707 over a page boundary
708 whereas keeps will not.
710 Blocks are the basic kind of keep.
711 They begin with the request
712 .b .(b
713 and end with the request
714 .b .)b .
715 If there is not room on the current page
716 for everything in the block,
717 a new page is begun.
718 This has the unpleasant effect
719 of leaving blank space
720 at the bottom of the page.
721 When this is not appropriate,
722 you can use the alternative,
723 called
724 .i "floating keeps" .
726 .i "Floating keeps"
727 move relative to the text.
728 Hence,
729 they are good for things
730 which will be referred to
731 by name,
732 such as
733 .q "See figure 3" .
734 A floating keep will appear
735 at the bottom of the current page
736 if it will fit;
737 otherwise,
738 it will appear at the top
739 of the next page.
740 Floating keeps begin with the line
741 .b .(z
742 and end with the line
743 .b .)z .
744 For an example of a floating keep,
745 see figure 1.
747 .in 1i
748 .xl -1i
750 \&.(z
751 \&.hl
752 Text of keep to be floated.
753 \&.sp
754 \&.ce
755 Figure 1.  Example of a Floating Keep.
756 \&.hl
757 \&.)z
760 Figure 1.  Example of a Floating Keep.
764 .b .hl
765 request is used
766 to draw a horizontal line
767 so that the figure
768 stands out from the text.
769 .sh 2 "Fancier Displays"
771 Keeps and lists are normally collected in
772 .i nofill
773 mode,
774 so that they are good for tables and such.
775 If you want a display
776 in fill mode
777 (for text),
778 type
779 .b ".(l\ F"
780 (Throughout this section,
781 comments applied to
782 .b .(l
783 also apply to
784 .b .(b
786 .b .(z ).
787 This kind of display
788 will be indented from both margins.
789 For example,
790 the input:
792 \&.(l F
793 And now boys and girls,
794 a newer, bigger, better toy than ever before!
795 Be the first on your block to have your own computer!
796 Yes kids, you too can have one of these modern
797 data processing devices.
798 You too can produce beautifully formatted papers
799 without even batting an eye!
800 \&.)l
802 will be output as:
803 .(b F
804 And now boys and girls,
805 a newer, bigger, better toy than ever before!
806 Be the first on your block to have your own computer!
807 Yes kids, you too can have one of these modern
808 data processing devices.
809 You too can produce beautifully formatted papers
810 without even batting an eye!
813 Lists and blocks are also normally indented
814 (floating keeps are normally left justified).
815 To get a left-justified list,
816 type
817 .b ".(l\ L" .
818 To get a list centered
819 line-for-line,
820 type
821 .b ".(l C" .
822 For example,
823 to get a filled,
824 left justified list, enter:
826 \&.(l L F
827 text of block
828 \&.)l
830 The input:
832 \&.(l
833 first line of unfilled display
834 more lines
835 \&.)l
837 produces the indented text:
839 first line of unfilled display
840 more lines
842 Typing the character
843 .b L
844 after the
845 .b .(l
846 request produces the left justified result:
847 .(b L
848 first line of unfilled display
849 more lines
851 Using
852 .b C
853 instead of
854 .b L
855 produces the line-at-a-time centered output:
856 .(b C
857 first line of unfilled display
858 more lines
861 Sometimes it may be
862 that you want to center several lines
863 as a group,
864 rather than centering them
865 one line at a time.
866 To do this
867 use centered blocks,
868 which are surrounded by the requests
869 .b .(c
871 .b .)c .
872 All the lines are centered as a unit,
873 such that the longest line is centered
874 and the rest are
875 lined up around that line.
876 Notice that lines
877 do not move
878 relative to each other
879 using centered blocks,
880 whereas they do
881 using the
882 .b C
883 argument to keeps.
885 Centered blocks are
886 .i not
887 keeps,
888 and may be used
889 in conjunction
890 with keeps.
891 For example,
892 to center a group of lines
893 as a unit
894 and keep them
895 on one page,
896 use:
898 \&.(b L
899 \&.(c
900 first line of unfilled display
901 more lines
902 \&.)c
903 \&.)b
905 to produce:
906 .(b L
908 first line of unfilled display
909 more lines
912 If the block requests
914 .b .(b
916 .b .)b )
917 had been omitted
918 the result would have been the same,
919 but with no guarantee
920 that the lines of the centered block
921 would have all been on one page.
922 Note the use of the
923 .b L
924 argument to
925 .b .(b ;
926 this causes the centered block
927 to center within the entire line
928 rather than within the line
929 minus the indent.
930 Also,
931 the center requests
932 must
933 be nested
934 .i inside
935 the keep requests.
936 .sh 1 "Annotations"
938 There are a number of requests
939 to save text
940 for later printing.
941 .i Footnotes
942 are printed at the bottom of the current page.
943 .i "Delayed text"
944 is intended to be a variant form
945 of footnote;
946 the text is printed only 
947 when explicitly called for,
948 such as at the end of each chapter.
949 .i Indexes
950 are a type of delayed text
951 having a tag
952 (usually the page number)
953 attached to each entry
954 after a row of dots.
955 Indexes are also saved
956 until called for explicitly.
957 .sh 2 "Footnotes"
959 Footnotes begin with the request
960 .b .(f
961 and end with the request
962 .b .)f .
963 The current footnote number is maintained
964 automatically,
965 and can be used by typing \e**,
966 to produce a footnote number\**.
968 \**Like this.
970 The number is automatically incremented
971 after every footnote.
972 For example,
973 the input:
975 \&.(q
976 A man who is not upright
977 and at the same time is presumptuous;
978 one who is not diligent and at the same time is ignorant;
979 one who is untruthful and at the same time is incompetent;
980 such men I do not count among acquaintances.\e**
981 \&.(f
982 \e**James R. Ware,
983 \&.ul
984 The Best of Confucius,
985 Halcyon House, 1950.
986 Page 77.
987 \&.)f
988 \&.)q
990 generates the result:
992 A man who is not upright
993 and at the same time is presumptuous;
994 one who is not diligent and at the same time is ignorant;
995 one who is untruthful and at the same time is incompetent;
996 such men I do not count among acquaintances.\**
998 \**James R. Ware,
1000 The Best of Confucius,
1001 Halcyon House, 1950.
1002 Page 77.
1005 It is important
1006 that the footnote
1007 appears
1008 .i inside
1009 the quote,
1010 so that you can be sure
1011 that the footnote
1012 will appear
1013 on the same page
1014 as the quote.
1015 .sh 2 "Delayed Text"
1017 Delayed text
1018 is very similar to a footnote
1019 except that it is printed
1020 when called for explicitly.
1021 This allows a list of
1022 references to
1023 appear
1024 (for example)
1025 at the end of each chapter,
1026 as is the convention in some disciplines.
1028 .b \e*#
1029 on delayed text
1030 instead of
1031 .b \e**
1032 as on footnotes.
1034 If you are using delayed text
1035 as your standard reference mechanism,
1036 you can still use footnotes,
1037 except that you may want to reference them
1038 with special characters*
1040 *Such as an asterisk.
1042 rather than numbers.
1043 .sh 2 "Indexes"
1046 .q index
1047 (actually more like a table of contents,
1048 since the entries are not sorted alphabetically)
1049 resembles delayed text,
1050 in that it is saved until called for.
1051 However,
1052 each entry has the page number
1053 (or some other tag)
1054 appended to the last line
1055 of the index entry
1056 after a row of dots.
1058 Index entries begin with the request
1059 .b .(x
1060 and end with
1061 .b .)x .
1063 .b .)x
1064 request may have a argument,
1065 which is the value to print
1066 as the
1067 .q "page number" .
1068 It defaults to the current page number.
1069 If the page number given is an underscore
1071 .q _ )
1072 no page number
1073 or line of dots
1074 is printed at all.
1075 To get the line of dots
1076 without a page number,
1077 type
1078 .b ".)x """"" ,
1079 which specifies an explicitly null page number.
1082 .b .xp
1083 request prints the index.
1085 For example,
1086 the input:
1088 \&.(x
1089 Sealing wax
1090 \&.)x
1091 \&.(x
1092 Cabbages and kings
1093 \&.)x _
1094 \&.(x
1095 Why the sea is boiling hot
1096 \&.)x 2.5a
1097 \&.(x
1098 Whether pigs have wings
1099 \&.)x ""
1100 \&.(x
1101 This is a terribly long index entry, such as might be used
1102 for a list of illustrations, tables, or figures; I expect it to
1103 take at least two lines.
1104 \&.)x
1105 \&.xp
1107 generates:
1109 Sealing wax
1112 Cabbages and kings
1113 .)x _
1115 Why the sea is boiling hot
1116 .)x 2.5a
1118 Whether pigs have wings
1119 .)x ""
1121 This is a terribly long index entry, such as might be used
1122 for a list of illustrations, tables, or figures; I expect it to
1123 take at least two lines.
1128 .b .(x
1129 request may have a single character
1130 argument,
1131 specifying the
1132 .q name
1133 of the index;
1134 the normal index is
1135 .b x .
1136 Thus,
1137 several
1138 .q indices
1139 may be maintained simultaneously
1140 (such as a list of tables, table of contents, etc.).
1142 Notice that the index must be printed
1143 at the
1144 .i end
1145 of the paper,
1146 rather than at the beginning
1147 where it will probably appear
1148 (as a table of contents);
1149 the pages may have to be physically rearranged
1150 after printing.
1151 .sh 1 "Fancier Features"
1153 A large number of fancier requests
1154 exist,
1155 notably requests to provide other sorts of paragraphs,
1156 numbered sections of the form
1157 .b 1.2.3
1158 (such as used in this document),
1159 and multicolumn output.
1160 .sh 2 "More Paragraphs"
1162 Paragraphs generally start with
1163 a blank line
1164 and with the first line
1165 indented.
1166 It is possible to get
1167 left-justified block-style paragraphs
1168 by using
1169 .b .lp
1170 instead of
1171 .b .pp ,
1172 as demonstrated by the next paragraph.
1174 Sometimes you want to use paragraphs
1175 that have the
1176 .i body
1177 indented,
1178 and the first line
1179 exdented
1180 (opposite of indented)
1181 with a label.
1182 This can be done with the
1183 .b .ip
1184 request.
1185 A word specified on the same line as
1186 .b .ip
1187 is printed in the margin,
1188 and the body is lined up
1189 at a prespecified position
1190 (normally five spaces).
1191 For example,
1192 the input:
1194 \&.ip one
1195 This is the first paragraph.
1196 Notice how the first line
1197 of the resulting paragraph lines up
1198 with the other lines in the paragraph.
1199 \&.ip two
1200 And here we are at the second paragraph already.
1201 You may notice that the argument to \c
1202 .b .ip
1203 appears
1204 in the margin.
1205 \&.lp
1206 We can continue text...
1208 produces as output:
1209 .ip one
1210 This is the first paragraph.
1211 Notice how the first line of the resulting paragraph lines up
1212 with the other lines in the paragraph.
1213 .ip two
1214 And here we are at the second paragraph already.
1215 You may notice that the argument to
1216 .b .ip
1217 appears
1218 in the margin.
1220 We can continue text without starting a new indented
1221 paragraph
1222 by using the
1223 .b .lp
1224 request.
1226 If you have spaces in the label of a
1227 .b .ip
1228 request,
1229 you must use an
1230 .q "unpaddable space"
1231 instead of a regular space.
1232 This is typed as a backslash character
1234 .q \e )
1235 followed by a space.
1236 For example,
1237 to print the label
1238 .q "Part 1" ,
1239 enter:
1241 \&.ip "Part\e 1"
1244 If a label of an indented paragraph
1245 (that is, the argument to
1246 .b .ip )
1247 is longer than the space allocated for the label,
1248 .b .ip
1249 will begin a new line after the label.
1250 For example,
1251 the input:
1253 \&.ip longlabel
1254 This paragraph had a long label.
1255 The first character of text on the first line
1256 will not line up with the text on second and subsequent lines,
1257 although they will line up with each other.
1259 will produce:
1260 .ip longlabel
1261 This paragraph had a long label.
1262 The first character of text on the first line
1263 will not line up with the text on second and subsequent lines,
1264 although they will line up with each other.
1266 It is possible to change the size of the label
1267 by using a second argument
1268 which is the size of the label.
1269 For example,
1270 the above example could be done correctly
1271 by saying:
1273 \&.ip longlabel 10
1275 which will make the paragraph indent
1276 10 spaces for this paragraph only.
1277 If you have many paragraphs to indent
1278 all the same amount,
1279 use the
1280 .i "number register"
1281 .b ii .
1282 For example, to leave one inch of space
1283 for the label,
1284 type:
1286 \&.nr ii 1i
1288 somewhere before the first call to
1289 .b .ip .
1290 Refer to the reference manual
1291 for more information.
1294 .b .ip
1295 is used
1296 with no argument at all
1297 no hanging tag will be printed.
1298 For example,
1299 the input:
1301 \&.ip [a]
1302 This is the first paragraph of the example.
1303 We have seen this sort of example before.
1304 \&.ip
1305 This paragraph is lined up with the previous paragraph,
1306 but it has no tag in the margin.
1308 produces as output:
1309 .ip [a]
1310 This is the first paragraph of the example.
1311 We have seen this sort of example before.
1313 This paragraph is lined up with the previous paragraph,
1314 but it has no tag in the margin.
1316 A special case of
1317 .b .ip
1319 .b .np ,
1320 which automatically
1321 numbers paragraphs sequentially from 1.
1322 The numbering is reset at the next
1323 .b .pp ,
1324 .b .lp ,
1326 .b .sh
1327 (to be described in the next section)
1328 request.
1329 For example,
1330 the input:
1332 \&.np
1333 This is the first point.
1334 \&.np
1335 This is the second point.
1336 Points are just regular paragraphs
1337 which are given sequence numbers automatically
1338 by the .np request.
1339 \&.pp
1340 This paragraph will reset numbering by .np.
1341 \&.np
1342 For example,
1343 we have reverted to numbering from one now.
1345 generates:
1347 This is the first point.
1349 This is the second point.
1350 Points are just regular paragraphs
1351 which are given sequence numbers automatically
1352 by the .np request.
1354 This paragraph will reset numbering by .np.
1356 For example,
1357 we have reverted to numbering from one now.
1360 .b .bu
1361 request gives lists of this sort that are identified with
1362 bullets rather than numbers.
1363 The paragraphs are also crunched together.
1364 For example,
1365 the input:
1367 \&.bu
1368 \&One egg yolk
1369 \&.bu
1370 \&One tablespoon cream or top milk
1371 \&.bu
1372 \&Salt, cayenne, and lemon juice to taste
1373 \&.bu
1374 \&A generous two tablespoonfuls of butter
1376 produces\**:
1378 \**By the way,
1379 if you put the first three ingredients in a a heavy, deep pan
1380 and whisk the ingredients madly over a medium flame
1381 (never taking your hand off the handle of the pot)
1382 until the mixture reaches the consistency of custard
1383 (just a minute or two),
1384 then mix in the butter off-heat,
1385 you will have a wonderful Hollandaise sauce.
1388 One egg yolk
1390 One tablespoon cream or top milk
1392 Salt, cayenne, and lemon juice to taste
1394 A generous two tablespoonfuls of butter
1395 .sh 2 "Section Headings"
1397 Section numbers
1398 (such as the ones used in this document)
1399 can be automatically generated
1400 using the
1401 .b .sh
1402 request.
1403 You must tell
1404 .b .sh
1406 .i depth
1407 of the section number
1408 and a section title.
1409 The depth
1410 specifies how many numbers
1411 are to appear
1412 (separated by decimal points)
1413 in the section number.
1414 For example,
1415 the section number
1416 .b 4.2.5
1417 has a depth of three.
1419 Section numbers
1420 are incremented
1421 in a fairly intuitive fashion.
1422 If you add a number
1423 (increase the depth),
1424 the new number starts out
1425 at one.
1426 If you subtract section numbers
1427 (or keep the same number)
1428 the final number is incremented.
1429 For example,
1430 the input:
1432 \&.sh 1 "The Preprocessor"
1433 \&.sh 2 "Basic Concepts"
1434 \&.sh 2 "Control Inputs"
1435 \&.sh 3
1436 \&.sh 3
1437 \&.sh 1 "Code Generation"
1438 \&.sh 3
1440 produces as output the result:
1443 1.  The Preprocessor
1444 1.1.  Basic Concepts
1445 1.2.  Control Inputs
1446 1.2.1.
1447 1.2.2.
1448 2.  Code Generation
1449 2.1.1.
1452 You can specify the section number to begin
1453 by placing the section number after the section title,
1454 using spaces instead of dots.
1455 For example,
1456 the request:
1458 \&.sh 3 "Another section" 7 3 4
1460 will begin the section numbered
1461 .b 7.3.4 ;
1462 all subsequent
1463 .b .sh
1464 requests will number relative to this number.
1466 There are more complex features
1467 which will cause each section to be indented
1468 proportionally to the depth of the section.
1469 For example, if you enter:
1471 \&.nr si \c
1472 .i N
1474 each section will be indented by an amount
1475 .i N .
1476 .i N
1477 must have a scaling factor attached,
1478 that is, it must be of the form
1479 .i Nx ,
1480 where
1481 .i x
1482 is a character telling what units
1483 .i N
1484 is in.
1485 Common values for
1486 .i x
1488 .b i
1489 for inches,
1490 .b c
1491 for centimeters,
1493 .b n
1495 .i ens
1496 (the width of a single character).
1497 For example,
1498 to indent each section
1499 one-half inch,
1500 type:
1502 \&.nr si 0.5i
1504 After this,
1505 sections will be indented by
1506 one-half inch
1507 per level of depth in the section number.
1508 For example,
1509 this document was produced
1510 using the request
1512 \&.nr si 3n
1514 at the beginning of the input file,
1515 giving three spaces of indent
1516 per section depth.
1518 Section headers without automatically generated numbers
1519 can be done using:
1521 \&.uh "Title"
1523 which will do a section heading,
1524 but will put no number on the section.
1525 .sh 2 "Parts of the Basic Paper"
1527 There are some requests
1528 which assist in setting up
1529 papers.
1531 .b .tp
1532 request
1533 initializes for a title page.
1534 There are no headers or footers
1535 on a title page,
1536 and unlike other pages
1537 you can space down
1538 and leave blank space
1539 at the top.
1540 For example,
1541 a typical title page might appear as:
1543 \&.tp
1544 \&.sp 2i
1545 \&.(l C
1546 THE GROWTH OF TOENAILS
1547 IN UPPER PRIMATES
1548 \&.sp
1550 \&.sp
1551 Frank N. Furter
1552 \&.)l
1553 \&.bp
1557 .b .+c \ \c
1558 .i T
1559 request can be used
1560 to start chapters.
1561 Each chapter is automatically numbered
1562 from one,
1563 and a heading is printed at the top of each chapter
1564 with the chapter number
1565 and the chapter name
1566 .i T .
1567 For example,
1568 to begin a chapter called
1569 .q Conclusions ,
1570 use the request:
1572 \&.+c "CONCLUSIONS"
1574 which will produce,
1575 on a new page,
1576 the lines
1577 .(b C
1578 CHAPTER 5
1579 CONCLUSIONS
1581 with appropriate spacing for a thesis.
1582 Also, the header is moved to the foot of the page
1583 on the first page of a chapter.
1584 Although the
1585 .b .+c
1586 request was not designed to work only with the
1587 .b .th
1588 request,
1589 it is tuned for the format acceptable
1590 for a PhD thesis
1591 at Berkeley.
1593 If the
1594 title parameter
1595 .i T
1596 is omitted from the
1597 .b .+c
1598 request,
1599 the result is a chapter with no heading.
1600 This can also be used at the beginning
1601 of a paper;
1602 for example,
1603 .b .+c
1604 was used to generate page one
1605 of this document.
1607 Although
1608 papers traditionally have the abstract,
1609 table of contents,
1610 and so forth at the front of the paper,
1611 it is more convenient to format
1612 and print them last
1613 when using \*S.
1614 This is so that index entries
1615 can be collected and then printed
1616 for the table of contents
1617 (or whatever).
1618 At the end of the paper,
1619 issue the
1620 .b ".++ P"
1621 request,
1622 which begins the preliminary part
1623 of the paper.
1624 After issuing this request,
1626 .b .+c
1627 request will begin a preliminary section
1628 of the paper.
1629 Most notably,
1630 this prints the page number
1631 restarted from one
1632 in lower case Roman numbers.
1633 .b .+c
1634 may be used repeatedly
1635 to begin different parts of the
1636 front material
1637 for example,
1638 the abstract,
1639 the table of contents,
1640 acknowledgments,
1641 list of illustrations,
1642 etc.
1643 The request
1644 .b ".++ B"
1645 may also be used
1646 to begin the bibliographic section
1647 at the end of the paper.
1648 For example,
1649 the paper might appear
1650 as outlined in figure 2.
1651 (In this figure,
1652 comments begin with the sequence
1653 .b \e" .)
1656 .if t .in 0.5i
1657 .if t .ta 2i
1658 .if n .ta 3i
1659 \&.th   \e" set for thesis mode
1660 \&.fo \(aa\(aaDRAFT\(aa\(aa     \e" define footer for each page
1661 \&.tp   \e" begin title page
1662 \&.(l C \e" center a large block
1663 THE GROWTH OF TOENAILS
1664 IN UPPER PRIMATES
1665 \&.sp
1667 \&.sp
1668 Frank Furter
1669 \&.)l   \e" end centered part
1670 \&.+c INTRODUCTION      \e" begin chapter named "INTRODUCTION"
1671 \&.(x t \e" make an entry into index `t'
1672 Introduction
1673 \&.)x   \e" end of index entry
1674 text of chapter one
1675 \&.+c "NEXT CHAPTER"    \e" begin another chapter
1676 \&.(x t \e" enter into index `t' again
1677 Next Chapter
1678 \&.)x
1679 text of chapter two
1680 \&.+c CONCLUSIONS
1681 \&.(x t
1682 Conclusions
1683 \&.)x
1684 text of chapter three
1685 \&.++ B \e" begin bibliographic information
1686 \&.+c BIBLIOGRAPHY      \e" begin another `chapter'
1687 \&.(x t
1688 Bibliography
1689 \&.)x
1690 text of bibliography
1691 \&.++ P \e" begin preliminary material
1692 \&.+c "TABLE OF CONTENTS"
1693 \&.xp t \e" print index `t' collected above
1694 \&.+c PREFACE   \e" begin another preliminary section
1695 text of preface
1696 .sp 2
1697 .in 0
1699 Figure 2.  Outline of a Sample Paper
1702 .sh 2 "Equations and Tables"
1704 Two special \*U programs exist
1705 to format special types of material.
1706 .b Eqn
1707 sets equations.
1708 .b Tbl
1709 arranges to print
1710 extremely pretty tables
1711 in a variety of formats.
1712 This document will only describe
1713 the embellishments
1714 to the standard features;
1715 consult the reference manuals
1716 for those processors
1717 for a description of their use.
1720 .b eqn
1721 program is described fully
1722 in the document
1724 Typesetting Mathematics \- User's Guide
1725 by Brian W. Kernighan
1726 and Lorinda L. Cherry.
1727 Equations are centered,
1728 and are kept on one page.
1729 They are introduced by the
1730 .b .EQ
1731 request and terminated by the
1732 .b .EN
1733 request.
1736 .b .EQ
1737 request may take an
1738 equation number as an
1739 optional argument,
1740 which is printed vertically centered
1741 on the right hand side
1742 of the equation.
1743 If the equation becomes too long
1744 it should be split
1745 between two lines.
1746 To do this, type:
1748 \&.EQ (eq 34)
1749 text of equation 34
1750 \&.EN C
1751 \&.EQ
1752 continuation of equation 34
1753 \&.EN
1756 .b C
1757 on the
1758 .b .EN
1759 request
1760 specifies that the equation
1761 will be continued.
1764 .b tbl
1765 program produces tables.
1766 It is fully described
1767 (including numerous examples)
1768 in the document
1770 Tbl \- A Program to Format Tables
1771 by M. E. Lesk.
1772 Tables begin with the
1773 .b .TS
1774 request
1775 and end with the
1776 .b .TE
1777 request.
1778 Tables are normally kept on a single page.
1779 If you have a table which is too big
1780 to fit on a single page,
1781 so that you know it will extend
1782 to several pages,
1783 begin the table with the request
1784 .b ".TS\ H"
1785 and put the request
1786 .b .TH
1787 after the part of the table
1788 which you want
1789 duplicated at the top of every page
1790 that the table is printed on.
1791 For example, a table definition
1792 for a long table might look like:
1793 .ds TA \|\h'.4n'\v'-.2n'\s-4\zT\s0\v'.2n'\h'-.4n'\(ci\|
1794 .if n .ds TA \ \o'-T'\ \"
1796 \&.TS H
1797 c s s
1798 n n n.
1799 THE TABLE TITLE
1800 \&.TH
1801 text of the table
1802 \&.TE
1805 .sh 2 "Two Column Output"
1807 You can get two column output
1808 automatically
1809 by using the request
1810 .b .2c .
1811 This causes everything after it
1812 to be output in two-column form.
1813 The request
1814 .b .bc
1815 will start a new column;
1816 it differs from
1817 .b .bp
1818 in that
1819 .b .bp
1820 may leave a totally blank column
1821 when it starts a new page.
1822 To revert to single column output,
1824 .b .1c .
1825 .sh 2 "Defining Macros"
1828 .i macro
1829 is a collection of requests and text
1830 which may be used
1831 by stating a simple request.
1832 Macros begin with the line
1833 .b ".de" \ \c
1834 .i xx
1835 (where
1836 .i xx
1837 is the name of the macro to be defined)
1838 and end with the line consisting of two dots.
1839 After defining the macro,
1840 stating the line
1841 .b . \c
1842 .i xx
1843 is the same as stating all the other lines.
1844 For example,
1845 to define a macro
1846 that spaces 3 lines
1847 and then centers the next input line,
1848 enter:
1850 \&.de SS
1851 \&.sp 3
1852 \&.ce
1853 \&..
1855 and use it by typing:
1857 \&.SS
1858 \&Title Line
1859 (beginning of text)
1862 Macro names may be one or two characters.
1863 In order to avoid conflicts
1864 with names in \-me,
1865 always use upper case letters as names.
1866 The only names to avoid are
1867 .b TS ,
1868 .b TH ,
1869 .b TE ,
1870 .b EQ ,
1872 .b EN .
1873 .sh 2 "Annotations Inside Keeps"
1875 Sometimes you may want to put
1876 a footnote
1877 or index entry inside a keep.
1878 For example,
1879 if you want to maintain a
1880 .q "list of figures"
1881 you will want to do something like:
1883 \&.(z
1884 \&.(c
1885 text of figure
1886 \&.)c
1887 \&.ce
1888 Figure 5.
1889 \&.(x f
1890 Figure 5
1891 \&.)x
1892 \&.)z
1894 which you may hope
1895 will give you a figure
1896 with a label
1897 and an entry in the index
1898 .b f
1899 (presumably a list of figures index).
1900 Unfortunately,
1902 index entry
1903 is read and interpreted
1904 when the keep is read,
1905 not when it is printed,
1906 so the page number in the index is likely to be wrong.
1907 The solution is to use the magic string
1908 .b \e!
1909 at the beginning of all the lines dealing with the index.
1910 In other words,
1911 you should use:
1913 \&.(z
1914 \&.(c
1915 Text of figure
1916 \&.)c
1917 \&.ce
1918 Figure 5.
1919 \e!.(x f
1920 \e!Figure 5
1921 \e!.)x
1922 \&.)z
1924 which will defer the processing of the index
1925 until the figure is output.
1926 This will guarantee
1927 that the page number in the index
1928 is correct.
1929 The same comments apply
1931 blocks
1932 (with
1933 .b .(b
1935 .b .)b )
1936 as well.
1937 .sh 1 "\*T and the Photosetter"
1939 With a little care,
1940 you can prepare
1941 documents that
1942 will print nicely
1943 on either a regular terminal
1944 or when phototypeset
1945 using the \*T formatting program.
1946 .sh 2 "Fonts"
1949 .i font
1950 is a style of type.
1951 There are three fonts
1952 that are available simultaneously,
1953 Times Roman,
1954 Times Italic,
1955 and Times Bold,
1956 plus the special math font.
1957 The normal font is Roman.
1959 There are ways of switching between fonts.
1960 The requests
1961 .b .r ,
1962 .b .i ,
1963 .b .b ,
1965 .b .bi
1966 switch to Roman,
1967 italic,
1968 bold,
1969 and bold-italic fonts respectively.
1970 You can set a single word
1971 in some font
1972 by typing (for example):
1974 \&.i word
1976 which will set
1977 .i word
1978 in italics
1979 but does not affect the surrounding text.
1981 Notice that if you are setting more than one word
1982 in whatever font,
1983 you must surround that word with double quote marks
1984 (`\|"\|')
1985 so that it will appear to the \*S processor as a single word.
1986 The quote marks will not appear in the formatted text.
1987 If you do want a quote mark to appear,
1988 you should quote the entire string
1989 (even if a single word),
1990 and use
1991 .i two
1992 quote marks where you want one to appear.
1993 For example,
1994 if you want to produce the text:
1996 .i """Master Control\|"""
1998 in italics, you must type:
2000 \&.i """Master Control\e|"""
2003 .b \e|
2004 produces a very narrow space
2005 so that the
2006 .q l
2007 does not overlap the quote sign in \*S,
2008 like this:
2010 .i """Master Control"""
2013 There are also some
2014 .q pseudo-fonts
2015 available.
2016 The input:
2018 \&.(b
2019 \&.u underlined
2020 \&.bx "words in a box"
2021 \&.)b
2023 generates
2025 .u underlined
2026 .bx "words in a box"
2028 Notice that pseudo font requests
2029 set only the single parameter in the pseudo font;
2030 ordinary font requests will begin setting all text
2031 in the special font
2032 if you do not provide a parameter.
2033 No more than one word
2034 should appear
2035 with these three font requests
2036 in the middle of lines.
2037 This is because
2038 of the way \*S justifies text.
2039 For example,
2040 if you were to issue the requests:
2042 \&.u "some bold italics"
2044 \&.bx "words in a box"
2046 in the middle of a line
2047 \*S would produce
2048 .u "some bold italics"
2050 .bx "words in a box" ,\p
2051 which I think you will agree does not look good.
2053 The second parameter
2054 of all font requests
2055 is set in the original font.
2056 For example,
2057 the font request:
2059 \&.b bold face
2061 generates
2062 .q bold
2063 in bold font,
2064 but sets
2065 .q face
2066 in the font of the surrounding text,
2067 resulting in:
2069 .b bold face.
2071 To set the two words
2072 .b bold
2074 .b face
2075 both in
2076 .b "bold face" ,
2077 type:
2079 \&.b "bold face"
2082 You can mix fonts in a word by using the
2083 special sequence
2084 .b \ec
2085 at the end of a line
2086 to indicate
2087 .q "continue text processing" ;
2088 this allows input lines
2089 to be joined together
2090 without a space between them.
2091 For example, the input:
2093 \&.u under \ec
2094 \&.i italics
2096 generates
2097 .u under \c
2098 .i italics ,
2099 but if we had typed:
2101 \&.u under
2102 \&.i italics
2104 the result would have been
2105 .u under
2106 .i italics
2107 as two words.
2108 .sh 2 "Point Sizes"
2110 The phototypesetter
2111 supports different sizes of type,
2112 measured in points.
2113 The default point size
2114 is 10 points
2115 for most text,
2116 8 points for footnotes.
2117 To change the pointsize,
2118 type:
2120 \&.sz \c
2121 .i +N
2123 where
2124 .i N
2125 is the size wanted in points.
2127 .i "vertical spacing"
2128 (distance between the bottom of most letters
2129 (the
2130 .i baseline )
2131 between adjacent lines)
2132 is set to be proportional
2133 to the type size.
2135 These pointsize changes are
2136 .i temporary !!!
2137 For example,
2138 to reset the pointsize of basic text to twelve point, use:
2140 \&.nr pp 12
2141 \&.nr sp 12
2142 \&.nr tp 12
2144 to reset the default pointsize of
2145 paragraphs,
2146 section headers,
2147 and titles respectively.
2148 If you only want to set the names of sections in a larger pointsize,
2149 use:
2151 \&.nr sp 11
2153 alone \*- this sets section titles
2154 (e.g.,
2155 .b "Point Sizes"
2156 above)
2157 in a larger font than the default.
2159 A single word or phrase can be set in a smaller pointsize
2160 than the surrounding text
2161 using the
2162 .b .sm
2163 request.
2164 This is especially convenient for words that are all capitals,
2165 due to the optical illusion that makes them look even larger
2166 than they actually are.
2167 For example:
2169 \&.sm UNIX
2171 prints as
2172 .sm UNIX
2173 rather than
2174 UNIX.
2176 Warning:
2177 changing point sizes
2178 on the phototypesetter
2179 is a slow mechanical operation.
2180 On laser printers it may require loading new fonts.
2181 Size changes
2182 should be considered carefully.
2183 .sh 2 "Quotes"
2185 It is conventional when using
2186 the typesetter to
2187 use pairs of grave and acute accents
2188 to generate double quotes,
2189 rather than the
2190 double quote character
2191 (`\|"\|').
2192 This is because it looks better
2193 to use grave and acute accents;
2194 for example, compare
2195 "quote" to
2196 ``quote''.
2198 You may use the sequences
2199 .b \e*(lq
2201 .b \e*(rq
2202 to stand for the left and right quote
2203 respectively.
2204 For example,
2205 use:
2207 \e*(lqSome things aren\(aat true
2208 even if they did happen.\e*(rq
2210 to generate the result:
2212 .q "Some things aren't true even if they did happen."
2214 As a shorthand,
2215 the special font request:
2217 \&.q "quoted text"
2219 will generate
2220 .q "quoted text" .
2221 Notice that you must surround
2222 the material to be quoted
2223 with double quote marks
2224 if it is more than one word.
2225 .sh 0
2226 .sp 1i
2227 .b Acknowledgments
2229 I would like to thank
2230 Bob Epstein,
2231 Bill Joy,
2232 and Larry Rowe
2233 for having the courage
2234 to use the \-me macros
2235 to produce non-trivial papers
2236 during the development stages;
2237 Ricki Blau,
2238 Pamela Humphrey,
2239 and Jim Joyce
2240 for their help with the documentation phase;
2241 peter kessler
2242 for numerous complaints years after I was
2243 .q done
2244 with this project,
2245 most accompanied by fixes
2246 (hence forcing me to fix several small bugs);
2247 and the plethora of people who have contributed ideas
2248 and have given support for the project.
2249 .sp 1i
2250 This document applies to the version of the \-me macros
2251 included with \*S version \*(MO.
2253 .\" s-ts-mode