lout-users
[Top][All Lists]
Advanced

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

Re: Spurious newlines in Tbl cell


From: Valeriy E. Ushakov
Subject: Re: Spurious newlines in Tbl cell
Date: Mon, 24 Jan 2000 21:00:38 +0300

On Wed, Jan 19, 2000 at 09:35:37AM +0000, Mark Summerfield wrote:

> In the example below the error occurs after the phrase "new systems,"
> when an unnecessary and unwanted newline occurs.

The problem stems from the width { expand } option, as you correctly
pointed out in your off-the-list email.

If you look at "tblf" you'll see that width { expand } simply sets the
width to 40c.  What happens then is that Lout first fits the text of
details into the 40c width (minus margins) and here it splits the text
into two lines with the line break occuring after the "new systems,".

Then Lout learns the real width available to it (external constraint)
but now, instead of reformatting the whole paragraph it has two
paragraphs of text to fit.  The frist ends at the "new systems,"
giving you that unobvious break in the middle of yor initial
paragraph.

You can observe this by specifying -dof (or, for more details, -ddof)
option if you compiled lout with debugging enabled:

of: FillObject(x, <0.000c, 39.534c, 39.534c>, can_hyph = TRUE, nomulti);
    [//0.5cx, Palatino Base (undef 0.1ce), hyph_on:fill_on:centre]

of: FillObject(x, <15.524c, 15.524c, 15.524c>, can_hyph = TRUE, nomulti);
    [//0.5cx, Palatino Base (undef 0.1ce), hyph_on:fill_on:centre]

where constraints are in angle brackets of the form:
<back, back+fwd, forward>


Also note that with your appoach @LP doesn't work as you might expect.
The problem is that the "I was ..." paragraph has its row mark
protruding through the first line, and hence @LP only skip 10 times
smaller space then requested, since it uses 'x' gap mode.

This is because paragraph lines becomes objects in their own right
only when promoted as galley components.  As a rule, any sizeable
amount of text (especially multiparagraph text) should be a galley.

So what you need to do instead is:

    def @Employment
      # ...
    {
      # Add this:
      def @DetailsPlace { @Galley }
      def @SendDetails into { @DetailsPlace&&preceding }
        right x
      { @OneCol x }

      # ...
      @Tbl # ...
      {
      # ...
        # Change this:
        @Rowd rule { single } A { @DetailsPlace }
      }
      //
      @SendDetails x
    }

which addresses both of the above problems.


Hope this helps.

SY, Uwe
-- 
address@hidden                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen


reply via email to

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