[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do you use Lout?

From: Jeffrey Howard Kingston
Subject: Re: How do you use Lout?
Date: Fri, 19 May 2000 12:44:07 +0100

Having a couple of people say they use Lout as the back end of a larger
document production system prompts me to make a few remarks about that
kind of use.

When I designed Lout it did not even cross my mind that people would
use it in that way.  Since then, it seems quite a few have (including me).
It seems to me that the requirements when using a formatter in that way
are somewhat different - not incompatible, but the emphasis changes.

Reliability I believe gets more important the further down into a
system you go.  A user might never have heard of Lout and does
not want to be confonted with a Lout error message.  It's nice to
see Lout cited by one user as being reliable; I guess I see all the
bugs, and I can't say Lout strikes me as being exceptionally reliable.
It's a lot more complex than troff, with a couple of parts (table
alignment and galley attachment) whose behaviour even I can't predict.

One weakness of Lout is the informality of its specification of what
it does.  This must be an annoyance for people who rely on it as a
software component.  I am thinking particularly of cases where the
document contains objects of unusual sizes.  The upstream system
probably does not realize that it has generated something unusually
large or small, then Lout goes wrong on it.  The problem is less
bad when you are working on a document by hand, since you get a
feeling that something might not work well, or you see the mess
and find a workaround.

The most common complaint I've heard from people who use Lout as
part of a larger system is the difficulty in knowing how many
runs it will take to resolve cross references.  Just running it
six times seems overkill, and very slow, but there is no way to
predict how many runs it will take, and no indication given that
it has converged, even when it has.  Of course, there are good
reasons why these things are not provided, but they must be
annoying for people who use Lout as a back end.  The only good
news there is that documents without cross references always
finalize on the first run, and you can tell you've got one of
those by using the -s flag and observing no error messages.

Jeff Kingston

reply via email to

[Prev in Thread] Current Thread [Next in Thread]