[fa.editor-p] formatting and editors

C70:editor-people (07/09/82)

>From gaines@RAND-UNIX Thu Jul  8 21:55:10 1982
In a recent message I mentioned that after using both the Rand
editor and EMACS, I was surprised to find some features in word
processors that weren't in either.  I received some inquiries
about that remark, and I've given some thought to the differences
between the different classes of editors (for the purpose of this
discussion, I am going to consider a word processor to be an
editor).

One of the important differences among editors is the amount of
formatting information that is maintained.  The simplest editors
interpret a few characters such as carriage return and tab, and
leave it up to the person editing to position things by use of
blanks and tabs (if even tabs are permitted in the stored
representation of the document being edited).  The next step up is
for the editor to remember some formatting information about a
document while it is being edited, so that for example carriage
returns can be generated automatically when a pre-specified line
length has been exceeded.  Among its virtues, EMACS goes much
further than the Rand editor in this regard, even remembering
things like the current indent.  However, unless special steps are
taken, this information is forgotten at the end of an editing
session.

Word processors go an important step beyond this.  They generate
and maintain formatting information about a document, and this
information is stored when the file containing the document is
written out at the end of an editing session.  In addition, they
can, and some do, allow a good deal more formatting information to
be specified as part of document preparation than the other
editors do.  This includes things like page length, headers and
footers.  This is powerful, if it is well implemented.  The word
processors generally attempt to show on the screen an image that is
as close to the printed form of the document as possible.  In
contrast, other editors expect that some separate formatting
program will prepare a document for printing.

Clearly, you can't see just what you are going to get with most
terminals, but the attempt has more value than most people who
have not used a word processor realize.  There is lots of dog work
in laying out a document with any structure beyond sentences and
paragraphs, and the computer is a fine tool for releaving us of
some of this work.  At its best, a document is two dimensional,
not just a linear string of characters.  The approach of embedding
formatting directives for subsequent use by a formatting program
is far inferior to letting the editor include and act on
formatting information.

There are complicated things that cannot be handled except by high
resolution graphics terminals for which formatting directives are
still the only means of representation, of course.  And there are
other issues that need more work.  Given that formatting
information will be included in the stored form of a document, but
only the formatted document itself will be displayed during
editing, what are the useful formatting ideas?  How should they be
signalled?  What should be done about formatting information which
cannot be accurately reflected in the displayed document?

Examples of the last are:
Multiple fonts
Proportional spacing (true proportional, in which the width of the character
        depends on which character it is, and space between characters can
        be varied by amounts other than the width of a standard blank)
Underlining, boldface, etc.
Multiple character sizes

I have an el cheapo dot matrix printer which can do all of these
things, and more, and it is hard to take advantage of the
capabilities of it using EMACS or the Rand editor, or even the word
processors I have so far seen (but I have not looked at all of them
yet, by a long shot).

Basically, I am suggesting that a good look at NROFF, TROFF, TBL,
SCRIBE, and other formatting programs may give us ideas about how to
extend editors, if we try to build formatting into the editors where
it makes sense, and that word processors have so far lead the way in
this area.