Deleted Added
full compact
6c6
< Last update: 13 Apr 2003
---
> Last update: 2 Jul 2005
10c10,11
< Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc.
---
> Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005
> Free Software Foundation, Inc.
26a28,30
> .do nr groff_out_C \n[.C]
> .cp 0
> .
255c259,261
< This manual page describes the intermediate output format of the GNU
---
> This manual page describes the
> .I intermediate output
> format of the GNU
257c263,264
< text processing system.
---
> text processing system
> .BR groff (@MAN1EXT@).
260,261c267,268
< .BR troff (@MAN1EXT@)
< program before it is fed into a device postprocessor program.
---
> .BR @g@troff (@MAN1EXT@)
> program.
262a270,273
> It contains already all device-specific information, but it is not yet
> fed into a device postprocessor program.
> .
> .
264c275,277
< As the GNU roff processor
---
> As the GNU
> .I roff
> processor
266c279,281
< is a wrapper program around troff that automatically calls a
---
> is a wrapper program around
> .B @g@troff
> that automatically calls a
279c294,295
< to inhibit postprocessing, such that the produced intermediate output
---
> to inhibit postprocessing, such that the produced
> .I intermediate output
281c297
< .B troff
---
> .B @g@troff
283a300
> .
286,287c303,306
< .I troff output
< describes what is output by the GNU troff program, while
---
> .I @g@troff output
> describes what is output by the GNU
> .B @g@troff
> program, while
295,297c314,315
< The pre-groff roff versions are denoted as
< .I classical
< .IR troff .
---
> Both formats can be viewed directly with
> .BR \%gxditview (@MAN1EXT@).
298a317
> .
300,302c319,322
< The main purpose of the intermediate output concept is to facilitate
< the development of postprocessors by providing a common programming
< interface for all devices.
---
> The main purpose of the
> .I intermediate output
> concept is to facilitate the development of postprocessors by
> providing a common programming interface for all devices.
311,312c331,333
< intermediate output language is a kind of low-level assembler language
< by specifying all positions on the page for writing and drawing.
---
> .I intermediate output
> language is a kind of low-level assembler language by specifying all
> positions on the page for writing and drawing.
313a335
> .
315,316c337,346
< The intermediate output produced by
< .I groff
---
> The
> .RI pre- groff
> .I roff
> versions are denoted as
> .I classical
> .IR troff .
> The
> .I intermediate output
> produced by
> .B groff
322c352
< .IR troff .
---
> .IR @g@troff .
330,332c360,364
< .BR troff ,
< the roff input is cracked down to the information on what has to be
< printed at what position on the intended device.
---
> .BR @g@troff ,
> the
> .I roff
> input is cracked down to the information on what has to be printed at
> what position on the intended device.
334c366,368
< So the language of the intermediate output format can be quite small.
---
> So the language of the
> .I intermediate output
> format can be quite small.
338,340c372,376
< In this document, the term "command" always refers to the intermediate
< output language, never to the roff language used for document
< formatting.
---
> In this document, the term "command" always refers to the
> .I intermediate output
> language, never to the
> .I roff
> language used for document formatting.
354c390
< .I groff
---
> .B groff
358c394
< The whitespace characters, i.e.\& the
---
> The whitespace characters, i.e., the
367a404
> .
374,375c411,412
< .B syntactical
< .BR space .
---
> .I syntactical
> .IR space .
385c422,424
< separated by syntactical space.
---
> separated by
> .I syntactical
> .IR space .
386a426
> .
394,396c434,437
< .B syntactical line break
< is defined to consist of optional syntactical space that is optionally
< followed by a comment, and a newline character.
---
> .I syntactical line break
> is defined to consist of optional
> .I syntactical space
> that is optionally followed by a comment, and a newline character.
397a439
> .
403,405c445,449
< the same line, but fortunately, in groff intermediate output, every
< command with at least one argument is followed by a line break, thus
< providing excellent readability.
---
> the same line, but fortunately, in
> .I groff intermediate
> .IR output ,
> every command with at least one argument is followed by a line break,
> thus providing excellent readability.
424c468
< command, i.e.\& the arguments may not be splitted by a line break.
---
> command, i.e., the arguments may not be splitted by a line break.
427c471
< Empty lines, i.e.\& lines containing only space and/or a comment, can
---
> Empty lines, i.e., lines containing only space and/or a comment, can
442c486,488
< and the groff info file for more on this topic.
---
> and the
> .I groff info file
> for more on this topic.
459a506
> .
467a515
> .
483,484c531,536
< A correct intermediate output document consists of two parts, the
< prologue and the body.
---
> A correct
> .I intermediate output
> document consists of two parts, the
> .I prologue
> and the
> .IR body .
509,510c561,563
< But the parser for the intermediate output format is able to swallow
< additional whitespace and comments as well.
---
> But the parser for the
> .I intermediate output
> format is able to swallow additional whitespace and comments as well.
511a565
> .
518c572,573
< ones used in the prologue.
---
> ones used in the
> .IR prologue .
522c577,578
< command is encountered; the last line of any groff intermediate output
---
> command is encountered; the last line of any
> .I groff intermediate output
524a581
> .
526c583,585
< Semantically, the body is page oriented.
---
> Semantically, the
> .I body
> is page oriented.
547,548c606,608
< This section describes all intermediate output commands, the classical
< commands as well as the
---
> This section describes all
> .I intermediate output
> commands, the classical commands as well as the
566,567c626,628
< This command is the only possibility for commenting in the intermediate
< output.
---
> This command is the only possibility for commenting in the
> .I intermediate
> .IR output .
595,597c656,659
< A separating syntactical space is only necessary when two integer
< arguments would clash or if the preceding argument ends with a string
< argument.
---
> A separating
> .I syntactical space
> is only necessary when two integer arguments would clash or if the
> preceding argument ends with a string argument.
622,623c684,688
< The trailing syntactical space or line break is necessary to allow
< character names of arbitrary length.
---
> The trailing
> .I syntactical space
> or
> .I line break
> is necessary to allow character names of arbitrary length.
625,626c690,691
< The character is printed at the current print position;
< the character's size is read from the font file.
---
> The character is printed at the current print position; the
> character's size is read from the font file.
661c726
< .I [54]
---
> .I [CSTR\~#54]
681c746,748
< These commands are generated by the groff escape sequence
---
> These commands are generated by the
> .I groff
> escape sequence
686c753,755
< These commands are a groff extension.
---
> These commands are a
> .I groff
> extension.
735c804,806
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
742c813,816
< In classical troff, the integer arguments
---
> In
> .I classical
> .IR troff ,
> the integer arguments
747,748c821,823
< make the intermediate output more human readable without performing
< any action.
---
> make the
> .I intermediate output
> more human readable without performing any action.
750,751c825,828
< In groff, they are just ignored, but they must be provided for
< compatibility reasons.
---
> In
> .IR groff ,
> they are just ignored, but they must be provided for compatibility
> reasons.
778c855
< .BR troff ).
---
> .BR @g@troff ).
780c857,858
< Classical troff used the unit
---
> .I Classical troff
> used the unit
790c868
< Print a word, i.e.\& a sequence of characters
---
> Print a word, i.e., a sequence of characters
808c886,888
< This command is a groff extension; it is only used for devices whose
---
> This command is a
> .I groff
> extension; it is only used for devices whose
828c908,910
< This command is a groff extension; it is only used for devices whose
---
> This command is a
> .I groff
> extension; it is only used for devices whose
853c935
< .I [54]
---
> .I [CSTR\~#54]
871,872c953,955
< Each graphics or drawing command in the intermediate output starts
< with the letter\~\c
---
> Each graphics or drawing command in the
> .I intermediate output
> starts with the letter\~\c
879,883c962,970
< .BR D \ command
< may not be followed by another command on the same line
< (apart from a comment), so each
< .BR D \ command
< is terminated by a syntactical line break.
---
> .B D\c
> \~command
> may not be followed by another command on the same line (apart from a
> comment), so each
> .B D\c
> \~command
> is terminated by a
> .I syntactical line
> .IR break .
884a972
> .
886c974
< .I troff
---
> .B @g@troff
893a982
> .
911a1001
> .
919a1010
> .
921c1012,1014
< Unknown D\~commands are assumed to be device-specific.
---
> Unknown
> .B D\c
> \~commands are assumed to be device-specific.
925a1019
> .
942,943c1036,1037
< This command takes a variable number of argument pairs;
< the current position is moved to the terminal point of the drawn curve.
---
> This command takes a variable number of argument pairs; the current
> position is moved to the terminal point of the drawn curve.
967c1061,1063
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
990c1086,1088
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1016c1114,1116
< These commands are generated by the groff escape sequences
---
> These commands are generated by the
> .I groff
> escape sequences
1024c1124,1126
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1090a1193
> .
1094c1197,1199
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1129c1234,1236
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1145c1252,1254
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1175c1284,1286
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1185,1186c1296,1300
< groff) and a subcommand letter or word; each argument (if any) must be
< preceded by a syntactical space.
---
> .IR groff )
> and a subcommand letter or word; each argument (if any) must be
> preceded by a
> .I syntactical
> .IR space .
1197c1311
< readability, it can be written as a word, i.e.\& an arbitrary sequence
---
> readability, it can be written as a word, i.e., an arbitrary sequence
1203c1317
< .I troff
---
> .B @g@troff
1233,1234c1347,1349
< This is useful for remembering the original file name when groff uses
< an internal piping mechanism.
---
> This is useful for remembering the original file name when
> .B groff
> uses an internal piping mechanism.
1238c1353,1355
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1259,1260c1376,1377
< Classical troff used the unit
< points (\c
---
> .I Classical troff
> used the unit points (\c
1270c1387,1388
< This is the third command of the prologue.
---
> This is the third command of the
> .IR prologue .
1295c1413,1414
< This is the second command of the prologue.
---
> This is the second command of the
> .IR prologue .
1309c1428,1430
< command of any intermediate troff output.
---
> command of any
> .I intermediate @g@troff
> .IR output .
1317c1438
< .IR groff ,
---
> .BR groff ,
1331c1452,1453
< This is the first command of the prologue.
---
> This is the first command of the
> .IR prologue .
1348c1470
< .I nroff
---
> .B @g@nroff
1351c1473,1475
< This command is a groff extension.
---
> This command is a
> .I groff
> extension.
1380c1504,1506
< The line-continuing feature is a groff extension.
---
> The line-continuing feature is a
> .I groff
> extension.
1404a1531
> .
1407,1408c1534,1538
< In groff, arbitrary syntactical space around and within this command
< is allowed to be added.
---
> In
> .IR groff ,
> arbitrary
> .I syntactical space
> around and within this command is allowed to be added.
1420a1551
> .
1426c1557,1559
< In groff, this is only used for the devices
---
> In
> .BR groff ,
> this is only used for the devices
1448c1581,1582
< intermediate output into actions that are sent to a device.
---
> .I intermediate output
> into actions that are sent to a device.
1458,1460c1592,1595
< There is a library function that parses the intermediate output and
< sends the information obtained to the device via methods of a class
< with a common interface for each device.
---
> There is a library function that parses the
> .I intermediate output
> and sends the information obtained to the device via methods of a
> class with a common interface for each device.
1474,1475c1609,1611
< This section presents the intermediate output generated from the same
< input for three different devices.
---
> This section presents the
> .I intermediate output
> generated from the same input for three different devices.
1479c1615,1617
< fed into groff on the command line.
---
> fed into
> .B groff
> on the command line.
1480a1619
> .
1485d1623
< .RS
1486a1625
> .RS
1489a1629
> .
1514a1655
> .
1525d1665
< .RS
1526a1667
> .RS
1535a1677
> .
1538a1681
> .
1541c1684
< .I # prologue
---
> .I "# prologue"
1546c1689
< .I # begin a new page
---
> .I "# begin a new page"
1549c1692
< .I # font setup
---
> .I "# font setup"
1554c1697
< .I # initial positioning on the page
---
> .I "# initial positioning on the page"
1558c1701
< .I # write text `hell'
---
> .I "# write text `hell'"
1561c1704
< .I # inform about a space, and do it by a horizontal jump
---
> .I "# inform about a space, and do it by a horizontal jump"
1564c1707
< .I # write text `world'
---
> .I "# write text `world'"
1567c1710
< .I # announce line break, but do nothing because ...
---
> .I "# announce line break, but do nothing because ..."
1570c1713
< .I # ... the end of the document has been reached
---
> .I "# ... the end of the document has been reached"
1578a1722
> .
1588d1731
< .RS
1589a1733
> .RS
1592,1593c1736,1739
< printers the intermediate output for the X\~devices can use the
< jump-and-write command with its 2-digit displacements.
---
> printers the
> .I intermediate output
> for the X\~devices can use the jump-and-write command with its 2-digit
> displacements.
1594a1741
> .
1597a1745
> .
1610c1758
< .I # write text with old-style jump-and-write command
---
> .I "# write text with old-style jump-and-write command"
1620a1769
> .
1623c1772
< .BR xditview (1x)
---
> .BR \%xditview (1x)
1625c1774
< .BR gxditview (@MAN1EXT@)
---
> .BR \%gxditview (@MAN1EXT@)
1627a1777
> .
1637c1787,1789
< The intermediate output language of the
---
> The
> .I intermediate output
> language of the
1640c1792
< .IR [97] .
---
> .IR [CSTR\~#97] .
1643,1645c1795,1799
< .I groff
< intermediate output format is compatible with this specification
< except for the following features.
---
> .I groff intermediate output
> format is compatible with this specification except for the following
> features.
> .
> .
1648a1803
> .
1652,1653c1807,1811
< So the groff devices are also fundamentally different from the ones in
< classical troff.
---
> So the
> .I groff
> devices are also fundamentally different from the ones in
> .I classical
> .IR troff .
1658c1816,1817
< while groff's
---
> while
> .IR groff 's
1664c1823,1824
< modern groff.
---
> modern
> .IR groff .
1665a1826
> .
1669,1671c1830,1835
< is correctly handled by the intermediate output parser, but the
< drawing routines aren't implemented in some of the postprocessor
< programs.
---
> is correctly handled by the
> .I intermediate output
> parser, but the drawing routines aren't implemented in some of the
> postprocessor programs.
> .
> .
1679c1843,1847
< in groff, while classical troff had point (\c
---
> in
> .IR groff ,
> while
> .I classical troff
> had point (\c
1682,1683c1850,1851
< This isn't an incompatibility, but a compatible extension,
< for both units coincide for all devices without a
---
> This isn't an incompatibility, but a compatible extension, for both
> units coincide for all devices without a
1685c1853,1855
< parameter, including all classical and the groff text devices.
---
> parameter, including all classical and the
> .I groff
> text devices.
1687,1689c1857,1860
< The few groff devices with a sizescale parameter either did
< not exist, had a different name, or seem to have had a different
< resolution.
---
> The few
> .I groff
> devices with a sizescale parameter either did not exist, had a
> different name, or seem to have had a different resolution.
1692a1864
> .
1707c1879,1881
< commands that are groff extensions.
---
> commands that are
> .I groff
> extensions.
1711a1886
> .
1714,1715c1889,1892
< .I The position after a graphic object has been drawn is at its end;
< .I for circles and ellipses, the "end" is at the right side.
---
> .ft I
> The position after a graphic object has been drawn is at its end;
> for circles and ellipses, the "end" is at the right side.
> .ft
1717a1895
> .
1724c1902,1906
< The differences between groff and classical troff are documented in
---
> The differences between
> .I groff
> and
> .I classical troff
> are documented in
1739c1921,1923
< Defines the parser and postprocessor for the intermediate output.
---
> Defines the parser and postprocessor for the
> .I intermediate
> .IR output .
1747,1748c1931,1932
< .I groff
< intermediate output format.
---
> .I groff intermediate output
> format.
1758c1942
< .I groff
---
> .B groff
1765a1950
> .
1770a1956
> .
1774a1961
> .
1780a1968
> .
1786a1975
> .
1792a1982
> .
1794c1984
< .BR troff (@MAN1EXT@)
---
> .BR @g@troff (@MAN1EXT@)
1796a1987
> .
1800a1992
> .
1805a1998,2005
> .
> .TP
> .BR gxditview (@MAN1EXT@)
> Viewer for the
> .I intermediate
> .IR output .
> .
> .
1817a2018
> .
1831a2033
> .
1838a2041
> .
1847a2051
> .
1858,1859c2062
< regarding the output language;
< see
---
> regarding the output language; see
1867c2070,2072
< Copyright (C) 1989, 2001, 2002, 2003 Free Software Foundation, Inc.
---
> Copyright (C) 1989, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
> .
> .
1875a2081
> .
1879c2085,2087
< the GNU roff distribution.
---
> the GNU
> .I roff
> distribution.
1886,1888c2094,2095
< It has been rewritten 2002 by
< .MTO bwarken@mayn.de "Bernd Warken"
< and is maintained by
---
> It has been rewritten 2002 by \m[blue]Bernd Warken\m[] and is
> maintained by
1890a2098,2099
> .cp \n[groff_out_C]
> .