'\" e
.\" The above line should force the use of eqn as a preprocessor
.ig
groff_diff.man

Last update : 04 May 2004

This file is part of groff, the GNU roff type-setting system.
It is the source of the man-page groff_diff(7).

Copyright (C) 1989, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
written by James Clark

modified by Werner Lemberg 
            Bernd Warken 

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Invariant Sections being this .ig-section and AUTHORS, with no
Front-Cover Texts, and with no Back-Cover Texts.

A copy of the Free Documentation License is included as a file called
FDL in the main directory of the groff source package.
..
.
.\" --------------------------------------------------------------------
.\" Setup
.\" --------------------------------------------------------------------
.
.do nr groff_diff_C \n[.C]
.cp 0
.
.mso www.tmac
.
.if n \{\
.  mso tty-char.tmac
.  ftr CR R
.  ftr CI I
.  ftr CB B
.\}
.
.if '\*[.T]'dvi' \
.  ftr CB CW
.
.\" define a string tx for the TeX logo
.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
.el   .ds tx TeX
.
.
.\" --------------------------------------------------------------------
.\" start of macro definitions
.
.eo
.
.de c
..
.
.de TQ
.  br
.  ns
.  TP \$1
..
.de Text
.  RI "\$*"
..
.de Topic
.  TP 2m
.  Text \[bu]
..
.de squoted
.  ds @arg1 \$1
.  shift
.\"  Text \[oq]\f[CB]\*[@arg1]\f[]\[cq]\$*
.  Text \[oq]\f[B]\*[@arg1]\f[]\[cq]\$*
.  rm @arg1
..
.c A shell command line
.de ShellCommand
.  br
.  IR "shell#" "\h'1m'\f[CB]\$*\f[]\/"
..
.c reference of a request or macro
.de request
.  ds @arg1 \$1
.  shift 1
.\"  Text \f[CB]\*[@arg1]\f[]\$*
.  Text \f[B]\*[@arg1]\f[]\$*
.  rm @arg1
..
.als option request
.
.c representation of an escape sequence
.de esc
.  ds @arg1 \$1
.  shift
.\"  Text \f[CB]\[rs]\*[@arg1]\f[]\$*
.  Text \f[B]\[rs]\*[@arg1]\&\f[]\$*
.  rm @arg1
..
.ec
.\" end of macro definitions
.
.\" from old groff_out.man
.ie \n(.g \
.  ds ic \/
.el \
.  ds ic \^
.
.
.\" --------------------------------------------------------------------
.\" Title
.\" --------------------------------------------------------------------
.
.TH GROFF_DIFF 7 "5 May 2004" "Groff Version 1.19.1"
.SH NAME
groff_diff \- differences between GNU troff and classical troff
.
.
.\" --------------------------------------------------------------------
.SH DESCRIPTION
.\" --------------------------------------------------------------------
.
This manual page describes the language differences between
.IR groff ,
the GNU
.I roff
text processing system and the classical
.I roff
formatter of the freely available Unix\~7 of the 1970s, documented in
the
.I Troff User's Manual
by
.I Osanna
and
.IR Kernighan .
This inludes the roff language as well as the intermediate output
format (troff output).
.
.P
The section
.I SEE ALSO
gives pointers to both the classical
.I roff
and the modern
.I groff
documentation.
.
.
.\" --------------------------------------------------------------------
.SH "GROFF LANGUAGE"
.\" --------------------------------------------------------------------
.
In this section, all additional features of
.I groff
compared to the classical Unix\~7
.I troff
are described in detail.
.
.
.\" --------------------------------------------------------------------
.SS "Long names"
.\" --------------------------------------------------------------------
.
The names of number registers, fonts, strings/\:macros/\:diversions,
special characters (glyphs), and colors can be of any length.
.
In escape sequences, additionally to the classical
.BI ( xx
construction for a two-character name, you can use
.BI [ xxx ]
for a name of arbitrary length.
.
.TP
.BI \[rs][ xxx ]
Print the special character (glyph) called
.IR xxx .
.
.TP
.BI \[rs][ "comp1 comp2 .\|.\|." ]
Print composite glyph consisting of multiple components.
.
Example: `\[rs][A\~ho]' is capital letter A with ogonek which finally maps
to glyph name `u0041_0328'.
.
See the
.I groff info file
for details how a glyph name for a composite glyph is constructed, and
.BR groff_char (7)
for list of glyph name components used composite glyph names.
.
.TP
.BI \[rs]f[ xxx ]
Set font
.IR xxx .
.
Additionally,
.B \[rs]f[]
is a new syntax equal to
.BR \[rs]fP ,
i.e., to return to the previous font.
.
.TP
.BI \[rs]*[ "xxx arg1 arg2 .\|.\|." ]
Interpolate string
.IR xxx ,
taking
.IR arg1 ,
.IR arg2 ,
.I .\|.\|.\&
as arguments.
.
.TP
.BI \[rs]n[ xxx ]
Interpolate number register
.IR xxx .
.
.
.\" --------------------------------------------------------------------
.SS "Fractional pointsizes"
.\" --------------------------------------------------------------------
.
A
.I scaled point
is equal to
.B 1/sizescale
points, where
.B sizescale
is specified in the
.B DESC
file (1 by default).
.
There is a new scale indicator
.B z
that has the effect of multiplying by sizescale.
.
Requests and escape sequences in troff interpret arguments that
represent a pointsize as being in units of scaled points, but they
evaluate each such argument using a default scale indicator of
.BR z .
Arguments treated in this way are the argument to the
.B ps
request, the third argument to the
.B cs
request, the second and fourth arguments to the
.B tkf
request, the argument to the
.B \[rs]H
escape sequence, and those variants of the
.B \[rs]s
escape sequence that take a numeric expression as their argument.
.
.P
For example, suppose sizescale is 1000; then a scaled point will be
equivalent to a millipoint; the call
.B .ps\ 10.25
is equivalent to
.B .ps\ 10.25z
and so sets the pointsize to 10250 scaled points, which is equal to
10.25 points.
.
.P
The number register
.B \[rs]n[.s]
returns the pointsize in points as decimal fraction.
.
There is also a new number register
.B \[rs]n[.ps]
that returns the pointsize in scaled points.
.
.P
It would make no sense to use the
.B z
scale indicator in a numeric expression whose default scale indicator
was neither
.B u
nor
.BR z ,
and so
.B troff
disallows this.
.
Similarly it would make no sense to use a scaling indicator other than
.B z
or
.B u
in a numeric expression whose default scale indicator was
.BR z ,
and so
.B troff
disallows this as well.
.
.P
There is also new scale indicator\~\c
.B s
which multiplies by the number of units in a scaled point.
.
So, for example,
.B \[rs]n[.ps]s
is equal to
.BR 1m .
Be sure not to confuse the
.B s
and
.B z
scale indicators.
.
.
.\" --------------------------------------------------------------------
.SS "Numeric expressions"
.\" --------------------------------------------------------------------
.
Spaces are permitted in a number expression within parentheses.
.
.P
.B M
indicates a scale of 100ths of an em.
.B f
indicates a scale of 65536 units, providing fractions for color
definitions with the
.B defcolor
request.
.
For example, 0.5f = 32768u.
.
.TP
.IB e1 >? e2
The maximum of
.I e1
and
.IR e2 .
.
.TP
.IB e1 





www.fiveanddime.net







Google
Web www.fiveanddime.net