Image img/webpage1.png


GNU Troff (Groff) — a GNU project.


Image img/webpage2.png HE groff (GNU Troff) software is a typesetting package which reads plain text mixed with formatting commands and produces formatted output. Groff now supports HTML.

Download

The source code of the currently released versions of groff is available at the FFII host (Germany), GNU host (USA), and its mirrors. The USA site also contains older, obsolete versions.

The most actual pre-release, development version is available from a CVS repository, see below. Development snapshots (produced twice a day from the CVS repository) can be downloaded from here.

For a special version of groff on the Microsoft operating systems, see Groff for Windows.

GNU troff is released under the GNU Copyright License.

User issues lead: Ted Harding.
Technical issues lead: Werner Lemberg.

README

This is the GNU groff document formatting system. The version number is given in the file VERSION.

Included in this release are implementations of troff, pic, eqn, tbl, grn, refer, −man, −mdoc, and −ms macros, and drivers for PostScript, TeX dvi format, HP LaserJet 4 printers, Canon CAPSL printers, HTML format (beta status), and typewriter-like devices. Also included is a modified version of the Berkeley −me macros, an enhanced version of the X11 xditview previewer, and an implementation of the −mm macros contributed by Jörgen Hägg.

See the file INSTALL for installation instructions. You will require a C++ compiler.

The file NEWS describes recent user-visible changes to groff.

Groff is free software. See the file COPYING for copying permission.

The file PROBLEMS describes various problems that have been encountered in compiling, installing, and running groff.

The most recent released version of groff is always available by anonymous ftp.

The current development version of groff is available from a CVS repository. You can access it by first selecting a parent directory in which to create a working copy (call it, say, ~/cvswork), and then executing the commands

cd ~/cvswork
CVS_RSH=ssh; export CVS_RSH
cvs -d:ext:anoncvs@savannah.gnu.org/cvsroot/groff -z5 co groff

(Note that you need an SSH client for security reasons.)

This will create a subdirectory, ~/cvswork/groff, with a ‘checked out’ copy of the CVS repository. An update of this working copy may be achieved, at any later time by invoking the commands

cd ~/cvswork/groff
CVS_RSH=ssh cvs -z5 update -dP

Please read the CVS info pages for further details.

Finally, it is possible to access the CVS with a web browser.

Alternatively, you can download snapshots (which are updated twice a day). The complete groff source as a single file is available here.

A diff file relative to groff-⟨version⟩, the latest official groff release is available at

http://groff.ffii.org/groff/devel/groff-⟨version⟩-current.diff.gz

Assuming that groff-⟨version⟩.tar.gz and groff-⟨version⟩-current.diff.gz are in the same directory, do the following to apply the diff file:

tar xzvf groff-⟨version⟩.tar.gz
cd groff-⟨version⟩
gunzip -c ../groff-⟨version⟩-current.diff.gz | patch -p1

Depending on your requirements, you may need at least some of the following tools to build groff directly from its source:

ghostscript
the psutils package
the netpbm package
texinfo 4.8
bison ≥ 1.875b or byacc

Note that texinfo and bison or byacc are required only for building from CVS sources (either a checked out working copy, or a daily snapshot). They are not required for building from a stable release tarball. Also note that the version numbers stated are the minimum supported. No version of texinfo < 4.8 will work, and the original release of bison 1.875 is known not to work; you may find that bison releases < 1.875 will work, but in case of difficulty, please update to a later version before posting a bug report.

For all sources, you need ghostscript for creation of either PDF or HTML output; the netpbm and psutils packages are required only for HTML output. If you don’t intend to produce output in either of these formats, then these packages are unnecessary.

Please report bugs using the form in the file BUG-REPORT; the idea of this is to make sure that FSF has all the information it needs to fix the bug. At the very least, read the BUG-REPORT form and make sure that you supply all the information that it asks for. Even if you are not sure that something is a bug, report it using BUG-REPORT: this will enable us to determine whether it really is a bug or not.

Three mailing lists are available:

You can post mails directly to the ‘bug-groff’ list, without subscribing; to post mails to the ‘groff’ list you must subscribe to it.

To subscribe, send e-mail to ⟨list⟩-request@⟨domain⟩ (example: groff-request@gnu.org for the ‘groff’ list) with the word ‘subscribe’ in either the subject or body of the e-mail (don’t include the quotes). Alternatively, you may subscribe by visiting the web pages at

http://lists.gnu.org/mailman/listinfo/bug-groff
http://lists.gnu.org/mailman/listinfo/groff
http://lists.gnu.org/mailman/listinfo/groff-commit

Each of these web pages also provides a link to a browseable archive of postings to the corresponding mailing list.

GNU groff was written by James Clark. It is now maintained by Ted Harding and Werner Lemberg.

NEWS VERSION 1.19.2

pic

eqn

grohtml

grotty

gxditview

xtotroff

groffer

gdiffmk

pdfroff

macro packages

pdfmark

miscellaneous

NEWS VERSION 1.19.1

groff

troff

pic

tbl

grap2graph

grohtml

grops

grolj4

afmtodit

hpftodit

groffer

macro packages

NEWS VERSION 1.19

troff

grops

grodvi

grolj4

grotty

pic

refer

soelim

afmtodit

macro packages

NEWS VERSION 1.18.1

troff

tbl

grolbp

grn

groffer

Macro Packages

Miscellaneous

NEWS VERSION 1.18

This section describes recent user-visible changes in groff. Bug fixes are not described. There are more details in the man pages.

Please read the changes below regarding grotty, groff’s tty frontend.

Troff

Macro Packages

groff

Nroff

pic

Pic2graph

Eqn2graph

Groffer

Grog

grops

Grodvi

Grotty

grohtml

Grolbp

Miscellaneous


This document was produced using groff-1.19.2.
The image at the top has been contributed by Imogen Mulley (born 1991), based on a similar picture found on the GNU server.