* font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
[s-roff.git] / doc / webpage.ms
blob787e8097851831a908548c55e7e0823f6e2b1f31
1 .\" This file gives a small example how a web page could look like if created
2 .\" with groff.
3 .\"
4 .\"
5 .\" To make it work with other output devices also, we include www.tmac
6 .\" directly.
7 .\"
8 .nr PS 10
9 .nr VS 12
10 .if '\*[.T]'html' .nr LL 10i
11 .if r ps4html .nr LL 10i
12 .mso www.tmac
14 .de blm-macro
15 .  nr tmp \\n[.i]
16 .  LP
17 .  in \\n[tmp]u
19 .blm blm-macro
21 .HX 0
23 .defcolor mydarkred rgb 0.65f 0.1f 0.2f
24 .defcolor mydarkgreen rgb 0.1f 0.5f 0.2f
25 .defcolor mydarkblue rgb 0.1f 0.2f 0.6f
27 .ds GNU \m[mydarkred]G\m[]\m[mydarkgreen]N\m[]\m[mydarkblue]U\m[]
29 .HTL
30 .NHR
32 Home of Groff (GNU Troff).
34 .HTML-IMAGE-LEFT
35 .PSPIC -L gnu.eps 2i 2i
36 .ie r ps4html \
37 .  nop \v'-0.66i'\h'2.0i'\s[100]\*[GNU] Troff\s0
38 .el \
39 .  nop \v'-0.66i'\h'2.0i'\s[60]\*[GNU] Troff\s0
40 .HTML-IMAGE-END
42 .HnS 1
43 .HR
44 GNU Troff
45 .URL http://\:groff.ffii.org/ (Groff)
46 \[em] a
47 .URL http://\:www.gnu.org/ GNU
48 project.
49 Hosted by
50 .URL http://\:ffii.org/ FFII .
51 .HR
52 .HnE
53 .LK
55 .DC T HE mydarkred
56 groff (GNU Troff) software
57 is a typesetting package which reads plain text mixed with
58 formatting commands and produces formatted output.
59 Groff now supports HTML.
62 .SH
63 Download
65 The source code of the currently released versions of groff is
66 available at the 
67 .URL "ftp://\:groff.ffii.org/\:pub/\:groff/" "FFII host (Germany)" ,
68 .URL "ftp://\:ftp.gnu.org/\:gnu/\:groff/" "GNU host (USA)" ,
69 and its mirrors.
71 The USA site also contains more old, obsolete versions.
73 The most actual pre-release, development version is available from a
74 CVS repository, see below.
76 Development snapshots (produced twice a day from the CVS repository)
77 can be downloaded with FTP from
78 .URL "ftp://\:groff.ffii.org/\:pub/\:groff/devel" here .
80 For a special version of groff on the Microsoft operating systems, see
81 .URL "http://\:gnuwin32.sf.net/\:packages/\:groffl.htm" "Groff for Windows" .
83 GNU troff is released under the
84 .URL http://\:www.gnu.org/\:copyleft/\:gpl.html "GNU Copyright License" .
86 User issues lead:
87 .MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
88 .br
89 Technical issues lead:
90 .MTO wl@\:gnu.org "Werner Lemberg"
93 .SH
94 README
96 This is the GNU groff document formatting system.
97 The version number is given in the file VERSION.
99 Included in this release are implementations of troff, pic, eqn, tbl, refer,
100 the \-man macros and the \-ms macros, and drivers for PostScript, TeX dvi
101 format, HP LaserJet 4 printers, HTML format (still alpha), and
102 typewriter-like devices.
103 Also included is a modified version of the Berkeley \-me macros, an enhanced
104 version of the X11 xditview previewer, and an implementation of the \-mm
105 macros contributed by
106 .MTO jh@\:axis.se "J\[:o]rgen H\[:a]gg" .
108 See the file INSTALL for installation instructions.
109 You will require a C++ compiler.
111 The file NEWS describes recent user-visible changes to groff.
113 Groff is free software.
114 See the file COPYING for copying permission.
116 The file PROBLEMS describes various problems that have been encountered in
117 compiling, installing, and running groff.
119 For the moment, the documentation assumes that you are already familiar with
120 the Unix versions of troff, \-man, \-ms and the preprocessors.
122 The most recent released version of groff is always available by anonymous
123 ftp from ftp.gnu.org in the directory pub/\:gnu/\:groff.
125 A CVS repository is now available, containing the current development
126 version of groff.
127 You can access it with the commands
129 .in 2m
131 .ft C
132 export CVSROOT=:pserver:anoncvs@anoncvs.ffii.org:/var/cvs
133 cvs login
134 cvs -z9 co groff
135 .ft P
139 (if the prompt for the password appears, just press the enter key).
140 After a successful login you no longer need the first two commands; an
141 update of a checked out repository should be done with
143 .in 2m
144 .ft C
145 cvs -z9 update -dP
146 .ft P
149 Please read the info pages of cvs for further details.
151 Alternatively, you can download snapshots (which are updated twice a day)
152 from
153 .URL ftp://\:ftp.ffii.org/\:pub/\:groff/\:devel/\:groff-current.tar.gz here
154 or a diff file relative to the latest official groff release as:
156 .in 2m
157 .ft C
158 ftp://ftp.ffii.org/pub/groff/devel/groff-\[la]version\[ra]-current.diff.gz
159 .ft P
162 Assuming that groff-\[la]version\[ra].tar.gz and
163 groff-\[la]version\[ra]-current.diff.gz are in the same directory, do the
164 following to apply the diff file:
166 .in 2m
168 .ft C
169 tar xzvf groff-\[la]version\[ra].tar.gz
170 cd groff-\[la]version\[ra]
171 gunzip -c ../groff-\[la]version\[ra]-current.diff.gz | patch -p1
172 .ft P
176 Finally, it is possible to access the CVS with a browser by pointing it
179 .in 2m
180 .URL http://www.ffii.org/cgi-bin/viewcvs.cgi/ \
181      http://www.ffii.org/cgi-bin/viewcvs.cgi/
184 Please report bugs using the form in the file BUG-REPORT; the idea of this
185 is to make sure that FSF has all the information it needs to fix the bug.
186 At the very least, read the BUG-REPORT form and make sure that you supply
187 all the information that it asks for.
188 Even if you are not sure that something is a bug, report it using
189 BUG-REPORT: this will enable us to determine whether it really is a bug or
190 not.
192 Three mailing lists are available:
194 .ULS
196 .MTO bug-groff@gnu.org bug-groff@gnu.org
197 for reporting bugs
200 .MTO groff@gnu.org groff@gnu.org
201 for general discussion of groff
204 .MTO groff-commit@ffii.org groff-commit@ffii.org
205 a read-only list showing logs of commitments to the CVS repository
206 .ULE
208 Note that groff@gnu.org is an alias for
209 .MTO groff@\:ffii.org groff@\:ffii.org ;
210 you must be subscribed to the `groff' list to send mails.
212 To subscribe, send e-mail to \[la]list\[ra]-request@\[la]domain\[ra]
213 (example:
214 .MTO groff-request@\:ffii.org groff-request@\:ffii.org )
215 with the word `subscribe' in either the
216 subject or body of the e-mail (don't include the quotes) or have a look
217 at the
218 .URL http://\:ffii.org/\:mailman/\:listinfo/\:groff/ \
219      "groff mailing list webpage" .
221 GNU groff was written by
222 .MTO jjc@\:jclark.com "James Clark" .
223 It is now maintained by
224 .MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
226 .MTO wl@\:gnu.org "Werner Lemberg" .
230 NEWS VERSION 1.19
232 .SH 2
233 troff
235 .ULS
237 Input encoding files for \%latin-9 (a.k.a.\& \%latin-0 and ISO \%8859-15)
238 and \%latin-2 (ISO \%8859-2) have been added.
239 Example use:
241 .in 2m
242 .ft C
243 groff -Tdvi -mlatin9 my_file > my_file.dvi
244 .ft P
247 You still need proper fonts with the necessary glyphs.
248 Out of the box, the groff package supports \%latin-9 only for \-Tps,
249 \-Tdvi, and \-Tutf8, and \%latin-2 only for \-Tdvi and \-Tutf8.
252 Composite glyphs are now supported.
253 To do this, a subset of the Adobe Glyph List (AGL) Algorithm as described in
254 .URL http://partners.adobe.com/asn/tech/type/unicodegn.jsp \
255      http://partners.adobe.com/asn/tech/type/unicodegn.jsp
256 is used to construct glyph names based on Unicode character codes.
257 The existing groff glyph names are frozen; no glyph names which can't be
258 constructed algorithmically will be added in the future.
260 The \e[...] escape sequence has been extended to specify multiple glyph
261 components.
262 Example:
264 .in 2m
265 .ft C
266 \e[A ho]
267 .ft R
270 this accesses a glyph with the name `u0041_0328'.
272 Some groff glyphs which are useful as composites map to `wrong' Unicode
273 code points.
274 For example, `ho' maps to U+02DB which is a spacing ogonek, whereas a
275 non-spacing ogonek U+0328 is needed for composite glyphs.
276 The new request
278 .in 2m
279 .ft C
280 \&.composite from to
281 .ft R
284 will change the mapping while a composite glyph name is constructed.
285 To make \e[A ho] yield the expected result,
287 .in 2m
288 .ft C
289 \&.composite ho u0328
290 .ft R
293 is needed.
294 [The new file `composite.tmac' loaded at start-up already
295 contains proper calls to `.composite'.]
297 Please refer to the info pages of groff and to the groff_char man page
298 for more details.
301 A new request `fschar' has been added to define font-specific fallback
302 characters.
303 They are searched after the list of fonts declared with the
304 `fspecial' request but before the list of fonts declared with `special'.
307 Fallback characters defined with `fschar' can be removed with the
308 new `rfschar' request.
311 A new request `schar' has been added to define global fallback
312 characters.
313 They are searched after the list of fonts declared with the
314 `special' request but before the already mounted special fonts.
317 In groff versions 1.18 and 1.18.1, \eD'f ...' didn't move the current
318 point horizontally.
319 Despite of being silly, this change has been reverted for backwards
320 compatibility.
321 Consequently, the intermediate output command `Df' also moves the 
322 position horizontally again.
324 \eD'f ...' is deprecated since it depends on the horizontal resolution of
325 the output device (given with the `hor' parameter in the DESC file).
326 Use the new \eD'Fg ...' escape instead.
329 For orthogonality, new \eD subcommands to change the fill color are
330 available:
332 .in 2m
333 .ft C
334 \eD'Fr ...' \f[R](rgb)\f[]
336 \eD'Fc ...' \f[R](cmy)\f[]
338 \eD'Fg ...' \f[R](gray)\f[]
340 \eD'Fk ...' \f[R](cmyk)\f[]
342 \eD'Fd' \f[R](default color)\f[]
343 .ft R
346 The arguments are the same as with the `defcolor' request.
347 The current position is \f[I]not\f[] changed.
350 The values set with \eH and \eS are now available in number registers
351 \en[.height] and \en[.slant], respectively.
354 The `.pe' number register isn't new but hasn't been documented before.
355 It is set to 1 during a page ejection caused by the `bp' request.
358 The new glyph symbol `tno' is a textual variant of `no'.
361 The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL.
362 (Well, it is not really new since it has been previously supported by
363 grolj4.)
364 The mapping for both the dvi and lj4 symbol font has been
365 changed accordingly so that Greek small letter epsilon, `*e', has the
366 same glyph shape as with other devices.
367 .ULE
370 .SH 2
371 grops
373 .ULS
375 The font `freeeuro.pfa' has been added to provide various default glyph
376 shapes for `eu' and `Eu'.
379 It is now possible to access all glyphs in a Type\~1 font, not only 256
380 (provided the font file created by afmtodit has proper entries).
381 grops constructs additional encoding vectors on the fly if necessary.
384 The paper size is now emitted via the %%DocumentMedia and PageSize
385 mechanisms so that it is no longer required to tell `gv' or `ps2pdf'
386 about the paper size.
387 The `broken' flag value\~16 omits this feature
388 (the used PostScript command `setpagedevice' is a LanguageLevel\~2
389 extension).
390 Patch by
391 .MTO egil@\:kvaleberg.no "Egil Kvaleberg" .
394 Non-slanted PostScript metrics have been changed again; they no longer
395 contain negative left italic correction values.
396 This assures correct spacing with eqn.
397 .ULE
400 .SH 2
401 grodvi
403 .ULS
405 The font cmtex10 has been added as the special font `SC' to the DVI fonts.
406 It is used as a font-specific special font for CW and CWI.
409 New options \-l and \-p to set landscape orientation and the paper size.
410 grodvi now emits a `papersize' special which is understood by DVI drivers
411 like dvips.
413 Consequently, the DESC file should contain a `papersize' keyword.
416 The glyph shapes for \e[*f] and \e[*e] have been exchanged with \e[+f] and
417 \e[+e], respectively, to be in sync with all other devices.
420 Glyphs \e[HE] and \e[DI] have been replaced with \e[u2662] and \e[u2661],
421 respectively, since the former two glyphs have a black (filled) shape
422 which grodvi doesn't provide by default (it never has actually).
423 .ULE
426 .SH 2
427 grolj4
429 .ULS
431 The glyphs \e[*e] and \e[+e] have been exchanged to be in sync with
432 all other devices.
435 The glyph \e[~=] is now called \e[|=].  Similar to other devices, \e[~=]
436 is now another name for glyph \e[~~].
437 .ULE
440 .SH 2
441 grotty
443 .ULS
445 New option `\-r'.
446 It is similar to the \-i option except it tells grotty to
447 use the `reverse video' attribute to render italic fonts.
448 .ULE
451 .SH 2
454 .ULS
456 New command `figname' to set the name of a picture's output box in TeX
457 mode.
458 .ULE
461 .SH 2
462 refer
464 .ULS
466 The environment variable `REFER' to override the name of the default
467 database isn't new but hasn't been documented before.
468 .ULE
471 .SH 2
472 soelim
474 .ULS
476 New option `\-r' to avoid emission of `.lf' lines.
479 New option `\-t' to emit TeX comment lines (giving current file and the
480 line number) instead of `.lf' lines.
481 .ULE
484 .SH 2
485 afmtodit
487 .ULS
489 Unencoded glyphs in an AFM file are output also (since grops can now emit
490 multiple encoding vectors for a single font).
493 New option `\-m' to prevent negative left italic correction values.
496 The mapping and encoding file together with file `DESC' are now searched
497 in the default font directory also.
498 Please refer to the man page of afmtodit for more details.
499 .ULE
502 .SH 2
503 macro packages
505 .ULS
507 .MTO kollar@\:alltel.net "Larry Kollar"
508 and others made the man macros more customizable.
510 .ULS
512 New command line options \-rFT, \-rIN, and \-rSN to set the vertical
513 location of the footer line, the body text indentation, and the
514 sub-subheading indentation.
517 New command line option \-rHY (similar to the ms macros) to control
518 hyphenation.
521 New macros `.PT' and `.BT' to print the header and footer strings.
522 They can be replaced with a customized version in `man.local'.
525 The string `HF' now holds the typeface to print headings and
526 subheadings.
529 Similar to the ms macros, the LT register now defaults to LL if not
530 explicitly specified on the command line.
531 .ULE
534 troff's start-up file `troffrc' now includes `papersize.tmac' to set
535 the paper size with the command line option `-dpaper=<size>'.
537 Possible values for `<size>' are the same as the predefined `papersize'
538 values in the DESC file (only lowercase; see the groff_font man page)
539 except \%a7-d7.
540 An appended `l' (ell) character denotes landscape orientation.
541 Examples: `a4', `c3l', `letterl'.
543 Most output drivers need additional command line switches `\-p' and
544 `\-l' to override the default paper length and orientation as set in
545 the driver specific DESC file.
547 For example, use the following for PS output on A4 paper in landscape
548 orientation:
550 .in 2m
551 .ft C
552 groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
553 .ft R
555 .ULE
559 NEWS VERSION 1.18.1
561 .SH 2
562 troff
564 .ULS
566 The non-slanted PostScript font definition files have been regenerated to
567 include left and right italic correction values.
568 Applying those to a glyph (this is, prepending the glyph with `\e,' and
569 appending `\e/' to the glyph) sets the glyph width to the real value given
570 by the horizontal bounding box values.
571 Without those escapes, the advance width for the particular glyph is used
572 (which can differ considerably).
574 Most users will neither need this feature nor notice a difference in
575 existing documents (provided \e, and \e/ is used as advertised, namely for
576 italic fonts only); its main goal is to improve image generation with
577 grohtml.
579 This is an experimental change, and feedback is welcome.
580 .ULE
582 .SH 2
585 .ULS
587 Added global option `nospaces' to ignore leading and trailing spaces in data
588 items.
589 .ULE
591 .SH 2
592 grolbp
594 .ULS
596 The option \-w (\-\-linewidth) has been added (similar to other device
597 drivers) to set the default line width.
598 .ULE
600 .SH 2
603 .ULS
605 Support for b-spline and Bezier curves has been added.
606 .ULE
608 .SH 2
609 groffer
611 .ULS
613 New option \-\-shell to select the shell under wich groffer shall run.
614 .ULE
616 .SH 2
617 Macro Packages
619 .ULS
621 The string `Am' (producing an ampersand) has been added to mdoc for
622 compatibility with NetBSD.
625 `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit)
626 instead.
629 In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal
630 and vertical movements; please refer to contrib/mom/NEWS for more
631 details.
634 New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers.
635 .ULE
637 .SH 2
638 Miscellaneous
640 .ULS
642 The `papersize' keyword in the DESC file now accepts multiple arguments.
643 It is scanned from left to the right, and the first valid argument is used.
644 This makes it possible to provide a fallback paper size.
646 Example:
648 .in 2m
649 .ft C
650 papersize /etc/papersize a4
651 .ft P
655 A local font directory has been prepended to the default font path; it
656 defaults to /usr/local/share/groff/site-font.  Similar to the normal
657 font searching process, files must be placed into a dev\f[I]XXX\f[]
658 subdirectory, e.g.
660 .in 2m
661 .ft C
662 /usr/local/share/groff/site-font/devps/FOO
663 .ft P
666 for a PostScript font definition file FOO.
667 .ULE
671 NEWS VERSION 1.18
673 This section describes recent user-visible changes in groff.
674 Bug fixes are not described.
675 There are more details in the man pages.
677 .ad c
678 \s[+5]\m[red]\
679 Please read the changes below regarding
680 .ie '\*[.T]'html' \
681 .  URL #grotty grotty ,
682 .el \
683 .  nop grotty,
684 groff's tty frontend.\
685 \m[]\s[0]
687 .ad n
689 .SH 2
690 Troff
692 .ULS
694 Color support has been added to troff and pic (and to the device drivers
695 grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will
696 follow).
697 A new function `defcolor' defines colors; the escape sequence `\em' sets the
698 drawing color, the escape sequence `\eM' specifies the background color for
699 closed objects created with \eD'.\|.\|.' commands.
700 `\em[]' and `\eM[]' switch back to the previous color.
701 `\em' and `\eM' correspond to the new troff output command sets starting
702 with `m' and `DF'.
703 The device-specific default color is called `default' and can't be
704 redefined.
706 Use the `color' request to toggle the usage of colors (default is on); the
707 read-only register `.color' is\~0 if colors are not active, and non-zero
708 otherwise.
710 The old `Df' output command is mapped onto `DFg'; all color output
711 commands don't change the current font position (consequently, `Df'
712 doesn't either).
714 Outputting color can be disabled in troff and groff with the option\~\-c
715 (it is always disabled in compatibility mode).
716 See the section on grotty for the
717 .ie '\*[.T]'html' \
718 .  URL #GROFF_NO_SGR GROFF_NO_SGR
719 .el \
720 . nop GROFF_NO_SGR
721 environment variable also.
723 For defining color components as fractions between 0 and\~1, a new scaling
724 indicator `f' has been defined: 1f\~=\~65536u.
725 For testing whether a color is defined (with .if and .ie), a new
726 conditional operator `m' is available.
728 More details can be found in the groff_diff.7 manual page and in
729 groff.texinfo.
732 Similar to \em and \eM, \ef[] switches back to the previous font.
733 \efP (and \ef[P]) is still valid for backwards compatibility.
736 The new escape \eF is the same as `.fam'; \eF[] switches back to previous
737 family -- \eF[P] selects family `P'.
740 Two new glyph symbols are available: `eu' is the official Euro symbol;
741 `Eu' is a font-specific glyph variant.
744 The new glyph symbols `t+\-', `tdi', and `tmu' are textual variants of
745 `+\-', `di', and `mu', respectively.
748 Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has
749 got the troff glyph name `mc'.
752 \-Tutf8 is now available on EBCDIC hosts.
755 Strings can take arguments, using this syntax: \e*[foo\~arg1\~arg2\~.\|.\|.].
756 Example:
758 .in 2m
760 .ft C
761 \&.ds xxx This is a \e\e$1 test.
762 \e*[xxx nice]
763 .ft P
768 It is now possible to have whitespace between the first and second dot (or
769 the name of the ending macro) to end a macro definition.
770 Example:
772 .in 2m
774 .ft C
775 \&.de !
776 \&..
778 \&.de foo
779 \&.  nop Hello, I'm `foo'.
780 \&.  nop I will now define `bar'.
781 \&.  de bar !
782 \&.    nop Hello, I'm `bar'.
783 \&.  !
784 \&..
785 .ft P
790 `.fn' is a new string-valued register which returns the (internal) real
791 font name; styles and families are properly concatenated.
794 Three new read/write registers `seconds', `minutes', and `hours' contain
795 the current time, set at start-up of troff.
796 Use the `af' request to control their output format.
799 The new request `fchar' can be used to provide fallback characters.
800 It has the same syntax as the `char' request; the only difference is that
801 a character defined with `.char' hides the glyph with the same name in the
802 current font, whereas a character defined with `.fchar' is checked only if
803 the particular glyph isn't found in the current font.
804 This test happens before checking special fonts.
807 In analogy to the `tmc' request, `.writec' is the same as `.write' but
808 doesn't emit a final newline.
811 The new request `itc' is a variant of `.it' for which a line interrupted
812 with \ec counts as one input line.
815 Two new requests `ds1' and `as1' which are similar to `ds' and `as' but
816 with compatibility mode disabled during expansion of strings defined by
817 them.
820 The syntax of the `substring' request has been changed:
821 The first character in a string now has index\~0, the last character
822 has index\~\-1.
823 Note that this is an incompatible change.
826 To emit strings directly to the intermediate output, a new `output'
827 request has been added; it is similar to `\e!' used at the top level.
830 `.hpf' has been extended.
831 It can now handle most TeX hyphenation pattern files without
832 modification.
833 To do that, the commands \epatterns, \ehyphenation, and \eendinput are
834 recognized.
835 Please refer to groff_diff.7 for more information.
838 `hpfcode' is a new request to provide an input encoding mapping for the
839 `hpf' request.
842 The new request `hpfa' appends hyphenation patterns (`hpf' replaces
843 already existing patterns).
846 A new request `ami' (append macro indirect) has been added.
847 The first and second parameter of `ami' are taken from string registers
848 rather than directly; this very special request is needed to make
849 `trace.tmac' independent from the escape character (which might even
850 be disabled).
853 The new request `sizes' is similar to the `sizes' command in DESC files.
854 It expects the same syntax; the data must be on a single line, and the
855 final `0' can be omitted.
858 `trin' (translate input) is a new request which is similar to `tr' with
859 the exception that the `asciify' request will use the character code (if
860 any) before the character translation.
861 Example:
863 .in 2m
865 .ft C
866 \&.trin ax
867 \&.di xxx
869 \&.br
870 \&.di
871 \&.xxx
872 \&.trin aa
873 \&.asciify xxx
874 \&.xxx
875 .ft P
879 The result is `x\~a'.  Using `tr', the result would be `x\~x'.
882 The request `pvs' isn't new, but hasn't been documented before.
883 It adds vertical space after a line has been output.
884 This makes it an alternative to the `ls' request to produce
885 double-spaced documents.
886 The read-only register `.pvs' holds the current amount of the
887 post-vertical line space.
890 For compatibility with plan 9's troff, multiple `pi' requests are
891 supported:
893 .in 2m
895 .ft C
896 \&.pi foo
897 \&.pi bar
898 .ft P
902 is now equivalent to
904 .in 2m
905 .ft C
906 \&.pi foo | bar
907 .ft P
911 A new escape sequence `\eO' is available to disable and enable glyph
912 output.
913 Please see groff_diff.man and groff.texinfo for more details.
916 The escapes `\e%', `\e&', `\e)', and `\e:' no longer cause an error in \eX;
917 they are ignored now.
918 Additionally `\e\ ' and `\e~' are converted to single space characters.
921 The default tab distance in nroff mode is now 0.8i to be compatible
922 with UNIX troff.
925 Using the latin-1 input character 0xAD (soft hyphen) for the `shc'
926 request was a bad idea.
927 Instead, it is now translated to `\e%', and the default hyphenation
928 character is again \e[hy].
929 Note that the glyph \e[shc] is not useful for typographic purposes;
930 it only exists to have glyph names for all latin-1 characters.
931 .ULE
933 .SH 2
934 Macro Packages
936 .ULS
938 .MTO df191@\:ncf.ca "Peter Schaffter"
939 has contributed a new major macro package called `mom', mainly for
940 non-scientific writers, which takes care of many typographic issues.
941 It comes with a complete reference (in HTML format) and some examples.
942 `mom' has been designed to format documents for PostScript output only.
945 Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to
946 the man macros for compatibility with older BSD releases.
949 Both the man and mdoc macro packages now use the LL and LT registers for
950 setting the line and title length, respectively (similar to those
951 registers in the ms macro package).
952 If not set on the command line or in a macro file loaded before the macro
953 package itself, they default to 78n in nroff mode and 6.5i in troff mode.
956 The `\-xwidth' specifier in the mdoc macro package has been removed.
957 Its functionality is now integrated directly into `\-width'.
958 Similarly, `\-column' has been extended to has this functionality also.
961 A new macro `Ex' has been added to the mdoc macro package to document an
962 exit status.
965 `troff.man' has been split.  Differences to UNIX troff are now documented
966 in the new man page `groff_diff.man'.
969 The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is
970 now automatically loaded for \-Tdvi), using a dvips special to load the EPS
971 file.
974 The trace.tmac package now traces calls to `am' also.
975 Additionally, it works in compatibility mode.
978 `troff.1' has been split.
979 Differences to UNIX troff are now documented in the new man page
980 `groff_diff.7'.
983 `groff_mwww.7' has been renamed to `groff_www.7'.
984 The file mwww.tmac has been removed.
987 `groff_ms.7' has been completely rewritten.
988 It now contains a complete reference to the ms macros.
991 `groff_trace.7' documents the trace macro package.
994 Changes in www.tmac
996 Note that HTML support is still in alpha change, so it is rather likely
997 that both macro names and macro syntax will change.
998 Some of the macros mentioned below aren't really new but haven't been
999 documented properly before.
1001 .ULS
1003 The following macros have been renamed:
1005 .in 2m
1007 MAILTO -> MTO
1008 IMAGE  -> IMG
1009 LINE   -> HR
1014 For consistency, the macros `URL', `FTL', and `MTO' now all have the
1015 address as the first parameter followed by the description.
1018 By default, grohtml generates links to all section headings at the top
1019 of the document.
1020 Use the new `LK' macro to specify a different place.
1023 For specifying the background color and a background image, use the
1024 new macros `BCL' and `BGIMG', respectively.
1027 The macro `NHR' has been added; it suppresses the generation of top and
1028 bottom rules which grohtml emits by default.
1031 The new macro `HX' determines the cut-off point for automatic link
1032 generation to headings.
1035 The image position parameter names in `IMG' have been changed to `\-L',
1036 `\-R', and `\-C'.
1039 New macro `PIMG' for inclusion of a PNG image (it will automatically
1040 convert it into an EPS file if not \-Thtml is used).
1043 New macro `MPIMG' for putting a PNG image into the left or right margin
1044 (it will automatically convert it into an EPS file if not \-Thtml is used).
1047 New macros `HnS', `HnE' to start and end a header line block.
1050 New macro `DC' to produce dropcap characters.
1053 New macro `HTL' to generate an HTML title line only but no H1 heading.
1056 New macros `ULS' and `ULE' to start and end an unordered list.
1057 The new macro `LI' inserts a list item.
1058 .ULE
1059 .ULE
1062 .SH 2
1063 groff
1065 .ULS
1067 The new command line `\-c' disables color output (which is always disabled
1068 in compatibility mode).
1069 .ULE
1072 .SH 2
1073 Nroff
1075 .ULS
1077 Two new command line options `\-c' and `\-C'; the former passes `\-c' to
1078 grotty (switching to the old output scheme); the latter passes `\-C' to
1079 groff (enabling compatibility mode).
1080 .ULE
1083 .SH 2
1086 .ULS
1088 New keywords `color' (or `colour', `colored', `coloured'), `outline' (or
1089 `outlined'), and `shaded' are available.
1090 `outline' sets the color of the outline, `shaded' the fill color, and
1091 `color' sets both.
1092 Example:
1094 .in 2m
1095 .ft C
1096 circle shaded "green" outline "black" ;
1097 .ft P
1100 Filled arrows always use the outline color for filling.
1102 Color support for TeX output is not implemented yet.
1103 .ULE
1106 .SH 2
1107 Pic2graph
1109 .ULS
1111 A new script contributed by
1112 .MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
1113 It converts a PIC diagram into a cropped image.
1114 Since it uses gs and the PNM library, virtually all graphics formats
1115 are available for output.
1116 .ULE
1119 .SH 2
1120 Eqn2graph
1122 .ULS
1124 A new script contributed by
1125 .MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
1126 It converts an EQN diagram into a cropped image.
1127 Since it uses gs and the PNM library, virtually all graphics formats
1128 are available for output.
1129 .ULE
1132 .SH 2
1133 Groffer
1135 .ULS
1137 A new script contributed by
1138 .MTO bwarken@mayn.de "Bernd Warken" .
1139 It displays groff files and man pages on X and tty, taking care of most
1140 parameters automatically.
1141 .ULE
1144 .SH 2
1145 Grog
1147 .ULS
1149 Documents using the mom macro package are recognized.
1150 .ULE
1153 .SH 2
1154 grops
1156 .ULS
1158 Color support has been added.
1161 A new option `\-p' is available to select the output paper size.
1162 It has the same syntax as the new `papersize' keyword in the DESC file.
1163 .ULE
1166 .SH 2
1167 Grodvi
1169 .ULS
1171 By default, font sizes are now available in the range 5\-10000pt, similar
1172 to PS fonts.
1173 If you want the old behaviour (i.e., font sizes at discrete values only),
1174 insert the following at the start of your document:
1176 .in 2m
1178 .ft C
1179 \&.if '\e*[.T]'dvi' \e
1180 \&.  sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \e
1181 \&         1728 1800 2000 2074 2200 2400 2488 2800 3600
1182 .ft P
1187 A new font file HBI (using cmssbxo10; this is slanted sans serif bold
1188 extended) has been added.
1191 Two font families are now available: `T' and `H'.
1194 EC and TC fonts have been integrated.
1195 Use `\-mec' (calling the file ec.tmac) to switch to them.
1196 Those fonts give a much better coverage of the symbols defined by groff
1197 than the CM fonts.
1199 Note that ec.tmac must be called before any language-specific files; it
1200 doesn't take care of hcode values.
1203 Color support has been added.
1204 For drawing commands, colors are translated to gray values currently.
1205 .ULE
1208 .TAG grotty
1209 .SH 2
1210 Grotty
1212 .ULS
1214 Color support has been added, using the SGR (ISO\~6429, sometimes called
1215 ANSI color) escape sequences.
1218 SGR escape sequences are now used by default for underlining and bold
1219 printing also, no longer using the backspace character trick.
1220 To revert to the old behaviour, use the `\-c' switch.
1222 Note that you have to use the `\-R' option of `less' to make SGR escapes
1223 display correctly.
1224 On the other hand, terminal programs and consoles like `xterm' which
1225 support SGR sequences natively can directly display the output of grotty.
1226 Consequently, the options `\-b', `\-B', `\-u', and `\-U' work only in
1227 combination with `\-c' and are ignored silently otherwise.
1229 For the `man' program, it may be necessary to add the `\-R' option of
1230 `less' to the $PAGER environment variable; alternatively, you can use
1231 `man's `\-P' option (or adapt its configuration file accordingly).
1232 See man(1) for more details.
1234 .TAG GROFF_NO_SGR
1236 If the environment variable GROFF_NO_SGR is set, SGR output is disabled,
1237 reverting to the old behaviour.
1240 A new special \eX'tty:\~sgr\~n' has been added; if n is non-zero or missing,
1241 enable SGR output (the default).
1244 If the new option `\-i' is used (only in SGR mode), grotty sends escape
1245 sequences to set the italic font attribute instead of the underline
1246 attribute for italic fonts.
1247 Note that many terminals don't have support for this (including xterm).
1248 .ULE
1251 .SH 2
1252 grohtml
1254 .ULS
1256 Color support for glyphs has been added.
1259 New option `\-h' to select the style of headings in HTML output.
1262 New option `\-b' to set the background colour to white.
1265 New options `\-a' and `\-g' to control the number of bits for anti-aliasing
1266 used for text and graphics, respectively.
1267 Default value is\~4; 0\~means no anti-aliasing.
1270 groff character/glyph entities now map onto HTML\~4 character entities.
1271 .ULE
1274 .SH 2
1275 Grolbp
1277 .ULS
1279 Valid paper sizes are now specified as with the new `papersize' keyword
1280 in the DESC file.
1281 Specifically, the old custom paper type format `custAAAxBBB' is no longer
1282 supported.
1283 .ULE
1286 .SH 2
1287 Miscellaneous
1289 .ULS
1291 A new manual page `ditroff.7' is available.
1294 The groff texinfo manual will now be installed, together with a bunch
1295 of examples.
1298 A new keyword `papersize' has been added to the DESC file format.
1299 Its argument is either
1301 .ULS
1303 a predefined paper format (e.g. `A4' or `letter')
1306 a file name pointing to a file which must contain a paper size
1307 specification in its first line (e.g. `/etc/papersize')
1310 a custom paper size definition like `35c,4i'
1311 .ULE
1313 See groff_font(5) for more details.
1314 This keyword only affects the physical dimensions of the output medium;
1315 grops, grolj4, and grolbp use it currently.
1316 troff completely ignores it.
1317 .ULE
1321 \s[-2]\f[I]This document was produced using
1322 .URL http://groff.ffii.org/ groff-\n[.x].\n[.y].\n[.Y] .
1324 The image at the top has been contributed by Imogen Mulley (born 1991),
1325 based on a similar picture found on the
1326 .URL http://www.gnu.org "GNU server" .
1328 .\" EOF