> 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