home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
APPS
/
lout2.lzh
/
LOUT2
/
DOC
/
TR.OVER
/
s1
< prev
next >
Wrap
Text File
|
1994-01-25
|
4KB
|
67 lines
@Section
@Title { Introduction }
@Begin
@PP
The personal computer and the laser printer have sparked a revolution in
the production of documents. Many authors now routinely take their work
from conception to camera-ready copy, many publishers are using desktop
publishing systems, and it is probable that manual assembly of documents
will become uncommon in the near future.
@PP
As control moves into the hands of an ever-increasing number of
non-technical people, the stresses on document formatting software
increase. On the one hand, this software must be so simple that anyone
can use it; on the other, it must supply a bewildering array of
features. A book, for example, demands fonts, paragraph and page
breaking, floating figures and tables, footnotes, chapters and sections,
running page headers and footers, an automatically generated table of
contents, and a sorted index. Add to this an open-ended list of
specialized features, beginning with mathematical typesetting, diagrams,
and access to bibliographic databases, and the result is a nightmare for
the software developer.
@PP
One solution to this feature explosion problem is to implement as a
system primitive every feature that will ever be required. Although all
of the successful interactive document editors known to the author take
this approach (admittedly with some attempt to generalize and unify
their features), it has clearly reached its limit. Few such systems
provide equation formatting, fewer still will format a Pascal program,
and other specialized features will simply never be implemented.
@PP
A second solution is to provide a relatively small system equipped with
a means of defining new features, as in programming languages. This
approach has been taken by the batch formatters (those which do not
display a continuously updated image of the printed document while
editing) found in academia, notably troff [{@Ref ossanna76}], @TeX
[{@Ref knuth84}], and Scribe [{@Ref reid80}]. Features such as
footnotes and automatic tables of contents have been added to these
systems using macro definitions. Unfortunately, such extensions are
very difficult and error-prone in practice: @TeX's footnote macro alone
contains half a page of dense, obscure code, while those who have
extended troff have abandoned the language itself and taken refuge in
preprocessors. A more productive basis for developing new features is needed.
@PP
This article presents a high-level language for document formatting,
called Lout, which is intended to form such a basis. Lout is quite
accessible to non-expert users, but its unique property is the ease with
which expert users can add new features. We begin with a presentation
of Lout as it appears to the non-expert user who employs the standard
packages without under&-standing Lout's principles. Later sections switch
to the expert's view, showing by examples the principles of Lout and how
advanced features are defined.
@PP
A Unix-compatible
@FootNote { Unix is a trademark of "AT&T" Bell Laboratories. }
batch formatter for Lout (called Basser Lout) has been written which
produces PostScript
@FootNote { PostScript is a trademark of Adobe Systems, Incorporated. }
output suitable for printing on most laser printers and many other
devices. A library of standard packages written in Lout provides all of
the features listed above and many others. This system is not an
experimental prototype, it is a fully operational prod&-uct&-ion
implementation. The software and its supporting documentation
[{@Ref kingston92}, {@Ref kingston93basser}, {@Ref kingston92begin},
{@Ref kingston92design}, {@Ref kingston92eq}, {@Ref kingston92fig},
{@Ref kingston92tab}] are available free of charge from the author.
@End @Section