Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / groff / contrib / mm / NOTES
1 ######################################################################
2 $Id: NOTES,v 2.0 2000/09/14 03:40:24 jhaegg Exp $
3
4 Beware!
5 This may be old information. Trust only the source. :-)
6
7 Implementation notes. (Or how to make your own national mm)
8
9 Different commands:
10
11 COVER [arg]
12 MT [arg [addressee]]
13 The arg is part of a filename in mm/*.MT or mm/*.cov.
14 This file is read when the macro is executed. Therefore it must be
15 put before any text output.
16 In each file there are definitions of all extra macros needed for the
17 cover sheet. MT files is only for compatibility reasons, and has several
18 limits due to that it don't know when the cover starts, and cannot
19 change sizes. Use COVER for new coversheet macros.
20
21 But with MT it is possible to write all of the AT&T covers.
22 An example can be found in mm/0.MT.
23
24 When writing a new cover using COVER, have in mind that the cover
25 should print the page with the COVEND macro. This macro
26 should be defined by the new macrofile.
27
28 Here is a part of ms.cov:
29 > .\"-----------------
30 > .de COVEND
31 > .sp |4.2c
32 > .cov@print-title
33 > .cov@print-authors
34 > .cov@print-firm
35 > .cov@print-abstract
36 > .cov@print-date
37 This is important, since COVER disables the page header.
38 > .pg@enable-top-trap
39 Should begin with page one (normally).
40 > .bp 1
41 And enable the trap at the page footer.
42 > .pg@enable-trap
43 > ..
44
45 #########################
46
47 Variables for covers:
48 I = integer
49 S = string
50 D = diversion
51 M = macro
52
53 Name                    Type    Desc.
54 cov*au                  I       The number of authors.
55
56 cov*title               M       Title collected with .TL.
57
58 cov*au!x!y              S       Author(s) given to .AU
59 cov*at!x!y              S       Author(s) title given to .AT
60                                 x is the author-index [1-cov*au],
61                                 y is the argument-index [1-9].
62                                 Look at the table with indexes.
63
64 cov*firm                I       Author(s) firm.
65
66 cov*abs-arg             I       Argument to abstract.
67
68 cov*abs-ind             I       Indent for abstract.
69
70 cov*abs-name            S       The string 'ABSTRACT', changed with .AST
71
72 cov*abstract            M       The abstract.
73
74 cov*new-date            S       The date (todays date if ND is not used)
75
76 cov*mt-type             S       MT type
77 cov*mt-addresse         S       MT addressee
78
79
80 ##########################
81 Argument-index for cov*au:
82
83 Index           Desc.
84 1               name
85 2               initials
86 3               location
87 4               department
88 5               extension
89 6               room
90 7               arg 7
91 8               arg 8
92 9               arg 9
93
94 The location is set to the contents of string cov*location-xxxx
95 if location is equal to xxxx and cov*location-xxxx is defined
96 in the file locale.
97
98
99 Argument-index for cov*at:
100
101 Index           Desc.
102 1               title 1
103 .               .
104 .               .
105 9               title 9