Re: page breaks and bottom alignement

Subject: Re: page breaks and bottom alignement
From: Tony Graham <tgraham@xxxxxxxxxxxxxxxx>
Date: Tue, 15 Jun 1999 10:35:54 -0400 (EST)
At 15 Jun 1999 14:45 +0200, Joerg Wittenberger wrote:
 > >>>>> "MC" == Matthias Clasen <clasen@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> writes:
 > 
 > >> Ideally you could use a display-space object, but I don't think
 > >> that they're supported by either Jade or RTF.
 > 
 > MC> I think it is:
 > 
 > From the spec I read
 > 
 > (display-space length-spec #!key min: max: conditional?: priority:)
 > 
 > For length-spec I have operators (+-*/) and constants.  Finally I have
 > (display-size), which is a) very restricted:
 > 
 > > This procedure shall be used only in the evaluation of an expression
 > > specifying a value for a characteristic.  The value flow object
 > > shall be a displayed flow object.  It returns a length-spec
 > > specifying the display-size of the value flow object.
 >
 > b) I have some trouble understanding the sentence (english is not my
 > native language) what's the "value flow object" here?  What size is
 > returned her?

See section 12.4.6, and remind yourself that native speakers of
English don't necessarily have that much of an advantage here.

The "value flow object" is the current flow object.  The display-size
is the size of the current flow object.

 > How do I construct a display-space, which eats up all avail space
 > except those 5-10 lines (from 5 FOs) I have at the page?

You have two choices, and I remain at least agnostic as to whether or
not the RTF file format, let alone the RTF backend, will let you do
it.

Option 1:

Use display-size to adjust the space-after for the previous titles.
Since you have multiple FOs, wrap them all in a display-group:

(make display-group
  space-after: (- optimal-space (display-size))
  ;; Your FOs go here
  )

where optimal-space is space you would use if there weren't any
titles.

Option 2:

Use display-space to adjust the space-before of the publisher's stuff
*and* use "keep: 'page" in a display-group flow object wrapping the
whole page.  Note, however, that "keep: 'page" requires an ancestor
flow object of class page-sequence, and I expect that all you've got
to work with is simple-page-sequence.

(element wrapper
  (make display-group
    keep: 'page
    ;; Title page contents go here
    ))


(element publisher
  (make paragraph
    space-before: (display-space optimal-space
                                 min: min-space
                                 max: optimal-space)
    (process-children)))

where optimal-space is the space if you had, say, a one-line title,
and min-space is the space if you had the maximum number of lines in
your previous titles.

I hope this helps, and I hope that you can prove that it does work.

Regards,


Tony Graham
======================================================================
Tony Graham                            mailto:tgraham@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9632
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread