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 >
Text File  |  1994-01-25  |  4KB  |  67 lines

  1. @Section
  2.    @Title { Introduction }
  3. @Begin
  4. @PP
  5. The personal computer and the laser printer have sparked a revolution in
  6. the production of documents.  Many authors now routinely take their work
  7. from conception to camera-ready copy, many publishers are using desktop
  8. publishing systems, and it is probable that manual assembly of documents
  9. will become uncommon in the near future.
  10. @PP
  11. As control moves into the hands of an ever-increasing number of
  12. non-technical people, the stresses on document formatting software
  13. increase.  On the one hand, this software must be so simple that anyone
  14. can use it; on the other, it must supply a bewildering array of
  15. features.  A book, for example, demands fonts, paragraph and page
  16. breaking, floating figures and tables, footnotes, chapters and sections,
  17. running page headers and footers, an automatically generated table of
  18. contents, and a sorted index.  Add to this an open-ended list of
  19. specialized features, beginning with mathematical typesetting, diagrams,
  20. and access to bibliographic databases, and the result is a nightmare for
  21. the software developer.
  22. @PP
  23. One solution to this feature explosion problem is to implement as a
  24. system primitive every feature that will ever be required.  Although all
  25. of the successful interactive document editors known to the author take
  26. this approach (admittedly with some attempt to generalize and unify
  27. their features), it has clearly reached its limit.  Few such systems
  28. provide equation formatting, fewer still will format a Pascal program,
  29. and other specialized features will simply never be implemented.
  30. @PP
  31. A second solution is to provide a relatively small system equipped with
  32. a means of defining new features, as in programming languages.  This
  33. approach has been taken by the batch formatters (those which do not
  34. display a continuously updated image of the printed document while
  35. editing) found in academia, notably troff [{@Ref ossanna76}], @TeX
  36. [{@Ref knuth84}], and Scribe [{@Ref reid80}].  Features such as
  37. footnotes and automatic tables of contents have been added to these
  38. systems using macro definitions.  Unfortunately, such extensions are
  39. very difficult and error-prone in practice: @TeX's footnote macro alone
  40. contains half a page of dense, obscure code, while those who have
  41. extended troff have abandoned the language itself and taken refuge in
  42. preprocessors.  A more productive basis for developing new features is needed.
  43. @PP
  44. This article presents a high-level language for document formatting,
  45. called Lout, which is intended to form such a basis.  Lout is quite
  46. accessible to non-expert users, but its unique property is the ease with
  47. which expert users can add new features.  We begin with a presentation
  48. of Lout as it appears to the non-expert user who employs the standard
  49. packages without under&-standing Lout's principles.  Later sections switch
  50. to the expert's view, showing by examples the principles of Lout and how
  51. advanced features are defined.
  52. @PP
  53. A Unix-compatible
  54. @FootNote { Unix is a trademark of "AT&T" Bell Laboratories. }
  55. batch formatter for Lout (called Basser Lout) has been written which
  56. produces PostScript
  57. @FootNote { PostScript is a trademark of Adobe Systems, Incorporated. }
  58. output suitable for printing on most laser printers and many other
  59. devices.  A library of standard packages written in Lout provides all of
  60. the features listed above and many others.  This system is not an
  61. experimental prototype, it is a fully operational prod&-uct&-ion
  62. implementation.  The software and its supporting documentation
  63. [{@Ref kingston92}, {@Ref kingston93basser}, {@Ref kingston92begin},
  64. {@Ref kingston92design}, {@Ref kingston92eq}, {@Ref kingston92fig},
  65. {@Ref kingston92tab}] are available free of charge from the author.
  66. @End @Section
  67.