PageRenderTime 39ms CodeModel.GetById 16ms app.highlight 10ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/groff/doc/meintro.me

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