/contrib/groff/doc/meref.me

https://bitbucket.org/freebsd/freebsd-head/ · Unknown · 2223 lines · 2223 code · 0 blank · 0 comment · 0 complexity · 606f6b7bf39f4560265070e1c2c7aea8 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. .\" @(#)ref.me 6.4 (Berkeley) 7/17/89
  17. .\"
  18. .\" Modified by jjc@jclark.com for groff.
  19. .\"UC 7
  20. .ll 6.5i
  21. .lt 6.5i
  22. .\"pn 0
  23. .ds MO @VERSION@
  24. .de TL \" *** title line
  25. .lp
  26. .di XX
  27. ..
  28. .ie \n(.g \{\
  29. .de DE
  30. \?\h'|\\n(DIu'\c\?
  31. ..
  32. .\}
  33. .el \{\
  34. .de DE
  35. \\\\h'|\\\\n(DIu'\\\\c
  36. ..
  37. .\}
  38. .am DE
  39. .br
  40. .di
  41. .in +\\n(DIu
  42. .ti 0
  43. .cu 1000
  44. .XX
  45. .rm XX
  46. .cu 0
  47. ..
  48. .ds G \s-1GROFF\s0
  49. .ds N \s-1NROFF\s0
  50. .ds T \s-1TROFF\s0
  51. .nr DI 1.5i
  52. .he '\-ME REFERENCE MANUAL''%'
  53. .de NR
  54. .b "\en\\$1" "\\$2"
  55. ..
  56. .de ST
  57. .b "\e*\\$1" "\\$2"
  58. ..
  59. .\"sc
  60. .\"eh 'USD:23-%''\-me Reference Manual'
  61. .\"oh '\-me Reference Manual''USD:23-%'
  62. .+c
  63. .ce 20
  64. .sz 14
  65. .b "\-ME REFERENCE MANUAL"
  66. .sz
  67. .sp
  68. .i "\*G Version \*(MO\(dg"
  69. .(f
  70. \(dgBased on Berkeley Release 2.31.
  71. .)f
  72. .sp 2
  73. .ul
  74. Eric P. Allman*
  75. .(f
  76. *Author's current address:
  77. Britton Lee, Inc.,
  78. 1919 Addison Suite 105,
  79. Berkeley, California 94704.
  80. .)f
  81. .sp
  82. Project INGRES
  83. Electronics Research Laboratory
  84. University of California, Berkeley
  85. Berkeley, California 94720
  86. .sp 2
  87. .i "Modified for \*G by James Clark"
  88. .ce 0
  89. .sp 4
  90. .pp
  91. This document describes
  92. in extremely terse form
  93. the features
  94. of the
  95. .b \-me
  96. macro package
  97. for \*G.
  98. Some familiarity is assumed
  99. with
  100. \*G.
  101. Specifically,
  102. the reader should understand
  103. breaks,
  104. fonts,
  105. pointsizes,
  106. the use and definition of number registers
  107. and strings,
  108. how to define macros,
  109. and scaling factors for ens, points,
  110. .b v 's
  111. (vertical line spaces),
  112. etc.
  113. .pp
  114. For a more casual introduction
  115. to text processing
  116. using \*G,
  117. refer to the document
  118. .ul
  119. Writing Papers with \*G using \-me.
  120. .pp
  121. There are a number of macro parameters
  122. that may be adjusted.
  123. Fonts may be set to a font number only.
  124. Font 0 is no font change;
  125. the font of the surrounding text
  126. is used instead.
  127. Notice that font 0 is a
  128. .q pseudo-font ;
  129. that is,
  130. it is simulated by the macros.
  131. This means that although it is legal to set a font register
  132. to zero,
  133. it is not legal to use the escape character form,
  134. such as:
  135. .(b
  136. \ef0
  137. .)b
  138. .pp
  139. All distances
  140. are in basic units,
  141. so it is nearly always necessary
  142. to use a scaling factor.
  143. For example,
  144. the request
  145. to set the paragraph indent
  146. to eight one-en spaces is:
  147. .(b
  148. \&.nr pi 8n
  149. .)b
  150. and not
  151. .(b
  152. \&.nr pi 8
  153. .)b
  154. which would set the paragraph indent to eight basic units,
  155. or about 0.02 inch.
  156. Default parameter values are given in brackets
  157. in the remainder of this document.
  158. .pp
  159. Registers and strings
  160. of the form
  161. .b $ \c
  162. .i x
  163. may be used in expressions
  164. but should not be changed.
  165. Macros of the form
  166. .b $ \c
  167. .i x
  168. perform some function
  169. (as described)
  170. and may be redefined
  171. to change this function.
  172. This may be a sensitive operation;
  173. look at the body of the original macro
  174. before changing it.
  175. .pp
  176. All names in \-me
  177. follow a rigid naming convention.
  178. The user may define number registers,
  179. strings,
  180. and macros,
  181. provided that s/he
  182. uses single character upper case names
  183. or double character names
  184. consisting of letters and digits,
  185. with at least one upper case letter.
  186. In no case should special characters
  187. be used in user-defined names.
  188. Locally defined macros
  189. should all be of the form
  190. .b .* \c
  191. .i X ,
  192. where
  193. .i X
  194. is any letter
  195. (upper or lower case)
  196. or digit.
  197. .pp
  198. This documentation applies to \*G version
  199. \*(MO
  200. of the \-me macros.
  201. .sh 1 "Paragraphing"
  202. .pp
  203. These macros are used
  204. to begin paragraphs.
  205. The standard paragraph macro
  206. is
  207. .b .pp ;
  208. the others are all variants
  209. to be used for special purposes.
  210. .pp
  211. After the first call to one of the paragraphing macros
  212. defined in this section
  213. or the
  214. .b .sh
  215. macro
  216. (defined in the next session),
  217. the effects of changing parameters
  218. which will have a global effect
  219. on the format of the page
  220. (notably page length and header and footer margins)
  221. are not well defined
  222. and should be avoided.
  223. .TL
  224. .b .lp
  225. .DE
  226. Begin left-justified paragraph.
  227. Centering and underlining
  228. are turned off if they were on,
  229. the font is set to
  230. .NR (pf
  231. [1]
  232. the type size
  233. is set to
  234. .NR (pp
  235. [10p],
  236. and a
  237. .NR (ps
  238. space is inserted
  239. before the paragraph
  240. [0.35v]
  241. The indent is reset
  242. to
  243. .NR ($i
  244. [0]
  245. plus
  246. .NR (po
  247. [0]
  248. unless the paragraph
  249. is inside a display.
  250. (see
  251. .b .ba ).
  252. At least
  253. the first two lines
  254. of the paragraph
  255. are kept together
  256. on a page.
  257. .TL
  258. .b .pp
  259. .DE
  260. Like
  261. .b .lp ,
  262. except that it puts
  263. .NR (pi
  264. [5n]
  265. units of indent.
  266. This is the standard paragraph macro.
  267. .TL
  268. .b .ip
  269. .i T
  270. .i I
  271. .DE
  272. Indented paragraph
  273. with hanging tag.
  274. The body of the following paragraph
  275. is indented
  276. .i I
  277. spaces
  278. (or
  279. .NR (ii
  280. [5n]
  281. spaces
  282. if
  283. .i I
  284. is not specified)
  285. more than a non-indented paragraph
  286. (such as with
  287. .b .pp )
  288. is.
  289. The title
  290. .i T
  291. is exdented (opposite of indented).
  292. The result is a paragraph
  293. with an even left edge
  294. and
  295. .i T
  296. printed in the margin.
  297. Any spaces in
  298. .i T
  299. must be unpaddable.
  300. If
  301. .i T
  302. will not fit in the space provided,
  303. .b .ip
  304. will start a new line.
  305. .TL
  306. .b .np
  307. .DE
  308. A variant of .ip which numbers paragraphs.
  309. Numbering is reset
  310. after a
  311. .b .lp ,
  312. .b .pp ,
  313. or
  314. .b .sh .
  315. The current paragraph number
  316. is in
  317. .NR ($p .
  318. .TL
  319. .b .bu
  320. .DE
  321. Like
  322. .b .np
  323. except that paragraphs are marked with bullets (\(bu).
  324. Leading space is eliminated to create compact lists.
  325. .sh 1 "Section Headings"
  326. .pp
  327. Numbered sections
  328. are similar to paragraphs
  329. except that a
  330. section number
  331. is automatically
  332. generated for each one.
  333. The section numbers are of the form
  334. .b 1.2.3 .
  335. The
  336. .i depth
  337. of the section
  338. is the count of numbers
  339. (separated by decimal points)
  340. in the section number.
  341. .pp
  342. Unnumbered section headings are similar,
  343. except that no number is attached
  344. to the heading.
  345. .TL
  346. .b .sh
  347. .i +N
  348. .i T
  349. .i "a b c d e f"
  350. .DE
  351. Begin numbered section
  352. of depth
  353. .i N .
  354. If
  355. .i N
  356. is missing
  357. the current depth
  358. (maintained in
  359. the number register
  360. .NR ($0 )
  361. is used.
  362. The values of
  363. the individual parts of the section number
  364. are maintained in
  365. .NR ($1
  366. through
  367. .NR ($6 .
  368. There is a
  369. .NR (ss
  370. [1v]
  371. space before the section.
  372. .i T
  373. is printed
  374. as a section title
  375. in font
  376. .NR (sf
  377. [8]
  378. and size
  379. .NR (sp
  380. [10p].
  381. The
  382. .q name
  383. of the section may be accessed via
  384. .ST ($n .
  385. If
  386. .NR (si
  387. is non-zero,
  388. the base indent
  389. is set to
  390. .NR (si
  391. times the section depth,
  392. and the section title
  393. is exdented.
  394. (See
  395. .b .ba .)
  396. Also,
  397. an additional indent of
  398. .NR (so
  399. [0]
  400. is added to the section title
  401. (but not to the body of the section).
  402. The font is then set
  403. to the paragraph font,
  404. so that more information may occur
  405. on the line
  406. with the section number
  407. and title.
  408. .b .sh
  409. insures that there is enough room
  410. to print the section head
  411. plus the beginning of a paragraph
  412. (about 3 lines total).
  413. If
  414. .i a
  415. through
  416. .i f
  417. are specified,
  418. the section number is set to that number
  419. rather than incremented automatically.
  420. If any of
  421. .i a
  422. through
  423. .i f
  424. are a hyphen
  425. that number is not reset.
  426. If
  427. .i T
  428. is a single underscore
  429. (\c
  430. .q _ )
  431. then the section depth and numbering is reset,
  432. but the base indent is not reset
  433. and nothing is printed out.
  434. This is useful to automatically
  435. coordinate section numbers with
  436. chapter numbers.
  437. .TL
  438. .b .sx
  439. .i +N
  440. .DE
  441. Go to section depth
  442. .i N
  443. [\c
  444. .b \-1 ],
  445. but do not print the number
  446. and title,
  447. and do not increment the section number
  448. at level
  449. .i N .
  450. This has the effect
  451. of starting a new paragraph
  452. at level
  453. .i N .
  454. .TL
  455. .b .uh
  456. .i T
  457. .DE
  458. Unnumbered section heading.
  459. The title
  460. .i T
  461. is printed
  462. with the same rules for spacing,
  463. font, etc.,
  464. as for
  465. .b .sh .
  466. .TL
  467. .b .$p
  468. .i T
  469. .i B
  470. .i N
  471. .DE
  472. Print section heading.
  473. May be redefined
  474. to get fancier headings.
  475. .i T
  476. is the title passed on the
  477. .b .sh
  478. or
  479. .b .uh
  480. line;
  481. .i B
  482. is the section number for this section,
  483. and
  484. .i N
  485. is the depth of this section.
  486. These parameters are not always present;
  487. in particular,
  488. .b .sh
  489. passes all three,
  490. .b .uh
  491. passes only the first,
  492. and
  493. .b .sx
  494. passes three,
  495. but the first two
  496. are null strings.
  497. Care should be taken if this macro
  498. is redefined;
  499. it is quite complex and subtle.
  500. .TL
  501. .b .$0
  502. .i T
  503. .i B
  504. .i N
  505. .DE
  506. This macro is called automatically
  507. after every call to
  508. .b .$p .
  509. It is normally undefined,
  510. but may be used
  511. to automatically put
  512. every section title
  513. into the table of contents
  514. or for some similar function.
  515. .i T
  516. is the section title
  517. for the section title which was just printed,
  518. .i B
  519. is the section number,
  520. and
  521. .i N
  522. is the section depth.
  523. .TL
  524. .b .$1
  525. \-
  526. .b .$6
  527. .DE
  528. Traps called just before printing that depth section.
  529. May be defined to
  530. (for example)
  531. give variable spacing
  532. before sections.
  533. These macros are called from
  534. .b .$p ,
  535. so if you redefine that macro
  536. you may lose this feature.
  537. .sh 1 "Headers and Footers"
  538. .ds TP \fI\(aal\|\(aam\^\(aar\^\(aa\fP
  539. .pp
  540. Headers and footers
  541. are put at the top and bottom
  542. of every page
  543. automatically.
  544. They are set in font
  545. .NR (tf
  546. [3]
  547. and size
  548. .NR (tp
  549. [10p].
  550. Each of the definitions
  551. apply as of the
  552. .i next
  553. page.
  554. Three-part titles
  555. must be quoted
  556. if there are two blanks adjacent
  557. anywhere in the title
  558. or more than eight blanks total.
  559. .pp
  560. The spacing
  561. of headers and footers
  562. are controlled by three number registers.
  563. .NR (hm
  564. [4v]
  565. is the distance from the top of the page
  566. to the top of the header,
  567. .NR (fm
  568. [3v]
  569. is the distance from the bottom of the page
  570. to the bottom of the footer,
  571. .NR (tm
  572. [7v]
  573. is the distance from the top of the page
  574. to the top of the text,
  575. and
  576. .NR (bm
  577. [6v]
  578. is the distance from the bottom of the page
  579. to the bottom of the text
  580. (nominal).
  581. The macros
  582. .b .m1 ,
  583. .b .m2 ,
  584. .b .m3 ,
  585. and
  586. .b .m4
  587. are also supplied for compatibility
  588. with
  589. \s-1ROFF\s0 documents.
  590. .TL
  591. .b .he
  592. \*(TP
  593. .DE
  594. Define three-part header,
  595. to be printed on the top
  596. of every page.
  597. .TL
  598. .b .fo
  599. \*(TP
  600. .DE
  601. Define footer,
  602. to be printed at the bottom
  603. of every page.
  604. .TL
  605. .b .eh
  606. \*(TP
  607. .DE
  608. Define header,
  609. to be printed at the top of every
  610. even-numbered page.
  611. .TL
  612. .b .oh
  613. \*(TP
  614. .DE
  615. Define header,
  616. to be printed at the top of every
  617. odd-numbered page.
  618. .TL
  619. .b .ef
  620. \*(TP
  621. .DE
  622. Define footer,
  623. to be printed at the bottom
  624. of every even-numbered page.
  625. .TL
  626. .b .of
  627. \*(TP
  628. .DE
  629. Define footer,
  630. to be printed at the bottom
  631. of every odd-numbered page.
  632. .TL
  633. .b .hx
  634. .DE
  635. Suppress headers and footers
  636. on the next page.
  637. .TL
  638. .b .m1
  639. .i +N
  640. .DE
  641. Set the space between the top of the page
  642. and the header
  643. [4v].
  644. .TL
  645. .b .m2
  646. .i +N
  647. .DE
  648. Set the space between the header
  649. and the first line of text
  650. [2v].
  651. .TL
  652. .b .m3
  653. .i +N
  654. .DE
  655. Set the space
  656. between the bottom of the text
  657. and the footer
  658. [2v].
  659. .TL
  660. .b .m4
  661. .i +N
  662. .DE
  663. Set the space
  664. between the footer
  665. and the bottom of the page
  666. [4v].
  667. .TL
  668. .b .ep
  669. .DE
  670. End this page,
  671. but do not begin the next page.
  672. Useful for forcing out footnotes,
  673. but other than
  674. that hardly every used.
  675. Must be followed by a
  676. .b .bp
  677. or the end of input.
  678. .TL
  679. .b .$h
  680. .DE
  681. Called at every page
  682. to print the header.
  683. May be redefined
  684. to provide fancy
  685. (e.g.,
  686. multi-line)
  687. headers,
  688. but doing so
  689. loses the function of the
  690. .b .he ,
  691. .b .fo ,
  692. .b .eh ,
  693. .b .oh ,
  694. .b .ef ,
  695. and
  696. .b .of
  697. requests,
  698. as well as the chapter-style title feature
  699. of
  700. .b .+c .
  701. .TL
  702. .b .$f
  703. .DE
  704. Print footer;
  705. same comments apply
  706. as in
  707. .b .$h .
  708. .TL
  709. .b .$H
  710. .DE
  711. A normally undefined macro
  712. which is called
  713. at the top of each page
  714. (after putting out
  715. the header,
  716. initial saved floating keeps,
  717. etc.);
  718. in other words,
  719. this macro is called immediately before
  720. printing text
  721. on a page.
  722. It can be used for column headings
  723. and the like.
  724. .sh 1 "Displays"
  725. .pp
  726. All displays except centered blocks
  727. and block quotes
  728. are preceded and followed
  729. by an extra
  730. .NR (bs
  731. [same as
  732. .NR (ps ]
  733. space.
  734. Quote spacing is stored in a separate register;
  735. centered blocks have no default initial or trailing space.
  736. The vertical spacing of all displays except quotes
  737. and centered blocks
  738. is stored in register
  739. .NR ($V
  740. instead of
  741. .NR ($v .
  742. .TL
  743. .b .(l
  744. .i m
  745. .i f
  746. .DE
  747. Begin list.
  748. Lists are single spaced,
  749. unfilled text.
  750. If
  751. .i f
  752. is
  753. .b F ,
  754. the list will be filled.
  755. If
  756. .i m
  757. [\c
  758. .b I ]
  759. is
  760. .b I
  761. the list is indented by
  762. .NR (bi
  763. [4m];
  764. if
  765. .b M
  766. the list is indented to the left margin;
  767. if
  768. .b L
  769. the list is left justified with respect to the text
  770. (different from
  771. .b M
  772. only if the base indent
  773. (stored in
  774. .NR ($i
  775. and set with
  776. .b .ba )
  777. is not zero);
  778. and if
  779. .b C
  780. the list is centered on a line-by-line basis.
  781. The list is set in font
  782. .NR (df
  783. [0].
  784. Must be matched by a
  785. .b .)l .
  786. This macro is almost like
  787. .b .(b
  788. except that no attempt is made
  789. to keep the display on one page.
  790. .TL
  791. .b .)l
  792. .DE
  793. End list.
  794. .TL
  795. .b .(q
  796. .DE
  797. Begin major quote.
  798. These are single spaced,
  799. filled,
  800. moved in from the text
  801. on both sides
  802. by
  803. .NR (qi
  804. [4n],
  805. preceded and followed
  806. by
  807. .NR (qs
  808. [same as
  809. .NR (bs ]
  810. space,
  811. and are set in point size
  812. .NR (qp
  813. [one point smaller than surrounding text].
  814. .TL
  815. .b .)q
  816. .DE
  817. End major quote.
  818. .TL
  819. .b .(b
  820. .i m
  821. .i f
  822. .DE
  823. Begin block.
  824. Blocks are a form of
  825. .i keep ,
  826. where the text of a keep
  827. is kept together on one page
  828. if possible
  829. (keeps are useful
  830. for tables and figures
  831. which should not be broken
  832. over a page).
  833. If the block will not fit
  834. on the current page
  835. a new page is begun,
  836. .i unless
  837. that would leave more than
  838. .NR (bt
  839. [0]
  840. white space
  841. at the bottom of the text.
  842. If
  843. .NR (bt
  844. is zero, the threshold feature
  845. is turned off.
  846. Blocks are not filled
  847. unless
  848. .i f
  849. is
  850. .b F ,
  851. when they are filled.
  852. The block will be left-justified
  853. if
  854. .i m
  855. is
  856. .b L ,
  857. indented by
  858. .NR (bi
  859. [4m]
  860. if
  861. .i m
  862. is
  863. .b I
  864. or absent,
  865. centered
  866. (line-for-line)
  867. if
  868. .i m
  869. is
  870. .b C ,
  871. and left justified to the margin
  872. (not to the base indent)
  873. if
  874. .i m
  875. is
  876. .b M .
  877. The block is set in font
  878. .NR (df
  879. [0].
  880. .TL
  881. .b .)b
  882. .DE
  883. End block.
  884. .TL
  885. .b .(z
  886. .i m
  887. .i f
  888. .DE
  889. Begin floating keep.
  890. Like
  891. .b .(b
  892. except that the keep is
  893. .i floated
  894. to the bottom of the page
  895. or the top of the next page.
  896. Therefore,
  897. its position relative to the text changes.
  898. The floating keep is preceded and followed
  899. by
  900. .NR (zs
  901. [1v]
  902. space.
  903. Also,
  904. it defaults to mode
  905. .b M .
  906. .TL
  907. .b .)z
  908. .DE
  909. End floating keep.
  910. .TL
  911. .b .(c
  912. .DE
  913. Begin centered block.
  914. The next keep
  915. is centered as a block,
  916. rather than on a line-by-line basis
  917. as with
  918. .b ".(b C" .
  919. This call may be nested
  920. inside keeps.
  921. .TL
  922. .b .)c
  923. .DE
  924. End centered block.
  925. .sh 1 Annotations
  926. .TL
  927. .b .(d
  928. .DE
  929. Begin delayed text.
  930. Everything in the next keep
  931. is saved for output
  932. later with
  933. .b .pd ,
  934. in a manner
  935. similar to footnotes.
  936. .TL
  937. .b .)d
  938. .i n
  939. .DE
  940. End delayed text.
  941. The delayed text number register
  942. .NR ($d
  943. and the associated string
  944. .ST #
  945. are incremented if
  946. .ST #
  947. has been referenced.
  948. .TL
  949. .b .pd
  950. .DE
  951. Print delayed text.
  952. Everything diverted via
  953. .b .(d
  954. is printed and truncated.
  955. This might be used
  956. at the end of each chapter.
  957. .TL
  958. .b .(f
  959. .DE
  960. Begin footnote.
  961. The text of the footnote
  962. is floated to the bottom
  963. of the page
  964. and set in font
  965. .NR (ff
  966. [1]
  967. and size
  968. .NR (fp
  969. [8p].
  970. Each entry
  971. is preceded by
  972. .NR (fs
  973. [0.2v]
  974. space,
  975. is indented
  976. .NR (fi
  977. [3n]
  978. on the first line,
  979. and is indented
  980. .NR (fu
  981. [0]
  982. from the right margin.
  983. Footnotes line up underneath
  984. two column output.
  985. If the text of the footnote
  986. will not all fit on one page
  987. it will be carried over
  988. to the next page.
  989. .TL
  990. .b .)f
  991. .i n
  992. .DE
  993. End footnote.
  994. The number register
  995. .NR ($f
  996. and the associated string
  997. .ST *
  998. are incremented
  999. if they have been referenced.
  1000. .TL
  1001. .b .$s
  1002. .DE
  1003. The macro to output the footnote separator.
  1004. This macro may be redefined
  1005. to give other size lines or other types
  1006. of separators.
  1007. Currently
  1008. it draws a 1.5i line.
  1009. .TL
  1010. .b .(x
  1011. .i x
  1012. .DE
  1013. Begin index entry.
  1014. Index entries are saved in the index
  1015. .i x
  1016. [\c
  1017. .b x ]
  1018. until called up with
  1019. .b .xp.
  1020. Each entry is preceded
  1021. by a
  1022. .NR (xs
  1023. [0.2v]
  1024. space.
  1025. Each entry is
  1026. .q undented
  1027. by
  1028. .NR (xu
  1029. [0.5i];
  1030. this register tells how far the page number
  1031. extends into the right margin.
  1032. .TL
  1033. .b .)x
  1034. .i P
  1035. .i A
  1036. .DE
  1037. End index entry.
  1038. The index entry
  1039. is finished with a row of dots
  1040. with
  1041. .i A
  1042. [null]
  1043. right justified on the last line
  1044. (such as for an author's name),
  1045. followed by P
  1046. [\c
  1047. .NR % ].
  1048. If
  1049. .i A
  1050. is specified,
  1051. .i P
  1052. must be specified;
  1053. .NR %
  1054. can be used to print the current page number.
  1055. If
  1056. .i P
  1057. is an underscore,
  1058. no page number
  1059. and no row of dots
  1060. are printed.
  1061. .TL
  1062. .b .xp
  1063. .i x
  1064. .DE
  1065. Print index
  1066. .i x
  1067. [\c
  1068. .b x ].
  1069. The index is formatted in the font, size, and so forth
  1070. in effect at the time it is printed,
  1071. rather than at the time it is collected.
  1072. .sh 1 "Columned Output"
  1073. .TL
  1074. .b .2c
  1075. .i +S
  1076. .i N
  1077. .DE
  1078. Enter two-column mode.
  1079. The column separation is set to
  1080. .i +S
  1081. [4n, 0.5i in ACM mode]
  1082. (saved in
  1083. .NR ($s ).
  1084. The column width,
  1085. calculated to fill the single column line length
  1086. with both columns,
  1087. is stored in
  1088. .NR ($l .
  1089. The current column
  1090. is in
  1091. .NR ($c .
  1092. You can test register
  1093. .NR ($m
  1094. [1]
  1095. to see if you are in single column
  1096. or double column mode.
  1097. Actually,
  1098. the request enters
  1099. .i N
  1100. [2]
  1101. column output.
  1102. .TL
  1103. .b .1c
  1104. .DE
  1105. Revert to single-column mode.
  1106. .TL
  1107. .b .bc
  1108. .DE
  1109. Begin column.
  1110. This is like
  1111. .b .bp
  1112. except that it begins a new column
  1113. on a new page
  1114. only if necessary,
  1115. rather than forcing a whole new page
  1116. if there is another column left
  1117. on the current page.
  1118. .sh 1 "Fonts and Sizes"
  1119. .TL
  1120. .b .sz
  1121. .i +P
  1122. .DE
  1123. The pointsize is set to
  1124. .i P
  1125. [10p],
  1126. and the line spacing is set proportionally.
  1127. The line spacing as a percentage of the pointsize expressed in units
  1128. is stored in
  1129. .NR ($v .
  1130. The percentage used internally
  1131. by displays and annotations
  1132. is stored in
  1133. .NR ($V
  1134. (although this is not used by
  1135. .b .sz ).
  1136. This size is
  1137. .i not
  1138. sticky beyond many macros:
  1139. in particular,
  1140. .NR (pp
  1141. (paragraph pointsize)
  1142. modifies the pointsize every time a new paragraph is begun
  1143. using the
  1144. .b \&.pp ,
  1145. .b \&.lp ,
  1146. .b \&.ip ,
  1147. .b \&.np ,
  1148. or
  1149. .b \&.bu
  1150. macros.
  1151. Also,
  1152. .NR (fp
  1153. (footnote pointsize),
  1154. .NR (qp
  1155. (quote pointsize),
  1156. .NR (sp
  1157. (section header pointsize),
  1158. and
  1159. .NR (tp
  1160. (title pointsize)
  1161. may modify the pointsize.
  1162. .TL
  1163. .b .r
  1164. .i W
  1165. .i X
  1166. .DE
  1167. Set
  1168. .i W
  1169. in roman font,
  1170. appending
  1171. .i X
  1172. in the previous font.
  1173. To append different font requests,
  1174. use
  1175. .i X
  1176. =
  1177. .b \ec .
  1178. If no parameters,
  1179. change to roman font.
  1180. .TL
  1181. .b .i
  1182. .i W
  1183. .i X
  1184. .DE
  1185. Set
  1186. .i W
  1187. in italics,
  1188. appending
  1189. .i X
  1190. in the previous font.
  1191. If no parameters,
  1192. change to italic font.
  1193. .TL
  1194. .b .b
  1195. .i W
  1196. .i X
  1197. .DE
  1198. Set
  1199. .i W
  1200. in bold font
  1201. and append
  1202. .i X
  1203. in the previous font.
  1204. If no parameters,
  1205. switch to bold font.
  1206. .TL
  1207. .b .u
  1208. .i W
  1209. .i X
  1210. .DE
  1211. Underline
  1212. .i W
  1213. and append
  1214. .i X .
  1215. This is a true underlining,
  1216. as opposed to the
  1217. .b .ul
  1218. request,
  1219. which changes to
  1220. .q "underline font"
  1221. (usually italics in \*G).
  1222. It won't work right
  1223. if
  1224. .i W
  1225. is spread or broken (including hyphenated).
  1226. In other words,
  1227. it is safe in nofill mode only.
  1228. .TL
  1229. .b .q
  1230. .i W
  1231. .i X
  1232. .DE
  1233. Quote
  1234. .i W
  1235. and append
  1236. .i X .
  1237. In \*G
  1238. this surrounds
  1239. .i W
  1240. with
  1241. .b \*(lq ,
  1242. and
  1243. .b \*(rq .
  1244. .TL
  1245. .b .bi
  1246. .i W
  1247. .i X
  1248. .DE
  1249. Set
  1250. .i W
  1251. in bold italics
  1252. and append
  1253. .i X .
  1254. .TL
  1255. .b .bx
  1256. .i W
  1257. .i X
  1258. .DE
  1259. Sets
  1260. .i W
  1261. in a box,
  1262. with
  1263. .i X
  1264. appended.
  1265. It won't work right
  1266. if
  1267. .i W
  1268. is spread or broken (including hyphenated).
  1269. In other words,
  1270. it is safe in nofill mode only.
  1271. .TL
  1272. .b .sm
  1273. .i W
  1274. .i X
  1275. .DE
  1276. Sets
  1277. .i W
  1278. in a smaller pointsize,
  1279. with
  1280. .i X
  1281. appended.
  1282. .sh 1 "Roff Support"
  1283. .TL
  1284. .b .ix
  1285. .i +N
  1286. .DE
  1287. Indent,
  1288. no break.
  1289. Equivalent to
  1290. .b \(aain
  1291. .i N .
  1292. .TL
  1293. .b .bl
  1294. .i N
  1295. .DE
  1296. Leave
  1297. .i N
  1298. contiguous white space,
  1299. on the next page if not enough room
  1300. on this page.
  1301. Equivalent to a
  1302. .b .sp
  1303. .i N
  1304. inside a block.
  1305. .TL
  1306. .b .pa
  1307. .i +N
  1308. .DE
  1309. Equivalent to
  1310. .b .bp .
  1311. .TL
  1312. .b .ro
  1313. .DE
  1314. Set page number
  1315. in roman numerals.
  1316. Equivalent to
  1317. .b ".af % i" .
  1318. .TL
  1319. .b .ar
  1320. .DE
  1321. Set page number in Arabic.
  1322. Equivalent to
  1323. .b ".af % 1" .
  1324. .TL
  1325. .b .n1
  1326. .DE
  1327. Number lines in margin from one
  1328. on each page.
  1329. .TL
  1330. .b .n2
  1331. .i N
  1332. .DE
  1333. Number lines from
  1334. .i N ,
  1335. stop if
  1336. .i N
  1337. = 0.
  1338. .TL
  1339. .b .sk
  1340. .DE
  1341. Leave the next output page blank,
  1342. except for headers and footers.
  1343. This is used to leave space
  1344. for a full-page diagram
  1345. which is produced externally
  1346. and pasted in later.
  1347. To get a partial-page paste-in display,
  1348. say
  1349. .b .sv \ \c
  1350. .i N ,
  1351. where
  1352. .i N
  1353. is the amount of space
  1354. to leave;
  1355. this space will be output immediately
  1356. if there is room,
  1357. and will otherwise be output
  1358. at the top of the next page.
  1359. However, be warned:
  1360. if
  1361. .i N
  1362. is greater than the amount of available space
  1363. on an empty page,
  1364. no space will ever be output.
  1365. .sh 1 "Preprocessor Support"
  1366. .TL
  1367. .b .EQ
  1368. .i m
  1369. .i T
  1370. .DE
  1371. Begin equation.
  1372. The equation is centered
  1373. if
  1374. .i m
  1375. is
  1376. .b C
  1377. or omitted,
  1378. indented
  1379. .NR (bi
  1380. [4m]
  1381. if
  1382. .i m
  1383. is
  1384. .b I ,
  1385. and left justified if
  1386. .i m
  1387. is
  1388. .b L .
  1389. .i T
  1390. is a title printed on the right margin
  1391. next to the equation.
  1392. See
  1393. .i "Typesetting Mathematics \- User's Guide"
  1394. by Brian W. Kernighan
  1395. and Lorinda L. Cherry.
  1396. .TL
  1397. .b .EN
  1398. .i c
  1399. .DE
  1400. End equation.
  1401. If
  1402. .i c
  1403. is
  1404. .b C
  1405. the equation must be continued
  1406. by immediately following
  1407. with another
  1408. .b .EQ ,
  1409. the text of which
  1410. can be centered
  1411. along with this one.
  1412. Otherwise,
  1413. the equation is printed,
  1414. always on one page,
  1415. with
  1416. .NR (es
  1417. [0.5v]
  1418. space
  1419. above and below it.
  1420. .TL
  1421. .b .TS
  1422. .i h
  1423. .DE
  1424. Table start.
  1425. Tables are single spaced
  1426. and kept on one page
  1427. if possible.
  1428. If you have a large table
  1429. which will not fit on one page,
  1430. use
  1431. .i h
  1432. =
  1433. .b H
  1434. and follow the header part
  1435. (to be printed on every page of the table)
  1436. with a
  1437. .b .TH .
  1438. See
  1439. .i "Tbl \- A Program to Format Tables"
  1440. by M. E. Lesk.
  1441. .TL
  1442. .b .TH
  1443. .DE
  1444. With
  1445. .b ".TS H" ,
  1446. ends the header portion of the table.
  1447. .TL
  1448. .b .TE
  1449. .DE
  1450. Table end.
  1451. Note that this table
  1452. does not float,
  1453. in fact,
  1454. it is not even guaranteed to stay on one page
  1455. if you use requests such as
  1456. .b .sp
  1457. intermixed with the text
  1458. of the table.
  1459. If you want it to float
  1460. (or if you use requests
  1461. inside the table),
  1462. surround the entire table
  1463. (including the
  1464. .b .TS
  1465. and
  1466. .b .TE
  1467. requests)
  1468. with the requests
  1469. .b .(z
  1470. and
  1471. .b .)z .
  1472. .TL
  1473. .b .PS
  1474. .i h
  1475. .i w
  1476. .DE
  1477. Begin
  1478. .i pic
  1479. picture.
  1480. .i H
  1481. is the height and
  1482. .i w
  1483. is the width,
  1484. both in basic units.
  1485. .TL
  1486. .b .PE
  1487. .DE
  1488. End picture.
  1489. .TL
  1490. .b .IS
  1491. .DE
  1492. Begin
  1493. .i ideal
  1494. picture.
  1495. .TL
  1496. .b .IE
  1497. .DE
  1498. End
  1499. .i ideal
  1500. picture.
  1501. .TL
  1502. .b .IF
  1503. .DE
  1504. End
  1505. .i ideal
  1506. picture (alternate form).
  1507. .TL
  1508. .b .GS
  1509. .i x
  1510. .DE
  1511. Begin
  1512. .i gremlin
  1513. picture.
  1514. .i X
  1515. can be either
  1516. .b C ,
  1517. .b L ,
  1518. or
  1519. .b R
  1520. to center, left, or right justify the
  1521. whole picture.
  1522. Default is centering the image.
  1523. .TL
  1524. .b .GE
  1525. .DE
  1526. End
  1527. .i gremlin
  1528. picture.
  1529. .TL
  1530. .b .GF
  1531. .DE
  1532. End
  1533. .i gremlin
  1534. picture (alternate form).
  1535. .sh 1 "Miscellaneous"
  1536. .TL
  1537. .b .re
  1538. .DE
  1539. Reset tabs every 0.5i.
  1540. .TL
  1541. .b .ba
  1542. .i +N
  1543. .DE
  1544. Set the base indent
  1545. to
  1546. .i +N
  1547. [0]
  1548. (saved in
  1549. .NR ($i ).
  1550. All paragraphs,
  1551. sections,
  1552. and displays
  1553. come out indented by this amount.
  1554. Titles and footnotes
  1555. are unaffected.
  1556. The
  1557. .b .sh
  1558. request performs a
  1559. .b .ba
  1560. request
  1561. if
  1562. .NR (si
  1563. [0] is not zero,
  1564. and sets the base indent to
  1565. .NR (si \c
  1566. .b * \c
  1567. .NR ($0 .
  1568. .TL
  1569. .b .xl
  1570. .i +N
  1571. .DE
  1572. Set the line length to
  1573. .i N
  1574. [6.0i].
  1575. This differs
  1576. from
  1577. .b .ll
  1578. because it only affects the current environment.
  1579. .TL
  1580. .b .ll
  1581. .i +N
  1582. .DE
  1583. Set line length in all environments
  1584. to
  1585. .i N
  1586. [6.0i].
  1587. This should not be used
  1588. after output has begun,
  1589. and particularly not in two-column output.
  1590. The current line length is stored in
  1591. .NR ($l .
  1592. .TL
  1593. .b .hl
  1594. .DE
  1595. Draws a horizontal line
  1596. the length of the page.
  1597. This is useful
  1598. inside floating keeps
  1599. to differentiate
  1600. between the text
  1601. and the figure.
  1602. .sh 1 "Standard Papers"
  1603. .TL
  1604. .b .tp
  1605. .DE
  1606. Begin title page.
  1607. Spacing at the top of the page
  1608. can occur,
  1609. and headers and footers are suppressed.
  1610. Also,
  1611. the page number
  1612. is not incremented
  1613. for this page.
  1614. .TL
  1615. .b .++
  1616. .i m
  1617. .i H
  1618. .DE
  1619. This request defines the section of the paper
  1620. which we are entering.
  1621. The section type is defined by
  1622. .i m .
  1623. .b C
  1624. means that we are entering the chapter portion
  1625. of the paper,
  1626. .b A
  1627. means that we are entering the appendix portion
  1628. of the paper,
  1629. .b P
  1630. means that the material following
  1631. should be the preliminary portion
  1632. (abstract, table of contents, etc.)
  1633. portion of the paper,
  1634. .b AB
  1635. means that we are entering the abstract
  1636. (numbered independently from 1
  1637. in Arabic numerals),
  1638. and
  1639. .b B
  1640. means that we are entering the bibliographic
  1641. portion at the end of the paper.
  1642. Also, the variants
  1643. .b RC
  1644. and
  1645. .b RA
  1646. are allowed,
  1647. which specify renumbering of pages
  1648. from one at the beginning of each
  1649. chapter or appendix,
  1650. respectively.
  1651. The section type is available in register
  1652. .NR (_M
  1653. [1]; value 1 is equivalent to type
  1654. .b C
  1655. or
  1656. .b RC ,
  1657. value 2 represents type
  1658. .b A
  1659. or
  1660. .b RA ,
  1661. and values 3 to 5 are type
  1662. .b P ,
  1663. .b B ,
  1664. and
  1665. .b AB ,
  1666. respectively.
  1667. The
  1668. .i H
  1669. parameter defines the new header.
  1670. If there are any spaces in it,
  1671. the entire header must be quoted.
  1672. If you want the header to have the chapter number
  1673. in it,
  1674. Use the string
  1675. .b "\e\e\e\en(ch" .
  1676. For example, to number appendixes
  1677. .b A.1
  1678. etc.,
  1679. type
  1680. .b ".++ RA \(aa\(aa\(aa\e\e\e\en(ch.%\(aa" .
  1681. Each section
  1682. (chapter, appendix, etc.)
  1683. should be preceded by the
  1684. .b .+c
  1685. request.
  1686. It should be mentioned
  1687. that it is easier when using
  1688. \*T to put the front material
  1689. at the end of the paper,
  1690. so that the table of contents
  1691. can be collected and put out;
  1692. this material can then be physically
  1693. moved to the beginning of the paper.
  1694. .TL
  1695. .b .+c
  1696. .i T
  1697. .DE
  1698. Begin chapter with title
  1699. .i T .
  1700. The chapter number
  1701. is maintained in
  1702. .NR (ch .
  1703. This register is incremented
  1704. every time
  1705. .b .+c
  1706. is called with a parameter.
  1707. The title and chapter number
  1708. are printed by
  1709. .b .$c .
  1710. The header is moved to the footer
  1711. on the first page
  1712. of each chapter.
  1713. If
  1714. .i T
  1715. is omitted,
  1716. .b .$c
  1717. is not called;
  1718. this is useful for doing your own
  1719. .q "title page"
  1720. at the beginning of papers
  1721. without a title page proper.
  1722. .b .$c
  1723. calls
  1724. .b .$C
  1725. as a hook so that chapter titles can be inserted
  1726. into a table of contents automatically.
  1727. The footnote numbering is reset to one.
  1728. .TL
  1729. .b .$c
  1730. .i T
  1731. .DE
  1732. Print chapter number
  1733. (from
  1734. .NR (ch )
  1735. and
  1736. .i T .
  1737. This macro can be redefined to your liking.
  1738. It is defined by default
  1739. to be acceptable
  1740. for a PhD thesis
  1741. at Berkeley.
  1742. This macro calls
  1743. .b $C ,
  1744. which can be defined to make index entries,
  1745. or whatever.
  1746. .TL
  1747. .b .$C
  1748. .i K
  1749. .i N
  1750. .i T
  1751. .DE
  1752. This macro is called by
  1753. .b .$c .
  1754. It is normally undefined,
  1755. but can be used to automatically insert
  1756. index entries,
  1757. or whatever.
  1758. .i K
  1759. is a keyword,
  1760. either
  1761. .q Chapter
  1762. or
  1763. .q Appendix
  1764. (depending on the
  1765. .b .++
  1766. mode);
  1767. .i N
  1768. is the chapter or appendix number,
  1769. and
  1770. .i T
  1771. is the chapter or appendix title.
  1772. .sh 1 "Predefined Strings"
  1773. .TL
  1774. .ST *
  1775. .DE
  1776. Footnote number, actually
  1777. .ST [ \c
  1778. .NR ($f \c
  1779. .ST ] .
  1780. This macro is incremented
  1781. after each call to
  1782. .b .)f .
  1783. .TL
  1784. .ST #
  1785. .DE
  1786. Delayed text number.
  1787. Actually
  1788. [\c
  1789. .NR ($d ].
  1790. .TL
  1791. .ST {
  1792. .DE
  1793. Superscript.
  1794. This string gives upward movement
  1795. and a change to a smaller point size.
  1796. Extra space is left above the line
  1797. to allow room for the superscript.
  1798. .TL
  1799. .ST }
  1800. .DE
  1801. Unsuperscript.
  1802. Inverse to
  1803. .ST { .
  1804. For example,
  1805. to produce a superscript
  1806. you might type
  1807. .b x \c
  1808. .ST { \c
  1809. .b 2 \c
  1810. .ST } ,
  1811. which will produce
  1812. .b x\*{2\*} .
  1813. .TL
  1814. .ST <
  1815. .DE
  1816. Subscript.
  1817. Extra space is left below the line
  1818. to allow for the subscript.
  1819. .TL
  1820. .ST >
  1821. .DE
  1822. Inverse to
  1823. .ST < .
  1824. .TL
  1825. .ST (dw
  1826. .DE
  1827. The day of the week,
  1828. as a word.
  1829. .TL
  1830. .ST (mo
  1831. .DE
  1832. The month,
  1833. as a word.
  1834. .TL
  1835. .ST (td
  1836. .DE
  1837. Today's date,
  1838. directly printable.
  1839. The date is of the form February 15, 2003.
  1840. Other forms of the date can be used
  1841. by using
  1842. .NR (dy
  1843. (the day of the month;
  1844. for example, 15),
  1845. .ST (mo
  1846. (as noted above)
  1847. or
  1848. .NR (mo
  1849. (the same,
  1850. but as an ordinal number;
  1851. for example, February is 2),
  1852. .NR (y4
  1853. (the current year),
  1854. and
  1855. .NR (y2
  1856. (the last two digits of the current year).
  1857. .TL
  1858. .ST (lq
  1859. .DE
  1860. Left quote marks.
  1861. .TL
  1862. .ST (rq
  1863. .DE
  1864. Right quote.
  1865. .TL
  1866. .ST \-
  1867. .DE
  1868. .ie \w'\(34'>0 \(34
  1869. .el 3/4
  1870. em dash.
  1871. .sh 1 "Special Characters and Marks"
  1872. .pp
  1873. There are a number of special characters
  1874. and diacritical marks
  1875. (such as accents)
  1876. available through \-me.
  1877. .ta 15 +5 +6
  1878. .nf
  1879. Name Usage Example
  1880. Acute accent \e*\(aa a\e*\(aa a\*'
  1881. Grave accent \e*\(ga e\e*\(ga e\*`
  1882. Umlaut \e*: u\e*: u\*:
  1883. Tilde \e*~ n\e*~ n\*~
  1884. Caret \e*^ e\e*^ e\*^
  1885. Cedilla \e*, c\e*, c\*,
  1886. Czech \e*v e\e*v e\*v
  1887. Circle \e*o A\e*o A\*o
  1888. There exists \e*(qe \*(qe
  1889. For all \e*(qa \*(qa
  1890. .fi
  1891. .sp 1i
  1892. .b Acknowledgments
  1893. .pp
  1894. I would like to thank
  1895. Bob Epstein,
  1896. Bill Joy,
  1897. and Larry Rowe
  1898. for having the courage
  1899. to use the \-me macros
  1900. to produce non-trivial papers
  1901. during the development stages;
  1902. Ricki Blau,
  1903. Pamela Humphrey,
  1904. and Jim Joyce
  1905. for their help with the documentation phase;
  1906. peter kessler
  1907. for numerous complaints,
  1908. most accompanied by fixes;
  1909. and the plethora of people who have contributed ideas
  1910. and have given support for the project.
  1911. .bp
  1912. .b Summary
  1913. .pp
  1914. This alphabetical list summarizes all macros, strings, and number registers
  1915. available in the \-me macros.
  1916. Selected
  1917. .i troff
  1918. commands, registers, and functions are included as well;
  1919. those listed can generally be used with impunity.
  1920. .pp
  1921. The columns are the name of the
  1922. command, macro, register, or string;
  1923. the type of the object,
  1924. and the description.
  1925. Types are
  1926. .b M
  1927. for macro or builtin command
  1928. (invoked with
  1929. .b \&.
  1930. or
  1931. .b \&\'
  1932. in the first input column),
  1933. .b S
  1934. for a string
  1935. (invoked with
  1936. .b \e*
  1937. or
  1938. .b \e*( ),
  1939. .b R
  1940. for a number register
  1941. (invoked with
  1942. .b \en
  1943. or
  1944. .b \en( ),
  1945. and
  1946. .b F
  1947. for a
  1948. .i troff
  1949. builtin function
  1950. (invoked by preceding it with a single backslash).
  1951. .pp
  1952. Lines marked with \(sc are
  1953. .i troff
  1954. internal codes.
  1955. Lines marked with \(dg or \(dd
  1956. may be defined by the user to get special functions;
  1957. \(dd indicates that these are defined by default
  1958. and changing them may have unexpected side effects.
  1959. Lines marked with \(de
  1960. are specific to
  1961. .i ditroff
  1962. (device-independent
  1963. .i troff ).
  1964. .de $H
  1965. .ev 1
  1966. .ta \w'\e(space)\(sc\ 'u +\w'TYPE 'u
  1967. NAME TYPE DESCRIPTION
  1968. .ev
  1969. ..
  1970. .(l
  1971. .$H
  1972. \e(space) F\(sc unpaddable space
  1973. \e" F\(sc comment (to end of line)
  1974. \e*# S optional delayed text tag string
  1975. \e$\fI\&N\fP F\(sc interpolate argument \fI\&N\fP
  1976. \en($0 R section depth
  1977. \&.$0 M\(dg invoked after section title printed
  1978. \en($1 R first section number
  1979. \&.$1 M\(dg invoked before printing depth 1 section
  1980. \en($2 R second section number
  1981. \&.$2 M\(dg invoked before printing depth 2 section
  1982. \en($3 R third section number
  1983. \&.$3 M\(dg invoked before printing depth 3 section
  1984. \en($4 R fourth section number
  1985. \&.$4 M\(dg invoked before printing depth 4 section
  1986. \en($5 R fifth section number
  1987. \&.$5 M\(dg invoked before printing depth 5 section
  1988. \en($6 R sixth section number
  1989. \&.$6 M\(dg invoked before printing depth 6 section
  1990. \&.$C M\(dg called at beginning of chapter
  1991. \&.$H M\(dg text header
  1992. \en($V R\(dd relative vertical spacing in displays
  1993. \en($c R current column number
  1994. \&.$c M\(dd print chapter title
  1995. \en($d R delayed text number
  1996. \en($f R footnote number
  1997. \&.$f M\(dd print footer
  1998. \&.$h M\(dd print header
  1999. \en($i R paragraph base indent
  2000. \en($l R column width
  2001. \en($m R number of columns in effect
  2002. \e*($n S section name
  2003. \en($p R numbered paragraph number
  2004. \&.$p M\(dd print section heading (internal macro)
  2005. \en($s R column indent
  2006. \&.$s M\(dd footnote separator (from text)
  2007. \en($v R\(dd relative vertical spacing in text
  2008. \en% R\(sc current page number
  2009. \e& F\(sc zero width character, useful for hiding controls
  2010. \e(\fI\&xx\fP F\(sc interpolate special character \fI\&xx\fP
  2011. \&.(b M begin block
  2012. \&.(c M begin centered block
  2013. \&.(d M begin delayed text
  2014. \&.(f M begin footnote
  2015. \&.(l M begin list
  2016. \&.(q M begin quote
  2017. \&.(x M begin index entry
  2018. \&.(z M begin floating keep
  2019. \&.)b M end block
  2020. \&.)c M end centered block
  2021. \&.)d M end delayed text
  2022. \&.)f M end footnote
  2023. \&.)l M end list
  2024. \&.)q M end quote
  2025. \&.)x M end index entry
  2026. \&.)z M end floating keep
  2027. \e*\fI\&x\fP F\(sc interpolate string \fI\&x\fP
  2028. \e*(\fI\&xx\fP F\(sc interpolate string \fI\&xx\fP
  2029. \e** S optional footnote tag string
  2030. \&.++ M set paper section type
  2031. \&.+c M begin chapter
  2032. \e*, S cedilla
  2033. \e\- F\(sc minus sign
  2034. \e*\- S 3/4 em dash
  2035. \e0 F\(sc unpaddable digit-width space
  2036. \&.1c M revert to single column output
  2037. \&.2c M begin two column output
  2038. \e*: S umlaut
  2039. \e*< S begin subscript
  2040. \e*> S end subscript
  2041. \&.EN M end equation
  2042. \&.EQ M begin equation
  2043. \eL\'\fI\&d\fP\' F\(sc vertical line drawing function for distance \fI\&d\fP
  2044. \&.GE M\(de end \fIgremlin\fP picture
  2045. \&.GF M\(de end \fIgremlin\fP picture (with flyback)
  2046. \&.GS M\(de start \fIgremlin\fP picture
  2047. \&.IE M\(de end \fIideal\fP picture
  2048. \&.IF M\(de end \fIideal\fP picture (with flyback)
  2049. \&.IS M\(de start \fIideal\fP picture
  2050. \&.PE M\(de end \fIpic\fP picture
  2051. \&.PF M\(de end \fIpic\fP picture (with flyback)
  2052. \&.PS M\(de start \fIpic\fP picture
  2053. \&.TE M end table
  2054. \&.TH M end header of table
  2055. \&.TS M begin table
  2056. \e*{ S begin superscript
  2057. \en(\&.$ R\(sc number of arguments to macro
  2058. \en(\&.i R\(sc current indent
  2059. \en(\&.l R\(sc current line length
  2060. \en(\&.s R\(sc current point size
  2061. \e*(\&\' S acute accent
  2062. \e*(\&\` S grave accent
  2063. \e(\' F\(sc acute accent
  2064. \e(\` F\(sc grave accent
  2065. \e*} S end superscript
  2066. \e^ F\(sc 1/12 em narrow space
  2067. \e*^ S caret
  2068. \&.ad M\(sc set text adjustment
  2069. \&.af M\(sc assign format to register
  2070. \&.am M\(sc append to macro
  2071. \&.ar M set page numbers in Arabic
  2072. \&.as M\(sc append to string
  2073. \&.b M bold font
  2074. \&.ba M set base indent
  2075. \&.bc M begin new column
  2076. \&.bi M bold italic
  2077. \en(bi R display (block) indent
  2078. \&.bl M blank lines (even at top of page)
  2079. \en(bm R bottom title margin
  2080. \&.bp M\(sc begin page
  2081. \&.br M\(sc break (start new line)
  2082. \en(bs R display (block) pre/post spacing
  2083. \en(bt R block keep threshold
  2084. \&.bx M boxed
  2085. \ec F\(sc continue input
  2086. \&.ce M\(sc center lines
  2087. \en(ch R current chapter number
  2088. \&.de M\(sc define macro
  2089. \en(df R display font
  2090. \&.ds M\(sc define string
  2091. \en(dw R\(sc current day of week
  2092. \e*(dw S current day of week
  2093. \en(dy R\(sc day of month
  2094. \ee F\(sc printable version of \e
  2095. \&.ef M set footer (even numbered pages only)
  2096. \&.eh M set header (even numbered pages only)
  2097. \&.el M\(sc else part of conditional
  2098. \&.ep M end page
  2099. \en(es R equation pre/post space
  2100. \ef\fI\&f\fP F\(sc inline font change to font \fI\&f\fP
  2101. \ef(\fI\&ff\fP F\(sc inline font change to font \fI\&ff\fP
  2102. \&.fc M\(sc set field characters
  2103. \en(ff R footnote font
  2104. \&.fi M\(sc fill output lines
  2105. \en(fi R footnote indent (first line only)
  2106. \en(fm R footer margin
  2107. \&.fo M set footer
  2108. \en(fp R footnote pointsize
  2109. \en(fs R footnote prespace
  2110. \en(fu R footnote undent (from right margin)
  2111. \eh\'\fI\&d\fP\' F\(sc local horizontal motion for distance \fI\&d\fP
  2112. \&.hc M\(sc set hyphenation character
  2113. \&.he M set header
  2114. \&.hl M draw horizontal line
  2115. \en(hm R header margin
  2116. \&.hx M suppress headers and footers on next page
  2117. \&.hy M\(sc set hyphenation mode
  2118. \&.i M italic font
  2119. \&.ie M\(sc conditional with else
  2120. \&.if M\(sc conditional
  2121. \en(ii R indented paragraph indent
  2122. \&.in M\(sc indent (transient, use .ba for pervasive)
  2123. \&.ip M begin indented paragraph
  2124. \&.ix M indent, no break
  2125. \el\'\fI\&d\fP\' F\(sc horizontal line drawing function for distance \fI\&d\fP
  2126. \&.lc M\(sc set leader repetition character
  2127. \&.ll M set line length
  2128. \&.lp M begin left justified paragraph
  2129. \e*(lq S left quote marks
  2130. \&.ls M\(sc set multi-line spacing
  2131. \&.m1 M set space from top of page to header
  2132. \&.m2 M set space from header to text
  2133. \&.m3 M set space from text to footer
  2134. \&.m4 M set space from footer to bottom of page
  2135. \&.mc M\(sc insert margin character
  2136. \&.mk M\(sc mark vertical position
  2137. \en(mo R\(sc month of year
  2138. \e*(mo S current month
  2139. \en\fI\&x\fP F\(sc interpolate number register \fI\&x\fP
  2140. \en(\fI\&xx\fP F\(sc interpolate number register \fI\&xx\fP
  2141. \&.n1 M number lines in margin
  2142. \&.n2 M number lines in margin
  2143. \&.na M\(sc turn off text adjustment
  2144. \&.ne M\(sc need vertical space
  2145. \&.nf M\(sc don't fill output lines
  2146. \&.nh M\(sc turn off hyphenation
  2147. \&.np M begin numbered paragraph
  2148. \&.nr M\(sc set number register
  2149. \&.ns M\(sc no space mode
  2150. \e*o S circle (e.g., for Norse A\*o)
  2151. \&.of M set footer (odd numbered pages only)
  2152. \&.oh M set header (odd numbered pages only)
  2153. \&.pa M begin page
  2154. \&.pd M print delayed text
  2155. \en(pf R paragraph font
  2156. \en(pi R paragraph indent
  2157. \&.pl M\(sc set page length
  2158. \&.pn M\(sc set next page number
  2159. \&.po M\(sc page offset
  2160. \en(po R simulated page offset
  2161. \&.pp M begin paragraph
  2162. \en(pp R paragraph pointsize
  2163. \en(ps R paragraph prespace
  2164. \&.q M quoted
  2165. \e*(qa S for all
  2166. \e*(qe S there exists
  2167. \en(qi R quote indent (also shortens line)
  2168. \en(qp R quote pointsize
  2169. \en(qs R quote pre/post space
  2170. \&.r M roman font
  2171. \&.rb M real bold font
  2172. \&.re M reset tabs
  2173. \&.rm M\(sc remove macro or string
  2174. \&.rn M\(sc rename macro or string
  2175. \&.ro M set page numbers in roman
  2176. \e*(rq S right quote marks
  2177. \&.rr M\(sc remove register
  2178. \&.rs M\(sc restore spacing
  2179. \&.rt M\(sc return to vertical position
  2180. \es\fI\&S\fP F\(sc inline size change to size \fI\&S\fP
  2181. \en(sf R section title font
  2182. \&.sh M begin numbered section
  2183. \en(si R relative base indent per section depth
  2184. \&.sk M skip next page
  2185. \&.sm M set argument in a smaller pointsize
  2186. \&.so M\(sc source input file
  2187. \en(so R additional section title offset
  2188. \&.sp M\(sc vertical space
  2189. \en(sp R section title pointsize
  2190. \en(ss R section prespace
  2191. \&.sx M change section depth
  2192. \&.sz M set pointsize and vertical spacing
  2193. \&.ta M\(sc set tab stops
  2194. \&.tc M\(sc set tab repetition character
  2195. \e*(td S today's date
  2196. \en(tf R title font
  2197. \&.ti M\(sc temporary indent (next line only)
  2198. \&.tl M\(sc three part title
  2199. \en(tm R top title margin
  2200. \&.tp M begin title page
  2201. \en(tp R title pointsize
  2202. \&.tr M\(sc translate
  2203. \&.u M underlined
  2204. \&.uh M unnumbered section
  2205. \&.ul M\(sc underline next line
  2206. \ev\'\fI\&d\fP\' F\(sc local vertical motion for distance \fI\&d\fP
  2207. \e*v S inverted `v' for czeck ``e\*v''
  2208. \ew\'\fI\&S\fP\' F\(sc return width of string \fI\&S\fP
  2209. \&.xl M set line length (local)
  2210. \&.xp M print index
  2211. \en(xs R index entry prespace
  2212. \en(xu R index undent (from right margin)
  2213. \en(y2 R year (last two digits only)
  2214. \en(y4 R year (all digits)
  2215. \en(yr R\(sc year minus 1900
  2216. \en(zs R floating keep pre/post space
  2217. \e{ F\(sc begin conditional group
  2218. \e| F\(sc 1/6 em narrow space
  2219. \e} F\(sc end conditional group
  2220. \e*~ S tilde
  2221. \en(_M R section type (as set with .++ macro)
  2222. .)l
  2223. .rm $H