xref: /netbsd-src/external/gpl2/groff/dist/contrib/mm/NOTES (revision 89a07cf815a29524268025a1139fac4c5190f765)
1*89a07cf8Schristos######################################################################
2*89a07cf8SchristosId: NOTES,v 2.0 2000/09/14 03:40:24 jhaegg Exp
3*89a07cf8Schristos
4*89a07cf8SchristosBeware!
5*89a07cf8SchristosThis may be old information. Trust only the source. :-)
6*89a07cf8Schristos
7*89a07cf8SchristosImplementation notes. (Or how to make your own national mm)
8*89a07cf8Schristos
9*89a07cf8SchristosDifferent commands:
10*89a07cf8Schristos
11*89a07cf8SchristosCOVER [arg]
12*89a07cf8SchristosMT [arg [addressee]]
13*89a07cf8SchristosThe arg is part of a filename in mm/*.MT or mm/*.cov.
14*89a07cf8SchristosThis file is read when the macro is executed. Therefore it must be
15*89a07cf8Schristosput before any text output.
16*89a07cf8SchristosIn each file there are definitions of all extra macros needed for the
17*89a07cf8Schristoscover sheet. MT files is only for compatibility reasons, and has several
18*89a07cf8Schristoslimits due to that it don't know when the cover starts, and cannot
19*89a07cf8Schristoschange sizes. Use COVER for new coversheet macros.
20*89a07cf8Schristos
21*89a07cf8SchristosBut with MT it is possible to write all of the AT&T covers.
22*89a07cf8SchristosAn example can be found in mm/0.MT.
23*89a07cf8Schristos
24*89a07cf8SchristosWhen writing a new cover using COVER, have in mind that the cover
25*89a07cf8Schristosshould print the page with the COVEND macro. This macro
26*89a07cf8Schristosshould be defined by the new macrofile.
27*89a07cf8Schristos
28*89a07cf8SchristosHere is a part of ms.cov:
29*89a07cf8Schristos> .\"-----------------
30*89a07cf8Schristos> .de COVEND
31*89a07cf8Schristos> .sp |4.2c
32*89a07cf8Schristos> .cov@print-title
33*89a07cf8Schristos> .cov@print-authors
34*89a07cf8Schristos> .cov@print-firm
35*89a07cf8Schristos> .cov@print-abstract
36*89a07cf8Schristos> .cov@print-date
37*89a07cf8SchristosThis is important, since COVER disables the page header.
38*89a07cf8Schristos> .pg@enable-top-trap
39*89a07cf8SchristosShould begin with page one (normally).
40*89a07cf8Schristos> .bp 1
41*89a07cf8SchristosAnd enable the trap at the page footer.
42*89a07cf8Schristos> .pg@enable-trap
43*89a07cf8Schristos> ..
44*89a07cf8Schristos
45*89a07cf8Schristos#########################
46*89a07cf8Schristos
47*89a07cf8SchristosVariables for covers:
48*89a07cf8SchristosI = integer
49*89a07cf8SchristosS = string
50*89a07cf8SchristosD = diversion
51*89a07cf8SchristosM = macro
52*89a07cf8Schristos
53*89a07cf8SchristosName			Type	Desc.
54*89a07cf8Schristoscov*au			I	The number of authors.
55*89a07cf8Schristos
56*89a07cf8Schristoscov*title		M	Title collected with .TL.
57*89a07cf8Schristos
58*89a07cf8Schristoscov*au!x!y		S	Author(s) given to .AU
59*89a07cf8Schristoscov*at!x!y		S	Author(s) title given to .AT
60*89a07cf8Schristos				x is the author-index [1-cov*au],
61*89a07cf8Schristos				y is the argument-index [1-9].
62*89a07cf8Schristos				Look at the table with indexes.
63*89a07cf8Schristos
64*89a07cf8Schristoscov*firm		I	Author(s) firm.
65*89a07cf8Schristos
66*89a07cf8Schristoscov*abs-arg		I	Argument to abstract.
67*89a07cf8Schristos
68*89a07cf8Schristoscov*abs-ind		I	Indent for abstract.
69*89a07cf8Schristos
70*89a07cf8Schristoscov*abs-name		S	The string 'ABSTRACT', changed with .AST
71*89a07cf8Schristos
72*89a07cf8Schristoscov*abstract		M	The abstract.
73*89a07cf8Schristos
74*89a07cf8Schristoscov*new-date		S	The date (todays date if ND is not used)
75*89a07cf8Schristos
76*89a07cf8Schristoscov*mt-type		S	MT type
77*89a07cf8Schristoscov*mt-addresse 	S	MT addressee
78*89a07cf8Schristos
79*89a07cf8Schristos
80*89a07cf8Schristos##########################
81*89a07cf8SchristosArgument-index for cov*au:
82*89a07cf8Schristos
83*89a07cf8SchristosIndex		Desc.
84*89a07cf8Schristos1		name
85*89a07cf8Schristos2		initials
86*89a07cf8Schristos3		location
87*89a07cf8Schristos4		department
88*89a07cf8Schristos5		extension
89*89a07cf8Schristos6		room
90*89a07cf8Schristos7		arg 7
91*89a07cf8Schristos8		arg 8
92*89a07cf8Schristos9		arg 9
93*89a07cf8Schristos
94*89a07cf8SchristosThe location is set to the contents of string cov*location-xxxx
95*89a07cf8Schristosif location is equal to xxxx and cov*location-xxxx is defined
96*89a07cf8Schristosin the file locale.
97*89a07cf8Schristos
98*89a07cf8Schristos
99*89a07cf8SchristosArgument-index for cov*at:
100*89a07cf8Schristos
101*89a07cf8SchristosIndex		Desc.
102*89a07cf8Schristos1		title 1
103*89a07cf8Schristos.		.
104*89a07cf8Schristos.		.
105*89a07cf8Schristos9		title 9
106