groff before CVS: release 1.06
[s-roff.git] / tmac / groff_ms.man
blob9a5d40e8a5bace1bb02204f73aae8d0d38f9c6bb
1 .\" -*- nroff -*-
2 .TH GROFF_MS @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
3 .SH NAME
4 groff_ms \- groff ms macros
5 .SH SYNOPSIS
6 .B groff
7 .B \-m@TMAC_S@
9 .IR options .\|.\|.
12 .IR files .\|.\|.
14 .SH DESCRIPTION
15 This manual page describes the GNU version of the ms macros,
16 which is part of the groff document formatting system.
17 The groff ms macros are intended to be compatible with the 4.3
18 .SM BSD
19 Unix ms macros subject to the following limitations:
20 .IP \(bu
21 the internals of groff ms are not similar to the internals of Unix ms
22 and so documents that depend upon implementation details of Unix ms
23 may well not work with groff ms;
24 .IP \(bu
25 there is no support for typewriter-like devices;
26 .IP \(bu
27 Berkeley localisms, in particular the
28 .B TM
29 and
30 .B CT
31 macros, are not implemented;
32 .IP \(bu
33 groff ms
34 does not provide cut marks;
35 .IP \(bu
36 multiple line spacing is not allowed
37 (use a larger vertical spacing instead);
38 .IP \(bu
39 groff ms does not work in compatibility mode (eg with the
40 .B \-C
41 option);
42 .IP \(bu
43 the error-handling policy of groff ms
44 is to detect and report errors,
45 rather than silently to ignore them.
46 .LP
47 The groff ms macros make use of many features of GNU troff
48 and therefore cannot be used with any other troff.
49 .LP
50 Bell Labs localisms are not implemented in either the
51 .SM BSD
52 ms macros or in the groff ms macros.
53 .LP
54 Some Unix ms documentation says that the
55 .B CW
56 and
57 .B GW
58 number registers can be used to control the column width and
59 gutter width respectively.
60 This is not the case.
61 These number registers are not used in groff ms.
62 .LP
63 Macros that cause a reset set the indent.
64 Macros that change the indent do not increment or decrement
65 the indent, but rather set it absolutely.
66 This can cause problems for documents that define
67 additional macros of their own.
68 The solution is to use not the
69 .B in
70 request but instead the
71 .B RS
72 and
73 .B RE
74 macros.
75 .LP
76 The number register
77 .B GS
78 is set to 1 by the groff ms macros,
79 but is not used by the Unix ms macros.
80 It is intended that documents that need to determine whether
81 they are being formatted with Unix ms or groff ms make use of this
82 number register.
83 .LP
84 Footnotes are implemented so that they can safely be used within
85 keeps and displays.
86 Automatically numbered footnotes within floating keeps are
87 not recommended.
88 It is safe to have another
89 .B \e**
90 between a
91 .B \e**
92 and the corresponding
93 .BR .FS ;
94 it is required only that each
95 .B .FS
96 occur after the corresponding
97 .B \e**
98 and that the occurrences of
99 .B .FS
100 are in the same order as the corresponding occurrences of
101 .BR \e** .
103 The strings
104 .B \e*{
106 .B \e*}
107 can be used to begin and end a superscript.
109 Some Unix V10 ms features are implemented.
111 .BR B ,
112 .BR I
114 .B BI
115 macros can have an optional third argument which will be printed
116 in the current font before the first argument.
117 There is a macro
118 .B CW
119 like
120 .B B
121 that changes to a constant-width font.
123 The following strings can be redefined to adapt the groff ms macros
124 to languages other than English:
127 .ta \w'REFERENCES'u+2n
128 String  Default Value
129 .sp .3v
130 REFERENCES      References
131 ABSTRACT        ABSTRACT
132 TOC     Table of Contents
133 MONTH1  January
134 MONTH2  February
135 MONTH3  March
136 MONTH4  April
137 MONTH5  May
138 MONTH6  June
139 MONTH7  July
140 MONTH8  August
141 MONTH9  September
142 MONTH10 October
143 MONTH11 November
144 MONTH12 December
147 The font family is reset from the string
148 .BR FAM ;
149 at initialization if this string is undefined it is set to the current
150 font family.
151 The point size, vertical spacing, and inter-paragraph spacing for footnotes
152 are taken from the number registers
153 .BR FPS ,
154 .BR FVS ,
156 .BR FPD ;
157 at initialization these are set to
158 .BR \en(PS-2 ,
159 .BR \en[FPS]+2 ,
161 .B \en(PD/2
162 respectively; however, if any of these registers has been defined
163 before initialization, it will not be set.
165 Right-aligned displays are available with
166 .B ".DS R"
168 .BR .RD .
170 The following conventions are used for names of macros, strings and
171 number registers.
172 External names available to documents that use the groff ms
173 macros contain only uppercase letters and digits.
174 Internally the macros are divided into modules.
175 Names used only within one module are of the form
176 .IB module * name\fR.
177 Names used outside the module in which they are defined are of the form
178 .IB module @ name\fR.
179 Names associated with a particular environment are of the form
180 .IB environment : name;
181 these are used only within the
182 .B par
183 module,
185 .I name
186 does not have a module prefix.
187 Constructed names used to implement arrays are of the form
188 .IB array ! index\fR.
189 Thus the groff ms macros reserve the following names:
190 .IP \(bu
191 names containing
192 .BR * ;
193 .IP \(bu
194 names containing
195 .BR @ ;
196 .IP \(bu
197 names containing
198 .BR : ;
199 .IP \(bu
200 names containing only uppercase letters and digits.
201 .SH FILES
202 .B @MACRODIR@/tmac.@TMAC_S@
203 .SH "SEE ALSO"
204 .BR groff (@MAN1EXT@),
205 .BR @g@troff (@MAN1EXT@),
206 .BR @g@tbl (@MAN1EXT@),
207 .BR @g@pic (@MAN1EXT@),
208 .BR @g@eqn (@MAN1EXT@)
210 .BR ms (@MAN7EXT@)