Forum Bugs

Negative margin-outside on float not honored across pg break

whit537
Steps to Reproduce

1. Write some fairly straightforward prose.
2. Include inline verse numbers, floated to the outside, then negatively margin-outsided into the page margin.
3. Break a paragraph across pages, with verse numbers inside the paragraph, on either side of the page break.


Expected Result

Verse are positioned consistently.


Actual Result

Verse floats on the far side of the page break do not honor the negative margin-outside on the float (though neither does the paragraph flow around them).


Notes

Sample output here (verse floats highlighted):

http://static.whit537.org/2009/Matthew.short.pdf

HTML/CSS available upon request.

This is with Prince 7.0b1 on FreeBSD 6.
mikeday
Thanks, we'll fix this bug for the 7.0 release.
jim_albright
I have similar problem. Also if two verse numbers occur in the same line the two verse numbers stack on top of each other. Not very friendly.

Jim Albright
Wycliffe Bible Translators

whit537
jim_albright wrote:
Also if two verse numbers occur in the same line the two verse numbers stack on top of each other.


Yeah, that's another issue. On the roadmap I see this item scheduled for 7.1 (though I don't see a 'ref' listed):

Fix bug where multiple floats can overlap if they are pulled out of their containing block by negative margins.


I assume that's the same problem.

For now what I've been doing is giving verse numbers a background and then setting the z-index on the chapter/verse numbers programmatically such that later verses overlay previous verses. This isn't ideal but is better than having the earlier ones bleed through.

However, I'm not sure floating will ultimately solve this, because when you float two verses to the outside, I'm pretty sure you end up with:

   14
15 16
   17


When what you really want is:

14
15 16
17


So this still needs some trickery, I think.
whit537
mikeday wrote:
Thanks, we'll fix this bug for the 7.0 release.


Thanks Mike. :-)
jim_albright
I think he means to fix the problem when paragraph spans a page break. The overlapping verses is another problem. I was considering a hand fix at the end with changing a verse number to something like

15, 16 or

17-20

and deleting the second verse number.

That will get the correct look. Even if it does cost some time. Look at some German Bibles to see what it should look like.

Jim Albright
Wycliffe Bible Translators

whit537
jim_albright wrote:
I think he means to fix the problem when paragraph spans a page break.


Yeah, I think you're right. I had just realized that I never thanked him before we took this thread off-topic. :-)


I was considering a hand fix at the end


You would edit the PDF that Prince outputs? Is that what you mean?


Look at some German Bibles to see what it should look like.


Ah, ok. I'm going off the NEB. Now I'm interested in German Bibles. :-)


Aren't there count/increment features in Prince? Can those be used here? I need to explore that more.
jim_albright
I am able to highlight a piece of text in the PDF and then with my program, to change the tracking at that paragarph (or insert a picture).

If needed I can add an edit feature that would allow editing text in the source document. Then you reprocess with Prince to get PDF output. At a book level the processing takes 5 seconds or less.

Incrementing a counter is available but not useful for verse numbers IMO. What would you do at verse bridges? How about when the verses occur out of order?

Jim Albright
Wycliffe Bible Translators

whit537
jim_albright wrote:
Incrementing a counter is available but not useful for verse numbers IMO. What would you do at verse bridges? How about when the verses occur out of order?


Sorry, I misunderstood what counters are. I thought there was a chance they could be used to count how many verse markers appear on a given line, and change style rules accordingly. Looks like nope.
mikeday
Prince 7.0 is now out and fixes the problem affecting float inside/outside in paragraphs that cross page breaks. Thanks again for letting us know! :)