Explicitly request literal mode after .Xr.
[netbsd-mini2440.git] / gnu / usr.bin / groff / CHANGES
blob6881b12b2ae64d8d265c572749147fa4756866ae
1 This file describes recent user-visible changes in groff.  Bug fixes
2 are not described.  There are more details in the man pages.
4 VERSION 1.01
5 ============
7 The groff command now understands the gtroff `-a' and `-i' options.
9 With the `m' and `n' scale indicators, the scale factor is rounded
10 horizontally before being applied.  This makes (almost) no difference
11 for devices with `hor' equal to 1, but it makes groff with -Tascii or
12 -Tlatin1 behave more like nroff in its treatment of these scale
13 indicators.  Accordingly tmac.tty now calls the `nroff' request so
14 that the `n' condition will be true.
16 The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X)
17 have been made to work at least somewhat with -C.  In particular the
18 special characters defined by these macros now work with -C.
20 groff -Tdvi -p will now pass pic the -x flag; this will enable filling
21 of arrowheads and boxes, provided that your dvi driver supports the
22 latest version of the tpic specials.
24 Eqn
25 ---
27 There is a new `-N' option that tells eqn not to allow newlines in
28 delimiters.  This allows eqn to recover better from missing closing
29 delimiters.  The groff command will pass on a `-N' option to eqn.
31 Grops
32 -----
34 You can now use psfig with grops.  See the file ps/psfig.diff.  I do
35 not recommend using psfig for new documents.
37 The command \X'ps: file F' is similar to \X'ps: exec ...' except that
38 the PostScript code is read from the file F instead of being contained
39 within the \X command.  This was added to support psfig.
41 Grodvi
42 ------
44 There are font files HB and HI corresponding to cmsssbx10 and cmssi10.
46 Macros
47 ------
49 The groff -me macros now work with the -C option.  As a result, they
50 may also work with Unix nroff/troff.
52 In -me, the $r and $R number registers now contain the line spacing as
53 a percentage of the pointsize expressed in units (normally about 120).
54 The previous definition was useless with low resolution devices such
55 as X75 and X100.
57 VERSION 1.00
58 ============
60 A -ms-like macro-package is now included.
62 The name for the Icelandic lowercase eth character has been changed
63 from \(-d to \(Sd.
65 Troff
66 -----
68 There is a new request `nroff', which makes the `n' built-in condition
69 true and the `t' built-in condition false; also a new request `troff'
70 which undoes the effect of the `nroff' request.  This is intended only
71 for backward compatibility: it is usually better to test \n(.H or
72 \n(.V or to use the `c' built-in condition.
74 The \R escape sequence has been deleted.  Use \E instead.
76 There are `break' and `continue' requests for use with the `while'
77 request.
79 There is a request `hym' that can ensure that when the current
80 adjustment mode is not `b' a line will not be hyphenated if it is no
81 more than a given amount short, and a request `hys' that can ensure
82 that when the current adjustment mode is `b' a line will not be
83 hyphenated if it can be justified by adding no more than a given
84 amount of extra space to each word space.
86 There is a request `rj' similar to `ce' that right justifies lines.
88 A warning of type `space' will be given when a call is made to an
89 undefined request or macro with a name longer than two characters, and
90 the first two characters of the name make a name that is defined.
91 This is intended to find places where a space has been omitted been a
92 request or macro and its argument.  This type of warning is enabled by
93 default.
95 Pic
96 ---
98 A comma is permitted between the arguments to the `reset' command.
100 For use with TeX, there is a new `-c' option that makes gpic treat
101 lines beginning with `.' in a way that is more compatible with tpic
102 (but ugly).
107 It is no longer necessary to add `space 0' at the beginning of
108 complicated equations inside pictures.
110 `prime' is now treated as an ordinary character, as in Unix eqn.  The
111 previous behaviour of `prime' as an operator can now be obtained using
112 `opprime'.
114 Xditview
115 --------
117 There are two new devices X75-12 and X100-12 which are the same as X75
118 and X100 except that they are optimized for documents that use mostly
119 12 point text.
121 VERSION 0.6
122 ===========
124 The installation process has been refined to make it easy for you to
125 share groff with someone who has the same type of machine as you but
126 does not have a C++ compiler.  See the end of the INSTALL file for
127 details.
129 There is a man page for the tfmtodit program which explains how to use
130 your own fonts with groff -Tdvi.
132 There is a man page for afmtodit which explains how to use your own
133 PostScript fonts with groff -Tps.
135 The \N escape sequence is now fully supported.  It can now be used to
136 access any character in a font by its output code, even if it doesn't
137 have a groff name.  This is made possible by a convention in the font
138 files that a character name of `---' refers to an unnamed character.
139 The drivers now all support the `N' command required for this.  The font
140 description files have been updated to include unnamed characters.
142 The `x' command in font description files has been removed: instead
143 any unknown commands are automatically made available to the drivers.
144 If you constructed your own font files with an earlier version of
145 tfmtodit or afmtodit, you must construct them again using the current
146 version.
148 Characters between 0200 and 0237 octal are no longer legal input
149 characters.  Note that these are not used in ISO 8859.
151 A command called `grog' has been added, similar to the `doctype'
152 command described in Kernighan and Pike.
154 Groff
155 -----
157 The groff command has some new options: -V prints the pipeline
158 instead of executing it; -P passes an argument to the postprocessor,
159 -L passes an argument to the spooler.
161 There is a C++ implementation of the groff command.  This handles some
162 things slightly better than the shell script.  In particular, it can
163 correctly handle arguments containing characters that have a special
164 meaning to the shell; it can give an error message when child
165 processes other than the last in the pipeline terminate abnormally;
166 its exit status can take account of the exit statuses of all its child
167 processes; it is a little more efficient; when geqn is used, it
168 searches for the eqnchar file in the same way that font metric files
169 are searched for, rather than expecting to find it in one particular
170 directory.
172 Gtroff
173 ------
175 There is font translation feature: For example, you can tell gtroff to
176 use font `HR' whenever font `H' is requested with the line
177   .ftr H HR
178 This would be useful for a document that uses `H' to refer to
179 Helvetica.
181 There are some new number registers: `.kern' contains the current kern
182 mode, `.lg' the current ligature mode, `.x' the major version number,
183 `.y' the minor version number, `.ce' the number of lines to be
184 centered in the current environment, `.trunc' the amount of vertical
185 space truncated by the most recently sprung vertical position trap,
186 `.ne' the amount of vertical space needed in the last `ne' request
187 that caused a vertical position trap to be sprung.
189 The `cf' request now behaves sensibly in a diversion.  If used in a
190 diversion, it will now arrange for the file to be copied to the output
191 when the diversion is reread.
193 There is a new request `trf' (transparent file) similar to `cf', but
194 more like `\!'.
196 There is a new escape sequence `\Y[xxx]', roughly equivalent to
197 `\X'\*[xxx]'', except that the contents of string or macro xxx are not
198 interpreted, and xxx may contain newlines.  This requires an output
199 format extension; the drivers have been modified to understand this.
200 Grops has also been modified to cope with newlines in the arguments to
201 \X commands; grops has a new \X command mdef, which is like def except
202 that it has a first argument giving the number of definitions.
204 There is a new warning category `escape' which warns about unknown
205 escape sequences.
207 The `fp' request now takes an optional third argument giving the external
208 name of the font.
210 The `\_' character is now automatically translated to `\(ul' as in troff.
212 The environment variable `GROFF_HYPHEN' gives the name of the file
213 containing the hyphenation patterns.
215 There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'.
217 Characters ", ', ), ], *, \(dg are now initially transparent for the purposes
218 of end of sentence recognition.
220 There is an anti-recusion feature in the `char' request, so you can
221 say `.char \(bu \s+2\(bu\s-2'.
223 The limit on the number of font positions has been removed.
224 Accordingly `\n[.fp]' never returns 0.
226 The restriction on the number of numbered environments has been removed.
228 There is a new escape sequence `\E' that makes it possible to
229 guarantee that an escape sequence won't get interpreted in copy-mode.
230 The `\R' escape sequence is accordingly now deprecated.
232 Gpic
233 ----
235 Arguments of the form `X anything X' (in the `copy thru', `sh', `for',
236 `if' and `define' constructs) can now be of the form `{ anything }'.
238 If the `linethick' variable is negative (as it now is initially),
239 lines will be drawn with a thickness proportional to the current point
240 size.
242 The `rand' function now takes no arguments and returns a number between
243 0 and 1.  The old syntax is still supported.
245 `^' can be used in expressions to indicate exponentiation.
247 In the `for' construct the argument to the by clause can be prefixed
248 by `*' to indicate that the increment is multiplicative.
250 A bare expression may be used as an attribute.  If the current
251 direction is `dir', then an attribute `expr' is equivalent to
252 `dir expr'
254 There is a `sprintf' construct that allows numbers to be formatted and used
255 wherever a quoted string can be used.
257 The height of a text object without an explicit height attribute is
258 the number of text strings associated with the object times the value
259 of the `textht' variable.
261 The maximum height and width of a picture is controlled by the
262 `maxpswid' and `maxpsht' variables.
264 Gtbl
265 ----
267 Gtbl can now handle gracefully the situation where the `ce' request
268 has been applied to a table.
270 Geqn
271 ----
273 The `ifdef' primitive has been generalized.
275 A tilde accent can be put underneath a box using `utilde'.  This
276 defined using a general `uaccent' primitive.
278 Grops
279 -----
281 There is a new PostScript font downloading scheme which handles font
282 downloading for imported illustrations.  Previously, the name of the
283 file containing the font was given in the `x download' line in the
284 groff font metric file.  Now, there is a `download' file which says
285 for each PostScript font name which file contains that font.  Grops
286 can also now handle inter-font dependencies, where one downloadable
287 font depends on some other (possibly downloadable) font.
289 The `T' font has been removed.  The characters it used to provide are
290 now provided by `char' definitions in tmac.ps. TSymbol.ps has also
291 been removed, and the tweaks it provided are now provided by `char'
292 definitions.