> On Mon, 26 Jul 1999, John Weiss wrote:
> 
> > On Mon, Jul 26, 1999 at 04:05:30PM +0200, Jean-Marc Lasgouttes wrote:
> > > >>>>> "Allan" == Allan Rae <[EMAIL PROTECTED]> writes:
> > 
> > > Allan> * .layout file creation/management tools - a LaTeX-to-layout
> > > Allan> parser would be ideal - otherwise a GUI tool for maintaining
> > > Allan> layout files.  The description of this tool was essentially a
> > > Allan> generalised version of Martins Tcl/tk tool for use with his
> > > Allan> neoprene.cls
> > > 
> > > In the latest LaTeX release, the News file says:
> > > 
> > > --------
> > > \section{Coming soon}
> > > 
> > > Major work on a new class file structure to support flexible
> > > designs is well under way; some of this work will be presented at the
> > > TUG'99 conference in Vancouver, Canada.  With a bit of luck much of
> > > this work could be ready for integration into the next release---so
> > > watch this space!
> > > ----------
> > > 
> > > This is probably what we are looking for, instead of hacking our own
> > > class... 

Good news! This is what we really need. I only hope it is good enough for
all those people that complain (with some reason) about the lack of 
configurability in LaTeX layout.

About neoprene, I have had the opportunity to think a lot about it (it is
nearly ready now, but due to "over-employment" at my daytime job it may take 
a while before you get to see it (jeez, they made me just the boss of 
the Earth's gravity field, so if you suddenly float off into empty space,
you know whom to blame ;-), and I feel now that indeed rolling our own
mega-classfile is not the right approach. But perhaps for other reasons than
you think.

LaTeX, like all things Unix, is built on what already exists, by cleverly 
combining modular elements. We should continue this tradition, because it
works. If you look at LyX as it is now, that is precisely what it does. 
What makes LyX so valuable is not so much that it gives LaTeX a graphical
interface, but much more that it *unifies* the user interface, by providing
user access to all those dozens of different elements -- class files, style
files, fonts, ispell, dvips, ... making it a one-stop shopping experience
for the user. It's the same thing what exmh does for nmh, tying a dozen 
little text utilities together in one GUI frontend.

If you think about it, LyX does three things for LaTeX:

1. It replaces the reference manual by a menu tree, making memorizing lots
   of mark-up commands unnecessary (but if you do know them, it's OK). This
   feature could be extended still, with menu items for often used commands
   that now have to be entered as ERT.

2. It shortens the feedback loop in document creation, especially for visual
   elements (formulas, nested lists, tables...). I have a colleague who used
   LaTeX already in the mid 80's, not even having the benefit of xdvi. He
   wasted a lot of paper and cursed a lot. xdvi was an improvement. LyX is a 
   *vast* improvement.

3. LyX unifies the user interface to the complex, modular LaTeX system, 
   allowing the benefits of modularity without forcing the user to fully 
   confront the complexity it brings. *Let us not underestimate* this 
   benefit of LyX!

In this light I think it is the proper approach to base a higher 
configurability and flexibility of LyX upon what exists for LaTeX. We will
have to see what the new LaTeX brings, but already the current LaTeX offers
some things that we could build upon. At least we would have a reasonable
assortment of class files and "variants" i.e. modifiers in the form of style 
files like the ones listed below. With this, I think the need to have 
complete user configurability (including the user's freedom to design bad
or typographically indefensible layouts) will be limited.

- titletoc, titlesec   flexible configuration of sectioning titles and their
                       TOC entries
- fancyhdr, scrpage    page headers flexibility
- caption2             float caption flexibility

and there are undoubtedly many others. The work in building in menu support 
for these packages should not be too different from the current support for 
many packages, like geometry, font choice, bullet choice, subfigure, 
floatflt etc.

> > 
> > We'd only need to parallel the results of the TUG'99 work in a
> > *.layout-file generator.  (I've been thinking about such a thing for a
> > while, now.)

Hmmm, why not. tcl/tk is perhaps not the best tool for this, though. 
Consider the same multi-toolkit framework as for the main LyX code.
Also, think about how far one should go in mimicking the visual layout
coming out of LaTeX. I am perfectly happy with a standard representation
that is logically compatible with the printout, and I think many people
would feel that way. As long as the on-screen text is legible and the
layout not "misleading".

BTW I don't understand what floatflt is doing in LyX. Apparently by 
popular demand, but it is a cludge. LaTeX was never supposed to be a 
framemaker like package, and it has "floats" (one-dimensional) not
"frames". This is built deep into the core. That's why floatflt 
doesn't work very well and I feel it shouldn't be there. LaTeX can be 
an excellent tool for generating good looking documents in science and
business, but fancy sales brochures and the like will never be its 
strong point (at least not as it is now :-), and in fact IMO shouldn't 
even be.

Another point where I feel there is a lack of conceptual clarity (but
I could be wrong!) is that LyX allows lines and whitespace and page
breaks to be added in the "paragraph" menu. This is probably a 
concession to the way things are done in Ms Word, but it is not quite
logical. I think a separate menu item "vertical items" (better name 
to be found) would be more logical.

Also, about the wisdom of building mailmerge into LyX: there is 
already a textmerg.sty package for this, and building on that
might have been wiser. Not that I am against what Rick Hawkins is doing. 
But it is worth reflecting upon. Better still might have been to go
for a stand-alone package, like BibTeX (modularity!). Calling it, 
and LaTeX, in the proper sequence, can be handled from within LyX in a 
similar way to BibTeX.

So, summarizingly, I think LyX should not try to imitate anything, just
give easy access to the excellence of LaTeX without compromising it. 
One of the LaTeX features belonging to that excellence (and a driving
factor in the free development culture surrounding it) is its modularity. 
We should build LyX in such a way as to support this. 

LyX is doing all that pretty well already. We should however be 
conscious of these foundations.

I am not sorry for having started the neoprene/latexconf work; I learned
a lot from it (such as writing working (La)TeX code). It also made the
things above clearer to me, so it was in two ways a learning experience.
It could be a useful demo of one kind of configurability/flexibility 
that could be strived for. 

Also, I am not really convinced that unlimited configurability is an
undivided good thing. It may cause a lot of trouble for people exchanging
and combining documents, and there is a reason why journals distribute 
standard class files, and BTW why there is so much talk about XML with its 
document type definitions etc. Some discipline in document creation can 
be a good thing.

[clipped]

Just some thoughts. Let me know what you feel about it.

Martin 

Reply via email to