lout-users
[Top][All Lists]
Advanced

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

Why page parameters cannot be changed on the fly.


From: Valeriy E. Ushakov
Subject: Why page parameters cannot be changed on the fly.
Date: Wed, 18 Feb 1998 18:18:39 +0300

On Wed, Feb 18, 1998 at 02:13:17PM +0700, Victor Sudakov wrote:

> Jeff Kingston wrote:
>
> > > What about the possibility of changing these on the fly?
> > 
> > Absolutely no hope of this at all, ever.
> 
> May I ask, why? 

As I have already wrote yesterday, the list of pages is already there.

Let's consider 'report' type.

When you write @Report, this is expanded into a potentially infinite
list of pages.  The page type and other page related paramters are
already fixed.  This list of pages contains areas for text to appear.

When you invoke @Section, you supply the text to be placed in those
areas.  This text fills the page list created by @Report and the list
is expanded with new pages as necessary.

    @Report # with some parameters like @Title &c

    # Pages in postscript output are Lout objects that resulted from
    # this invocation of @Report.  Everything below is transferred
    # onto these pages via galley mechanism.

    // # <-- this is necessary to eat the @Null object that remains
       #     after all of the document content was transferred to
       #     pages.  see below.

    # Document content goes here (@Section &c).  As lout reads it, it
    # transfers it into the pages produced by @Report.  When
    # everything is transferred, the invocation of @Section is
    # replaced with @Null.  "//" after the @Report will consume this
    # @Null.

@Report is like a stack of paper.  Unlike troff or TeX, where this
stack of paper is implicit, in Lout you have to define and invoke this
stack of paper to use it.  This is what @Report does.


@NP just specifies a gap that, by definition, is too large to fit into
available space.  The gap is 1.1b, the `b' unit is the amount of space
available, so we always ask for more than we have.  So Lout cannot fit
the object after @NP in the same page and will always use this gap as
a split point and place the object (technically, a galley component)
after @NP onto the next page.

In fact @NP will force the next object to be placed into the next
target which is not necessarily a page.  Try to use @NP in a
mutlicolumn report.  The text after @NP will appear in the next
*column*, not the next page!  In fact the text is always destined to
columns but for single column document the next column is on the next
page.

So you can see thar @NP does not influence the page parameters in any
way.

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]