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