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

:pdf-page-margin: bug? #2474

Closed mementum closed 7 months ago

mementum commented 7 months ago

asciidoctor-pdf: 2.3.10 either on Ubuntu 22.04 or cygwin with ruby 3.0.2.p107 and 3.2.0 respectively.

I have checked the CHANGELOG for the latest unreleased changes and there seems to be nothing related to that.

The margins in the example have been over-dimensioned to show the problem. Current configuration

:pdf-page-size: [6in, 9in]
:pdf-page-margin: [1.5in, 1.375in, 1.5in, 1.357in]

But not all content in the page respects the margin settings. The page number in the footer (and the separation line) remain at the bottom. See the screenshot below. The actual page content is properly rendered respecting the margins, but if one wants to use the resulting PDF for publication, the page number at the bottom may be outside the trim area.

The problem happens with all :media: options, i:e: screen, prepress and `print``

image

mojavelinux commented 7 months ago

This behavior is by design. The running content is a stamp on top of the page and thus works independently from the page margins. The footer manages its own bottom margin (and the header its own top margin). To configure it, refer to https://docs.asciidoctor.org/pdf-converter/latest/theme/running-content/#footer (margin).

You'll not that the default side margins for running content is "inherit", which means inherit from the side margins of the page. However, the running content is not restricted to page margin and can be configured otherwise.

If you need more assistance, please direct follow-up questions to the project chat at https://docs.asciidoctor.org (asciidoctor-pdf stream).

mementum commented 7 months ago

Hi,

Thanks for the clarification.

I believe it would be good for the current and future users of asciidoctor-pdf to see this in the documentation.

If :pdf-page-size: defines the size of the entire page, it is only logical for anyone looking at the documentation to conclude that :pdf-page-margin: is going to define the margin of the entire page.

Hinting there at the usage of theming for fine control of the "theming" possibilities would help a lot.

A longer route would introduce :pdf-content-margin: for the same purpose, deprecate :pdf-page-margin:, remove it from the docs, and issue warnings when used, until a given target version removes it.

mojavelinux commented 7 months ago

I believe it would be good for the current and future users of asciidoctor-pdf to see this in the documentation.

I'd be open to accepting a pull request to add this information to the documentation.

A longer route would introduce :pdf-content-margin: for the same purpose, deprecate :pdf-page-margin:, remove it from the docs, and issue warnings when used, until a given target version removes it.

We won't be doing that.