Re: Footnotes working!
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!
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!
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!
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!
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!
-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