Re: Footnotes working!

2005-05-30 Thread Luca Furini
Andreas L. Delmelle wrote:

 Yeah, as an example: try reading some Postmodern Philosophy... Many pages
 that are filled for 75% with footnotes offering comments/notes on the ideas
 that appear on the other 25% (even pages containing nothing *but* footnotes,
 continued from a previous page). I guess it's not as much fun to read as it
 is to write layout code for handling those situations... :-)

Thanks for this example.

I modified the footnote handling, so at the moment:

- in normal situations, a content line is placed in a page together
  with, at least, a piece of the first footnote cited in it

- if a page break defers (either totally or partially) some footnotes, the
  first feasible break point after it has fewer constraints, in order to
  avoid the creation of a page with no content lines

- if the page containg the last content line has no space for all
  remaining footnotes, one or more pages are created to store them

I wrote some new testfiles (all of them passing) to show a wide range of
situations.

If this layout strategy is not correct, or you find some new example that
makes the algorithm fail, let me know!

Regards
Luca





Re: Footnotes working!

2005-05-18 Thread Jeremias Maerki

On 17.05.2005 22:54:31 Andreas L. Delmelle wrote:
  -Original Message-
  From: Luca Furini [mailto:[EMAIL PROTECTED]
 
 
 Hi Luca,
 
 First of all: compliments on yet another Nice Job!

I second that!

  At the moment the page breaking algorithm is quite strict: it tries to
  insert every footnote in the same page where their citation is (the last
  footnote body could be split, and partially deferred to the next page).
 
 Well, that fits the largest part of the requirements...

I agree. More can be done later if necessary.

  The recommendation seems to suggest that it could defer one or more
  *whole* footnotes, if there is not enough space in the page where their
  citations are, even if this is not very usual to happen in books; anyway,
  this could be fixed later.
 
 Optimistic interpretation:
 I think that is meant to refer to the cases where a footnote citation
 appears in the last block on a page, so it is not necessary to move the
 whole block to the next page just because a few of its footnotes don't fit.
 
 snip /
  - is it correct to assume that the footnote separator is the same on each
  page containing footnotes, or it could have some page-dependant content?
  At the moment, its areas are obtained only once, and repeated in each page
  where a footnote is inserted.
 
 AFAICT 'xsl-footnote-separator' is meant to be specified as the flow-name
 property on an fo:static-content, so in essence they are meant to be mostly
 the same for an entire fo:flow (~ fo:page-sequence), BUT...
 
 One thing I wonder about: Is it allowed to have sth like
 
 fo:static-content flow-name=xsl-footnote-separator
   fo:retrieve-marker .../
 /fo:static-content

AFAICS, this is perfectly legal. The spec says in 6.10.3:

An fo:footnote is not permitted to have an fo:float, fo:footnote, or
fo:marker as a descendant.
Additionally, an fo:footnote is not permitted to have as a descendant an 
fo:block-container that generates
an absolutely positioned area.

I've added a mean example (footnotes2.xml) that uses fo:page-number in
the separator. :-) Perfectly legal I think even though far-fetched.

BTW, am I really still the only one working with the testcases I started?
:-O

 In which case the content of the separator *would* be page-specific...?

Yep.



Jeremias Maerki



Footnotes working!

2005-05-17 Thread Luca Furini

Footnotes should be working now.

At the moment the page breaking algorithm is quite strict: it tries to
insert every footnote in the same page where their citation is (the last
footnote body could be split, and partially deferred to the next page).

The recommendation seems to suggest that it could defer one or more
*whole* footnotes, if there is not enough space in the page where their
citations are, even if this is not very usual to happen in books; anyway,
this could be fixed later.

Two annotations concerning the footnote separator:

- is it correct to assume that the footnote separator is the same on each
page containing footnotes, or it could have some page-dependant content?
At the moment, its areas are obtained only once, and repeated in each page
where a footnote is inserted.

- I had to add a new StaticContentLM constructor with a Block area
paremeter; maybe someone sees a better way to do this? The problem is that
normal StaticContentLM add their areas to a Region, while the SCLM
handling the footnote separator adds them to a block area (this is related
to the previous point); another difference, non depending on the current
implementation, is that the SCLM handling the footnote separator does not
perform any breaking algorithm: it is quite similar to a BlockLM.

Regards
Luca





Re: Footnotes working!

2005-05-17 Thread Simon Pepping
On Tue, May 17, 2005 at 04:48:07PM +0200, Luca Furini wrote:
 
 Footnotes should be working now.

Great.
 
 At the moment the page breaking algorithm is quite strict: it tries to
 insert every footnote in the same page where their citation is (the last
 footnote body could be split, and partially deferred to the next page).
 
 The recommendation seems to suggest that it could defer one or more
 *whole* footnotes, if there is not enough space in the page where their
 citations are, even if this is not very usual to happen in books; anyway,
 this could be fixed later.

In linguistic or theological works you may see many and long footnotes.

Regards, Simon

-- 
Simon Pepping
home page: http://www.leverkruid.nl



Re: Footnotes working!

2005-05-17 Thread J.Pietschmann
Luca Furini wrote:
The recommendation seems to suggest that it could defer one or more
*whole* footnotes, if there is not enough space in the page where their
citations are, even if this is not very usual to happen in books;
Actually, this is *very* unusual, and can only happen if there is
only a single line of content and all the footnote space is already
eaten up, either by footnotes deferred from previous pages or because
there are lots and/or very long footnotes in the same line.
The common convention is that only a footnote cited in the last content
line of the bage may be broken across pages, and no further footnote
content will be deferred to the next page. In fact, breaking footnotes
should be avoided if the content line citating the footnote can be put
onto the next page withouth leaving an ugly white area below the
content, either by distributing surplus bpd space to before/after
block spaces or by fiddling with line heigths (or both).
Duh, an example in the Wiki would be in order...
J.Pietschmann


RE: Footnotes working!

2005-05-17 Thread Andreas L. Delmelle
 -Original Message-
 From: Luca Furini [mailto:[EMAIL PROTECTED]


Hi Luca,

First of all: compliments on yet another Nice Job!

 At the moment the page breaking algorithm is quite strict: it tries to
 insert every footnote in the same page where their citation is (the last
 footnote body could be split, and partially deferred to the next page).

Well, that fits the largest part of the requirements...


 The recommendation seems to suggest that it could defer one or more
 *whole* footnotes, if there is not enough space in the page where their
 citations are, even if this is not very usual to happen in books; anyway,
 this could be fixed later.

Optimistic interpretation:
I think that is meant to refer to the cases where a footnote citation
appears in the last block on a page, so it is not necessary to move the
whole block to the next page just because a few of its footnotes don't fit.

snip /
 - is it correct to assume that the footnote separator is the same on each
 page containing footnotes, or it could have some page-dependant content?
 At the moment, its areas are obtained only once, and repeated in each page
 where a footnote is inserted.

AFAICT 'xsl-footnote-separator' is meant to be specified as the flow-name
property on an fo:static-content, so in essence they are meant to be mostly
the same for an entire fo:flow (~ fo:page-sequence), BUT...

One thing I wonder about: Is it allowed to have sth like

fo:static-content flow-name=xsl-footnote-separator
  fo:retrieve-marker .../
/fo:static-content

In which case the content of the separator *would* be page-specific...?

snip /


Cheers,

Andreas