Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!unmvax!brainerd From: brainerd@unmvax.unm.edu (Walt Brainerd) Newsgroups: comp.text Subject: Re: What features would you like in GNU troff? Summary: Here are some. Message-ID: <159@unmvax.unm.edu> Date: 17 Jun 89 21:19:54 GMT References: <779@pcrat.UUCP> <355@wjh12.harvard.edu> <8388@killer.DALLAS.TX.US> Distribution: comp Organization: University of New Mexico at Albuquerque Lines: 38 I thought I would be able to refrain from commenting on this, but guess I can't! It bothers me that someone is going to spend a year or two creating something that may not be as good as what is available now. Yes, I know the answer is that we should give away our version, but even that can't be done because the basic code belongs to AT&T. It is a very complex program, as we all know, and the chances of being compatible with AT&T troff after writing the program from scratch is very small, in my opinion. Anyway, to find out what stuff to put in, simply look at the extant versions. Softquad's sroff and our profficient probably have the most additional "features". I don't know who made the original posting, but would be glad to send a description of our features on request. In the meantime, here is a brief summary. In my use to typeset technical books, I find the first five by far the most important. By the way, in the long name business, it is the availability of arbitrarily many names and the ability to alias, remove, and rename that is really important. For example, it's really nice to have an unlimited number of environments. Upward compatibility with "standard" troff source. Compatibility with "standard" ditroff output (so device drivers work) Dictionary-driven hyphenation (as an option) Long names for requests, macros, registers, environments, and fonts and the ability to rename, alias, and remove these objects. Diagnostic messages when you do something stupid Testing if an object (e.g., macro or string) is defined. Tracing Improved line drawing to take advantage of the capbilities of typesetters and laser printers If/else.if/else/end.if construct While construct Shifting and concatenation of macro arguments Saving and restoring tab stops A feature we have not implemented, but think desirable is font families, so that switching to _italic_ means italic of the current font family, for example.