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