[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Daren Scot Wilson's problem
From: |
Valeriy E. Ushakov |
Subject: |
Re: Daren Scot Wilson's problem |
Date: |
Mon, 10 May 1999 03:54:22 +0400 |
On Sun, May 09, 1999 at 05:06:33PM -0600, Tamas Papp wrote:
> > @Document
> > @PageHeaders {Simple}
> > //
> > @Text @Begin
> >
> > As the User's Guide says, the world will end if you leave // out.
> > Stupid I know, but there it is.
>
> Could you please explain why we need it, ie what's the significance
> of it? From the User's Guide I know when to use it, but it's still
> a bit like magic :)
It's buried in the docs, but it's documented somewhere that Lout
breaks ouptut into PostScript pages at the outermost vertical
concatenation points:
@ObjectOne // @ObjectTwo // @ObjectThree // ...
will have @ObjectOne as the first page of PostScript output,
@ObjectTwo as the second and so on.
@Document and its cousins provide a list of pages of appropriate size
that receives the body of the document. However when you write
@Document @Text {}
there's an implicit paragraph (&-concatenation), i.e.:
@Document & @Text {}
and the //-concatenation of pages is no longer at the outermost level.
So you need to put a // after the document so that the list of pages
that the @Document expands into is at the top level.
The contents of the @Text galley will eventually be transferred into
the receiptive symbols inside the @Document and the @Text at the point
of it's invocation will be replaced by @Null. So
@Document // @Text {}
will become
@Page // @Page // ... // @Page // @Null
and @Null will consume the preceding concatenation and disappear,
leaving:
@Page // @Page // ... // @Page
In case of @Report and @Section's each invocation of @Section will be
@Null so the tail of the above will look
@Page // ... // @Page // @Null & @Null & ... & @Null
and all the @Null's will disappear as in the previous example.
SY, Uwe
--
address@hidden | Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/ | Ist zu Grunde gehen