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