Re: empty columns on multi-column-page
Hi Georg, Georg Datterl wrote: Hello Vincent, Well, most of the time even I would use the balancing algorithm, but not in all cases. I guess I could implement a kind of fox-useBalancer=false for this cases, but even that would not make Block C (see below) possible. Well, I think it would. Basically the option would be do not balance columns before a block that spans the whole page. So, on your example below, the bottom of page 1 is reached before block E is encountered, so columns are balanced. On page 2, block E is encountered so column balancing is disabled, then re-enabled after block E until the bottom of the page, etc. Actually this would be more efficient since there would be no need to re-typeset the content, in order to balance columns before a spanning block, as I believe it's done ATM. Might be a useful extension. So it would be an extension for the page, not for the block. Either for simple-page-master or (probably better) for region-body, if I understand you correctly. Oh, you’re right actually, this can well be an extension for the spanning block. That would provide more flexibility since it would be possible to individually customize the behaviour. If the option were set on the region-body it would be the same for all spanning blocks. Do you think that's possible and how much work would it be? Mind, I'm not asking you to implement it, but if you say it's possible and you could do it in a day, I guess I might be able to do it in a reasonable time (actually, not me, but a colleague of mine who actually knows his way around the fop source code, I hope). I’ve just had a quick look and there seems to be almost nothing to do on the layout side (which is good news). You just have to go on l.111 of org.apache.fop.layoutmgr.PageBreaker (handleSpanChange method) and replace the assignment appropriately. Instead of: needColumnBalancing = (childLC.getNextSpan() == Constants.EN_ALL); something like needColumnBalancing = (childLC.getNextSpan() == Constants.EN_ALL) childLC.nextHasFoxBalancingOption(); Simply setting false already gave me the desirable result on a small example. The difficulty is to make the necessary wiring in order to communicate the value of the option from the FO tree to the layout engine. I can’t really help you on that matter, sorry, but you may want to have a look at how the fox:orphan-content-limit is implemented and do something similar: http://xmlgraphics.apache.org/fop/trunk/extensions.html#widow-orphan-content-limit If you decide to give it a go then switch to the fop-dev mailing list for any question: http://xmlgraphics.apache.org/fop/dev/index.html#mail-fop-dev snip/ Thanks, Vincent - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AW: empty columns on multi-column-page
Hello Vincent, If you decide to give it a go then switch to the fop-dev mailing list for any question: http://xmlgraphics.apache.org/fop/dev/index.html#mail-fop-dev Thanks for your help. I'll hand it all over to my colleague then. Mit freundlichen Grüßen Georg Datterl -- Kontakt -- Georg Datterl Geneon media solutions gmbh Gutenstetter Straße 8a 90449 Nürnberg HRB Nürnberg: 17193 Geschäftsführer: Yong-Harry Steiert Tel.: 0911/36 78 88 - 26 Fax: 0911/36 78 88 - 20 www.geneon.de Weitere Mitglieder der Willmy MediaGroup: IRS Integrated Realization Services GmbH:www.irs-nbg.de Willmy PrintMedia GmbH:www.willmy.de Willmy Consult Content GmbH: www.willmycc.de - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AW: AW: empty columns on multi-column-page
Hello Vincent, Well, most of the time even I would use the balancing algorithm, but not in all cases. I guess I could implement a kind of fox-useBalancer=false for this cases, but even that would not make Block C (see below) possible. Well, I think it would. Basically the option would be do not balance columns before a block that spans the whole page. So, on your example below, the bottom of page 1 is reached before block E is encountered, so columns are balanced. On page 2, block E is encountered so column balancing is disabled, then re-enabled after block E until the bottom of the page, etc. Actually this would be more efficient since there would be no need to re-typeset the content, in order to balance columns before a spanning block, as I believe it's done ATM. Might be a useful extension. So it would be an extension for the page, not for the block. Either for simple-page-master or (probably better) for region-body, if I understand you correctly. Do you think that's possible and how much work would it be? Mind, I'm not asking you to implement it, but if you say it's possible and you could do it in a day, I guess I might be able to do it in a reasonable time (actually, not me, but a colleague of mine who actually knows his way around the fop source code, I hope). I don't mind the manual work (as long as it's the computer doing it), mostly I mind the manual splitting of one fo:block into one 2-column-block (or right column block) on one page and a second 1-column-block with margin on the second page, because the block could contain stuff like lists and that seems quite error-prone to me. keep-together.within-column would make the whole block move to the second column if there are two blocks before a wide block. Using a combination of keep-together=always and keep-with-previous.within-column=always works fine for the first page, but when breaking from page 1 to page 2, I would want a page break, maybe even a column break on page 1, but no column break on page 2 (Block C in this sketch): My idea was to manually split block C, and surround the part of it that's on the second page /and/ block D with another block that has a keep- together.within-column setting. An alternative to the spanning block with a big right margin, that might be easier to implement, but that won't avoid you to manually split the content unfortunately. You are right, if I have to split the blocks anyway, I would not need the right margin. Regards, Georg Datterl -- Kontakt -- Georg Datterl Geneon media solutions gmbh Gutenstetter Straße 8a 90449 Nürnberg HRB Nürnberg: 17193 Geschäftsführer: Yong-Harry Steiert Tel.: 0911/36 78 88 - 26 Fax: 0911/36 78 88 - 20 www.geneon.de Weitere Mitglieder der Willmy MediaGroup: IRS Integrated Realization Services GmbH:www.irs-nbg.de Willmy PrintMedia GmbH:www.willmy.de Willmy Consult Content GmbH: www.willmycc.de - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
empty columns on multi-column-page
Hello everybody. Like many poster before me, I do have a problem with different column-counts on one page. Only slightly different from the examples I found in this mailing list. Usually, I want a 2-column-layout, but sometimes blocks span both columns. In this cases I want, contrary to all other examples I found up to now, only text in the first column. No column breaks, no centered column, only the first column filled: Page 1: aaa bbb aaa ccc aaa ccc bbb ccc bbb ddd Page 2: ddd ddd eee fff fff fff ggg Page 3: ggg iii ggg iii hhh iii hhh hhh Page 4: jjj kkk lll kkk mmm kkk mmm lll nnn The only way I found to reach my goal would be manual splitting and adding span=all and margin-right to some blocks. Which is neither nice nor foolproof. Can anybody here think of a better solution? Thanks in advance, Georg Datterl -- Kontakt -- Georg Datterl Geneon media solutions gmbh Gutenstetter Straße 8a 90449 Nürnberg HRB Nürnberg: 17193 Geschäftsführer: Yong-Harry Steiert Tel.: 0911/36 78 88 - 26 Fax: 0911/36 78 88 - 20 www.geneon.de Weitere Mitglieder der Willmy MediaGroup: IRS Integrated Realization Services GmbH:www.irs-nbg.de Willmy PrintMedia GmbH:www.willmy.de Willmy Consult Content GmbH: www.willmycc.de - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]