Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preserve indentation when creating column box for next page in index #2480

Closed
mojavelinux opened this issue Jan 27, 2024 · 2 comments
Closed
Assignees
Milestone

Comments

@mojavelinux
Copy link
Member

When an index term is written, it is done using a hanging indent. The way hanging indent is implemented is that it indents the whole term, then unindents the first line. If a page break happens during that call to render the index term (typeset_text), then it leaves an indentation on the bounds at the page break. When the new bounds is created for the next page, that indent is not being restored. When the call the render the text completes on the next page, it removes the indent that was never restored on the bounds. As a result, the margin progressively moves to the left.

The solution is to copy the total left and right indent from the current column box to the new column box when a page is advanced in the index.

Note that this issue only arises when media=prepress. That's because only the prepress media changes the page margins at a page break, which is when the column box must be recreated.

@mojavelinux mojavelinux added this to the v2.3.x milestone Jan 27, 2024
@mojavelinux mojavelinux self-assigned this Jan 27, 2024
mojavelinux added a commit to mojavelinux/asciidoctor-pdf that referenced this issue Jan 27, 2024
mojavelinux added a commit to mojavelinux/asciidoctor-pdf that referenced this issue Jan 27, 2024
mojavelinux added a commit that referenced this issue Jan 27, 2024
@meonkeys
Copy link
Contributor

meonkeys commented Jan 27, 2024

Verified. 4c418b5 works with meonkeys/print-this@67c26ff . Your new unit test is even better / more succinct.

@mojavelinux
Copy link
Member Author

mojavelinux commented Jan 28, 2024 via email

meonkeys added a commit to meonkeys/print-this that referenced this issue Jan 28, 2024
This reverts commit 67c26ff.

The image margins prepress issue is fixed and soon to be released! See asciidoctor/asciidoctor-pdf#2480

Thank you Dan Allen!
meonkeys added a commit to meonkeys/shb that referenced this issue Feb 1, 2024
I want a fix that hasn't been released yet:

* asciidoctor/asciidoctor-pdf#2480
* asciidoctor/asciidoctor-pdf@6cabe9c

I don't get why I need the changes to .internal-build.sh ... `bundle install` is already done in the Dockerfile. Maybe it has something to do with using code right out of git instead of from rubygems.
meonkeys added a commit to meonkeys/print-this that referenced this issue Feb 2, 2024
I want a fix that hasn't been released yet:

* asciidoctor/asciidoctor-pdf#2480
* asciidoctor/asciidoctor-pdf@6cabe9c

I don't get why I need the changes to .internal-build.sh ... `bundle install` is already done in the Dockerfile. Maybe it has something to do with using code right out of git instead of from rubygems.
meonkeys added a commit to meonkeys/shb that referenced this issue Feb 3, 2024
am56 was resolved with asciidoctor-pdf version 2.3.12, which includes a fix for [Preserve indentation when creating column box for next page in index](asciidoctor/asciidoctor-pdf#2480)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants