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