Open alerque opened 7 years ago
I added an MWE for this is #421.
It looks like the \float
command in renaming the frames by appending _ to the current id. This breaks the insertion things which knows which frame to steal from by name. Either the naming needs to happen the other direction (rename the original and keep the new name going forward) or there needs to be some sort of callback that specifies the insertion handling that could be moved to the new frame object.
I made several attempts to fix this. The most promising attempt was to rename the old frame and keep the id with the new frame when creating a break. However this didn't actually work.
Desperate to meet a publishing deadline I came up with a dirty hack instead. That works by adding ALL the broken frame id's to the insertion steal from list and iterating over ones that exist on a given page when processing insertions. I know this isn't the right fix, but I had to get words on the page.
According to by experiments with drop caps (see #394) the current best way to handle them is using the
\float
command to break up the frames. It's touchy and requires some care to come out right, but it can work.That is until I introduced the concept of footnotes. An that point my pages started looking like they took a trip through a meat grinder. Here's a sample.
If I eliminate the drop-cap, the footnote frame behaves just fine:
This is using a pretty simple version of outputting a drop cap. A flag
SILE.scratch.startOfChapterContent
is getting set totrue
at the very end of the chapter header code, then the drop cap is inserted like this:Obviously something isn't wired up right here. Whatever happens to frames when introducing a float doesn't get connected up to the insertion frame that can steal space.