summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwlemb <wlemb>2001-08-10 22:20:47 +0000
committerwlemb <wlemb>2001-08-10 22:20:47 +0000
commit53b5abaf04f16b21b2358c6848d3264a1ebdd37e (patch)
tree70ef1e7426818e4b910c2a35f7b960c408f6f9dd
parent5559a2d8e74e6a83aa23a10cc3f3b146773fded7 (diff)
downloadgroff-53b5abaf04f16b21b2358c6848d3264a1ebdd37e.tar.gz
Intergrated pic2graph, contributed by Eric S. Raymond.
* contrib/pic2graph/{Makefile.sub, pic2graph.sh, pic2graph.man}: New files. * Makefile.in, NEWS: Updated. * src/preproc/tbl/tbl.man: Revised. * src/preproc/tbl/tbl.man: Extended to cover all tbl features. * src/preproc/tbl/main.cc (process_data): Fix recognition of .lf requests. * Makefile.sub (configure): Depend on configure.ac, not configure.in. * INSTALL.gen: Upgrade to autoconf 2.52's INSTALL. * src/utils/afmtodit/afmtodit.man, src/roff/groff/groff.man: Minor fixes.
-rw-r--r--ChangeLog30
-rw-r--r--INSTALL.gen117
-rw-r--r--Makefile.in3
-rw-r--r--Makefile.sub2
-rw-r--r--NEWS17
-rw-r--r--src/preproc/tbl/main.cc2
-rw-r--r--src/preproc/tbl/tbl.man332
-rw-r--r--src/roff/groff/groff.man3
-rw-r--r--src/utils/afmtodit/afmtodit.man2
9 files changed, 425 insertions, 83 deletions
diff --git a/ChangeLog b/ChangeLog
index f85976af..1d040750 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2001-08-10 Werner LEMBERG <wl@gnu.org>
+
+ Intergrated pic2graph, contributed by Eric S. Raymond.
+
+ * contrib/pic2graph/{Makefile.sub, pic2graph.sh, pic2graph.man}: New
+ files.
+ * Makefile.in, NEWS: Updated.
+
+ * src/preproc/tbl/tbl.man: Revised.
+
+2001-08-09 Eric S. Raymond <esr@thyrsus.com>
+
+ * src/preproc/tbl/tbl.man: Extended to cover all tbl features.
+
+2001-08-09 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/main.cc (process_data): Fix recognition of .lf
+ requests.
+
+2001-08-08 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.sub (configure): Depend on configure.ac, not
+ configure.in.
+ * INSTALL.gen: Upgrade to autoconf 2.52's INSTALL.
+
+2001-08-07 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/afmtodit/afmtodit.man, src/roff/groff/groff.man: Minor
+ fixes.
+
2001-08-06 Werner LEMBERG <wl@gnu.org>
* src/roff/troff/troff.man: Improve documentation of -E option.
diff --git a/INSTALL.gen b/INSTALL.gen
index 50dbe439..666ffd9f 100644
--- a/INSTALL.gen
+++ b/INSTALL.gen
@@ -8,20 +8,27 @@ various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
The simplest way to compile this package is:
@@ -55,14 +62,15 @@ Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for variables by setting
+them in the environment. You can do that on the command line like this:
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+ ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+ *Note Environment Variables::, for more details.
Compiling For Multiple Architectures
====================================
@@ -75,7 +83,7 @@ directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
- If you have to use a `make' that does not supports the `VPATH'
+ If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
@@ -122,22 +130,36 @@ you can use the `configure' options `--x-includes=DIR' and
Specifying the System Type
==========================
- There may be some features `configure' can not figure out
+ There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
+a message saying it cannot guess the host type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
CPU-COMPANY-SYSTEM
-See the file `config.sub' for the possible values of each field. If
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
- If you are building compiler tools for cross-compiling, you can also
+ If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the host
+platform (i.e., that on which the generated programs will eventually be
+run) with `--host=TYPE'. In this case, you should also specify the
+build platform with `--build=TYPE', because, in this case, it may not
+be possible to guess the build platform (it sometimes involves
+compiling and running simple test programs, and this can't be done if
+the compiler is a cross compiler).
Sharing Defaults
================
@@ -150,20 +172,44 @@ default values for variables like `CC', `cache_file', and `prefix'.
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
-Operation Controls
-==================
+Environment Variables
+=====================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to configure. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+will cause the specified gcc to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+`configure' Invocation
+======================
`configure' recognizes the following options to control how it
operates.
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
`--help'
+`-h'
Print a summary of the options to `configure', and exit.
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
`--quiet'
`--silent'
`-q'
@@ -175,9 +221,6 @@ operates.
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
diff --git a/Makefile.in b/Makefile.in
index b4845d2f..89d03be4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -393,7 +393,8 @@ OTHERDIRS=\
src/utils/afmtodit \
src/roff/grog \
src/roff/nroff \
- contrib/mm
+ contrib/mm \
+ contrib/pic2graph
ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \
$(DEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS)
EXTRADIRS=\
diff --git a/Makefile.sub b/Makefile.sub
index 77c701f9..17ac3c1d 100644
--- a/Makefile.sub
+++ b/Makefile.sub
@@ -4,5 +4,5 @@ CLEANADD=Makefile.cfg conftest*
distfiles: configure
-configure: configure.in aclocal.m4
+configure: configure.ac aclocal.m4
cd $(srcdir); autoconf
diff --git a/NEWS b/NEWS
index 1476df65..fa7a8df0 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,13 @@ o The `-xwidth' specifier in the mdoc macro package has been removed. Its
functionality is now integrated directly into `-width'. Similarly,
`-column' has been extended to has this functionality also.
+Pic2graph
+---------
+
+o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It
+ converts a PIC diagram into a cropped image. Since it uses gs and the PNM
+ library, virtually all graphics formats are available for output.
+
VERSION 1.17.2
==============
@@ -254,12 +261,12 @@ o The grog script now works in non-compatibility mode also (which is the
Grops
-----
-A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has been
-added to select a different prologue file.
+o A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has
+ been added to select a different prologue file.
-The effect of the former `-mpsnew' option to access more Type 1 characters
-is now the default and no longer available. To get the old behaviour (i.e.,
-emulation of some glyphs by composition) use `-mpsold'.
+o The effect of the former `-mpsnew' option to access more Type 1 characters
+ is now the default and no longer available. To get the old behaviour
+ (i.e., emulation of some glyphs by composition) use `-mpsold'.
Miscellaneous
-------------
diff --git a/src/preproc/tbl/main.cc b/src/preproc/tbl/main.cc
index b1b14a71..45e25a03 100644
--- a/src/preproc/tbl/main.cc
+++ b/src/preproc/tbl/main.cc
@@ -1385,7 +1385,7 @@ table *process_data(table_input &in, format *f, options *opt)
f = newf;
}
if (line.length() >= 3
- && line[0] == '.' && line[1] == 'f' && line[2] == 'f') {
+ && line[0] == '.' && line[1] == 'l' && line[2] == 'f') {
line += '\0';
interpret_lf_args(line.contents() + 3);
}
diff --git a/src/preproc/tbl/tbl.man b/src/preproc/tbl/tbl.man
index 42dac252..058d6009 100644
--- a/src/preproc/tbl/tbl.man
+++ b/src/preproc/tbl/tbl.man
@@ -19,6 +19,8 @@ the original English.
.TH @G@TBL @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
@g@tbl \- format tables for troff
+.
+.
.SH SYNOPSIS
.B @g@tbl
[
@@ -27,6 +29,8 @@ the original English.
[
.IR files \|.\|.\|.
]
+.
+.
.SH DESCRIPTION
This manual page describes the GNU version of
.BR tbl ,
@@ -53,6 +57,8 @@ will be read.
A filename of
.B \-
will cause the standard input to be read.
+.
+.
.SH OPTIONS
.TP
.B \-C
@@ -64,47 +70,291 @@ even when followed by a character other than space or newline.
.TP
.B \-v
Print the version number.
+.
+.
.SH USAGE
-Only the differences between GNU
.B tbl
-and Unix
-.B tbl
-are described here.
-.LP
+expects to find table descriptions wrapped in the
+.B .TS
+(table start) and
+.B .TE
+(table end) macros.
+The line immediately following the
+.B .TS
+macro may contain any of the following global options:
+.
+.TP
+.B center
+Centers the table (default is left-justified).
+The alternative keyword name
+.B centre
+is also recognized.
+.
+.TP
+.BI delim( xy )
+Use
+.I x
+and
+.I y
+as start and end delimiters for
+.BR @g@eqn (@MAN1EXT@).
+.
+.TP
+.B expand
+Makes the table as wide as the current line length.
+.
+.TP
+.B box
+Encloses the table in a box.
+.
+.TP
+.B doublebox
+Encloses the table in a double box.
+.
+.TP
+.B allbox
+Encloses each item of the table in a box.
+.
+.TP
+.B frame
+Same as box (GNU tbl only).
+.
+.TP
+.B doubleframe
+Same as doublebox (GNU tbl only).
+.
+.TP
+.BI tab( x )
+Uses the character
+.I x
+instead of a tab to separate items in a line of input data.
+.
+.TP
+.BI linesize( n )
+Sets lines or rules (e.g. from
+.BR box )
+in
+.IR n -point
+type.
+.
+.TP
+.B nokeep
+Don't use diversions to prevent page breaks (GNU tbl only).
Normally
.B tbl
attempts to prevent undesirable breaks in the table by using diversions.
-This can sometimes interact badly with macro packages' own use of diversions,
-when footnotes, for example, are used.
-The
-.B nokeep
-option tells
-.B tbl
-not to try and prevent breaks in this way.
+This can sometimes interact badly with macro packages' own use of
+diversions, when footnotes, for example, are used.
+.
+.TP
+.BI decimalpoint( c )
+Set the character to be recognized as the decimal point in numeric
+columns (GNU tbl only).
+.
.LP
-The
-.B decimalpoint
-option specifies the character to be recognized as the decimal
-point character in place of the default period.
-It takes an argument in parentheses, which must be a single
-character, as for the
+The global options must end with a semicolon.
+There might be whitespace after the option and its argument in parentheses.
+.LP
+After global options come lines describing the format of each line of
+the table.
+Each such format line describes one line of the table itself, except that
+the last format line (which you must end with a period) describes all
+remaining lines of the table.
+A single key character describes each column of each line of the table.
+You may run format specs for multiple lines together on the same line by
+separating them with commas.
+.LP
+You may follow each key character with specifiers that determine the font
+and point size of the corresponding item, that determine column width,
+inter-column spacing, etc.
+.LP
+The longest format line defines the number of columns in the table; missing
+format descriptors at the end of format lines are assumed to be `L'.
+Extra columns in the data (which have no corresponding format entry) are
+ignored.
+.LP
+The available key characters are:
+.
+.TP
+c,C
+Centers item within the column.
+.
+.TP
+r,R
+Right-justifies item within the column.
+.
+.TP
+l,L
+Left-justifies item within the column.
+.
+.TP
+n,N
+Numerically justifies item in the column: Units positions of numbers are
+aligned vertically.
+.
+.TP
+s,S
+Spans previous item on the left into this column.
+.
+.TP
+a,A
+Centers longest line in this column and then left-justifies all other lines
+in this column with respect to that centered line.
+.
+.TP
+^
+Spans down entry from previous row in this column.
+.
+.TP
+_,-
+Replaces this entry with a horizontal line.
+.
+.TP
+=
+.
+Replaces this entry with a double horizontal line.
+.
+.TP
+|
+The corresponding column becomes a vertical rule (if two of these are
+adjacent, a double vertical rule).
+.
+.LP
+A vertical bar to the left of the first key-letter or to the right of the
+last one produces a line at the edge of the table.
+.LP
+Here are the specifiers that can appear in suffixes to column key letters:
+.
+.TP
+b,B
+Short form of fB (make affected entries bold).
+.
+.TP
+i,I
+Short form of fI (make affected entries italic).
+.
+.TP
+t,T
+Start an item vertically spanning rows at the top of its range rather than
+vertically centering it.
+.
+.TP
+d,D
+Start an item vertically spanning rows at the bottom of its range rather
+than vertically centering it (GNU tbl only).
+.
+.TP
+v,V
+Followed by a number, this indicates the vertical line spacing to be used in
+a multi-line table entry.
+If signed, the current vertical line spacing is incremented or decremented
+(using a signed number instead of a signed digit is a GNU tbl extension).
+A vertical line spacing specifier followed by a column separation number
+must be separated by one or more blanks.
+No effect if the corresponding table entry isn't a text block.
+.
+.TP
+f,F
+Either of these specifiers may be followed by a font name (either one or two
+characters long), font number (a single digit), or long name in parentheses
+(the last form is a GNU tbl extension).
+A one-letter font name must be separated by one or more blanks from whatever
+follows.
+.
+.TP
+p,P
+Followed by a number, this does a point size change for the affected fields.
+If signed, the current point size is incremented or decremented (using a
+signed number instead of a signed digit is a GNU tbl extension).
+A point size specifier followed by a column separation number must be
+separated by one or more blanks.
+.
+.TP
+w,W
+Minimal column width value.
+Must be followed either by a
+.BR @g@troff (@MAN1EXT@)
+width expression in parentheses or a unitless integer.
+If no unit is given, en units are used.
+Also used as the default line length for included text blocks.
+If used multiple times, the last entry takes effect.
+.
+.TP
+e,E
+Make equally-spaced columns.
+.
+.TP
+u,U
+Move the corresponding column up one half-line.
+.
+.TP
+z,Z
+Ignore the corresponding column for width-calculation purposes.
+.
+.LP
+A number suffix on a key character is interpreted as a column
+separation in ens (multiplied in proportion if the
+.B expand
+option is on).
+Default separation is 3n.
+.LP
+The format lines are followed by lines containing the actual data for the
+table, followed finally by
+.BR .TE .
+Within such data lines, items are normally separated by tab characters (or
+the character specified with the
.B tab
-option.
+option).
+Long input lines can be broken across multiple lines if the last character
+on the line is `\e' (which vanishes after concatenation).
.LP
-The
-.B f
-format modifier can be followed by an arbitrary length
-font name in parentheses.
-.LP
-There is a
-.B d
-format modifier which means that a vertically spanning entry
-should be aligned at the bottom of its range.
-.LP
-There is no limit on the number of columns in a table, nor any limit
-on the number of text blocks.
-All the lines of a table are considered in deciding column
-widths, not just the first 200.
+A dot starting a line, followed by anything but a digit is handled as a
+troff command, passed through without changes.
+The table position is unchanged in this case.
+.LP
+If a data line consists of only `_' or `=', a single or double line,
+respectively, is drawn across the table at that point; if a single item in a
+data line consists of only `_' or `=', then that item is replaced by a
+single or double line, joining its neighbours.
+If a data item consists only of `\e_' or `\e=', a single or double line,
+respectively, is drawn across the field at that point which does not join
+its neighbours.
+.LP
+A data item consisting only of `\eRx' (`x' any character) is replaced by
+repetitions of character `x' as wide as the column (not joining its
+neighbours).
+.LP
+A data item consisting only of `\e^' indicates that the field immediately
+above spans downward over this row.
+.LP
+A text block can be used to enter data as a single entry which would be
+too long as a simple string between tabs.
+It is started with `T{' and closed with `T}'.
+The latter must start a line, probably followed by other data columns
+(separated with tabs).
+.LP
+To change the data format within a table, use the
+.B .T&
+command (at the start of a line).
+It is followed by format and data lines (but no global options) similar to
+the
+.B .TS
+request.
+.
+.
+.SH "INTERACTION WITH @G@EQN"
+.BR @g@tbl (@MAN1EXT@)
+should always be called before
+.BR @g@eqn (@MAN1EXT@)
+.RB ( groff (@MAN1EXT@)
+automatically takes care of the correct order of preprocessors).
+.
+.
+.SH "GNU TBL ENHANCEMENTS"
+There is no limit on the number of columns in a table, nor any limit on the
+number of text blocks.
+All the lines of a table are considered in deciding column widths, not just
+the first 200.
Table continuation
.RB ( .T& )
lines are not restricted to the first 200 lines.
@@ -113,13 +363,15 @@ Numeric and alphabetic items may appear in the same column.
.LP
Numeric and alphabetic items may span horizontally.
.LP
-.B tbl
+.B @g@tbl
uses register, string, macro and diversion names beginning with
.BR 3 .
When using
-.B tbl
+.B @g@tbl
you should avoid using any names beginning with a
.BR 3 .
+.
+.
.SH BUGS
You should use
.BR .TS\ H / .TH
@@ -157,7 +409,7 @@ instead of
.BR bp .
.LP
Using \ea directly in a table to get leaders will not work.
-This is correct behaviour: \ea is a
+This is correct behaviour: \ea is an
.B uninterpreted
leader.
To get leaders use a real leader, either by using a control A or like
@@ -173,6 +425,14 @@ A\e*a;B
\&.TE
.ft
.fi
+.
+.
+.SH REFERENCE
+Lesk, M.E.: "TBL -- A Program to Format Tables".
+For copyright reasons it cannot be included in the groff distribution,
+but copies can be found with a title search on the World Wide Web.
+.
+.
.SH "SEE ALSO"
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@)
diff --git a/src/roff/groff/groff.man b/src/roff/groff/groff.man
index 00c93431..ffb683e8 100644
--- a/src/roff/groff/groff.man
+++ b/src/roff/groff/groff.man
@@ -435,7 +435,7 @@ Include a complete, self-contained example
that will allow the bug to be reproduced,
and say which version of groff you are using.
.SH COPYRIGHT
-Copyright \(co 1989-2000 Free Software Foundation, Inc.
+Copyright \(co 1989-2000, 2001 Free Software Foundation, Inc.
.LP
groff is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
@@ -483,6 +483,7 @@ The actual version can be found at
.BR groff_man (@MAN7EXT@),
.BR groff_ms (@MAN7EXT@),
.BR groff_me (@MAN7EXT@),
+.BR groff_mwww (@MAN7EXT@),
.BR groff_char (@MAN7EXT@)
.
.\" Local Variables:
diff --git a/src/utils/afmtodit/afmtodit.man b/src/utils/afmtodit/afmtodit.man
index 585c2297..e5b02682 100644
--- a/src/utils/afmtodit/afmtodit.man
+++ b/src/utils/afmtodit/afmtodit.man
@@ -52,7 +52,7 @@ creates a font file for use with groff and
.BR grops .
.B afmtodit
is written in perl;
-you must have perl version 3 installed in order to run
+you must have perl version 3 or newer installed in order to run
.BR afmtodit .
.I afm_file
is the AFM (Adobe Font Metric) file for the font.