From: utzoo!decvax!harpo!npoiv!npois!ucbvax!C70:editor-people Newsgroups: fa.editor-p Title: formatting and editors Article-I.D.: ucb.1485 Posted: Thu Jul 8 21:58:38 1982 Received: Fri Jul 9 05:21:27 1982 Reply-To: ople >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.