Imported Upstream version 1.23.0
[platform/upstream/groff.git] / MORE.STUFF
1     Copyright 2000-2020 Free Software Foundation, Inc.
2
3     Copying and distribution of this file, with or without modification,
4     are permitted in any medium without royalty provided the copyright
5     notice and this notice are preserved.
6
7 Ports of groff to non-POSIX environments
8 ========================================
9
10 Microsoft Windows
11 -----------------
12
13 Cygwin makes a groff package available.
14
15   https://cygwin.com/
16
17 Look for a convenient mirror site at the followung URL.
18
19   https://cygwin.com/mirrors.html
20
21 Cygwin maintains a port status page.
22
23   https://cygwin.com/packages/summary/groff.html
24
25 Cygwin, like most GNU/Linux distributions, separates groff build
26 artifacts into multiple components, largely for dependency management.
27 You may find the source package page of interest.
28
29   https://cygwin.com/packages/summary/groff-src.html
30
31 The port is maintained in a Git repository.
32
33   https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/groff.git
34
35
36 grap
37 ----
38
39 Ted Faber has written an implementation of Kernighan & Bentley's grap
40 language for typesetting graphs.
41
42   http://www.lunabase.org/~faber/Vault/software/grap/
43
44
45 troffcvt
46 --------
47
48 Per its web page,
49
50   troffcvt is a translator that turns troff input into a form that can
51   be more easily processed.  The troffcvt distribution comes with
52   postprocessors that turn troffcvt into various destination formats
53   such as HTML (Hypertext Markup Language), RTF (Rich Text Format) or
54   plain text.
55
56   http://www.snake.net/software/troffcvt/
57
58
59 unroff
60 ------
61
62 Per its README file,
63
64   Unroff is a Scheme-based, programmable, extensible troff translator
65   with a back-end for the Hypertext Markup Language.  Unroff is free
66   software and is distributed both as source and as precompiled
67   binaries.
68
69     https://www-rn.informatik.uni-bremen.de/software/unroff/
70
71
72 Haart deroff
73 ------------
74
75 Per its ReadMe.txt file,
76
77   Deroff removes roff constructs from documents for the purpose of
78   indexing, spell checking etc. My own implementation is a little
79   smarter than traditional implementations, because it knows about
80   certain -man and -mm macros. It is able to generate a word list for
81   spell checking tools or omit headers for sentence analysis tools.
82
83     https://caio.ueberalles.net/deroff/
84
85
86 doclifter
87 ---------
88
89 Per its web page,
90
91   [doclifter lifts] documents in nroff markups to XML-DocBook.
92
93   Lifting documents from presentation level to semantic level is hard,
94   and a really good job requires human polishing. This tool aims to do
95   everything that can be mechanized, and to preserve any troff-level
96   information that might have structural implications in XML comments.
97   This tool does the hard parts. TBL tables are translated into DocBook
98   table markup, PIC into SVG, and EQN into MathML (relying on pic2svg
99   and GNU eqn for the last two).
100
101     http://catb.org/~esr/doclifter
102
103
104 pic2plot
105 --------
106
107 pic2plot, part of the GNU plotutils package, can lift pic markup to SVG.
108 The plotutils package is available at
109
110   http://www.gnu.org/software/plotutils/
111
112
113 Miscellaneous
114 -------------
115
116 . Ralph Corderoy's excellent page on troff:
117
118     www.troff.org
119
120   There are links for virtually everything related to troff.
121
122 . Dr. Robert Hermann's groff gems are available from
123
124     http://www.eas.slu.edu/People/RBHerrmann/GROFF/index.html
125
126   At present there are examples for
127
128   o creating business cards
129   o using groff to make large format posters for presentations
130
131 . Robert Marks's collection of useful macros and scripts is available
132   from
133
134     http://www.agsm.edu.au/~bobm/odds+ends/scripts.html
135
136   Description:
137
138   o `polish': Is a sed (= the Unix stream editor) script that does many
139     things to ASCII text.  Amongst other things, it breaks lines at new
140     sentences, reduces upper-case acronyms by one point size, adds
141     diacriticals, changes simple quotes into smart quotes, and makes a
142     few simple grammar checks.  The best way to see what it does is to
143     run it as a sed script file (or files) on a text file and then
144     compare the output file with the original.
145
146   o `DropCaps' is a troff script which replaces the initial letters of
147     paragraphs immediately after H1 and H2 headings with drop-capitals
148     of specified point size, and automatically flows the text around the
149     new drop cap.
150
151   o `AJM Header' is a set of troff macros used in production of the
152     Australian Journal of Management.  They use the Memorandum Macros
153     (mm) of AT&T, and so should be invoked with the Unix troff -mm flag;
154     they should also work with the GNU troff -mm flag.
155
156 . Thomas Baruchel <baruchel@libertysurf.fr> has developed Meta-tbl, a
157   tbl postprocessor to manipulate table cells (like adding gray shades).
158   The latest version can be found at
159
160     http://perso.libertysurf.fr/baruchel/
161
162 . gpresent, written by Bob Diertens <bobd@science.uva.nl>.  From the
163   README file:
164
165     gpresent is a package for making presentation with groff and
166     acroread.  It consist of a set of macros to be used with groff and a
167     post-processor for manipulating the PostScript output of groff.
168     Without the use of the PAUSE macro, it can also be used for making
169     slides.
170
171   It is available from
172
173     www.science.uva.nl/~bobd/useful/gpresent/
174
175
176 Documentation
177 -------------
178
179 Documentation of the AT&T implementations of the troff, tbl, pic, eqn,
180 and refer programs can be found at the following site.
181
182   https://www.troff.org/papers.html
183
184 ##### Editor settings
185 Local Variables:
186 fill-column: 72
187 mode: text
188 End:
189 vim: set textwidth=72: