asciidoctor / asciidoctor-pdf

:page_with_curl: Asciidoctor PDF: A native PDF converter for AsciiDoc based on Asciidoctor and Prawn, written entirely in Ruby.
https://docs.asciidoctor.org/pdf-converter/latest/
MIT License
1.14k stars 500 forks source link

sometimes callout number and text go on different pages #1967

Closed barspi closed 2 years ago

barspi commented 3 years ago

Occasionally, I get the callout number very near the end of the page, and the accompanying text goes on the next page. I'm attaching a sample screen capture.

Screen Shot 2021-09-13 at 18 19 09
barspi commented 3 years ago

Let me add that I'm not doing anything special in the source:

<9> The `CardHolder` that owns this `Card`.
It will be _null_ for anonymous cards, such as gift cards.

<10> The `CardProduct` to which this `Card` belongs.

<11> There are various ways in which we associate an account for a `Card` for each incoming transaction.
The system will discover, on the fly, the effective account on which to operate.

Also, in my theme I have this defined

font:
  catalog:
    M+ 1mn:
      normal: mplus1mn-regular-ascii-conums.ttf
      bold: mplus1mn-bold-ascii.ttf
      italic: mplus1mn-italic-ascii.ttf
      bold_italic: mplus1mn-bold_italic-ascii.ttf

[...]

conum:
  font_family: M+ 1mn
  font_color: $colors_blueicons
  font_size: $base_font_size_min
  line_height: 1.85
  glyphs: circled
mojavelinux commented 3 years ago

Are you using using Asciidoctor PDF 1.6.0 (or earlier)? If so, can you test using the code from the main branch? It may already be fixed. See https://github.com/asciidoctor/asciidoctor-pdf/blob/main/CONTRIBUTING-CODE.adoc#development

It would also be helpful if you could provide a reproducible example. This kind of use case can only be seen under a certain set of circumstances, and I don't have time to try to reproduce that scenario. But if you provide me with an example that exhibits it, I can study it and put a test in place.

barspi commented 3 years ago

I'm using a full gradle toolchain, like this: (just showing the significant parts)

plugins {
  id 'org.asciidoctor.jvm.convert'  version '3.3.2' 
  id 'org.asciidoctor.jvm.pdf'      version '3.3.2' 
  id 'org.asciidoctor.jvm.gems'     version '3.3.2' 
}

asciidoctorPdf {
  dependsOn asciidoctorGemsPrepare

  asciidoctorj {
      version = "2.5.2"

      modules {
        pdf.version = "1.6.0"

[... etc ...]

The theme file extends default and includes what I mentioned in the previous comment, on an A4 page, but changes to margins, footers, headers... all that may be involved.

I'll try to prepare a short reproducible example if I find the time, but maybe someone else has already encountered this problem.

mojavelinux commented 3 years ago

For the purpose of debugging this issue, it would be helpful if you could run Asciidoctor PDF by itself so you can run it from the main branch. But if you can't do that, providing a reproducible example will allow me to do that so I can verify whether this issue has already been fixed.

mojavelinux commented 2 years ago

I'm confident this was solved by ba44e54bf212487ef7e1976d9083e37bb163daea and the fix will be included in Asciidoctor PDF 2.

If you discover that this issue still persists, please provide a reproducible test case so that I can study it.