2

Is there a way to make paragraph borders for opening paragraphs respect the edge of text frames? Paragraphs occuring elsewhere in the copy work as-intended, but the 'space before' setting won't kick in for a first paragraph, so it overlaps the top of the frame, making it look misaligned. Does anyone have any suggestions?

a paragraph border starting above the border of a 2 column text frame

1 Answer 1

2

Paragraph borders (and other text effects like paragraph rules, paragraph shading, underline and strikethrough) are all rendered after the text flow has been calculated. They can't directly influence the text flow. So you have to find workarounds to make this work.

You claim the paragraph borders work as intended elsewhere in the text, but you should have a similar problem in the bottom of text frames as well.

If I set up Paragraph Borders like this:

and Indents and Spacing like this:

I have a problem with the Paragraph Borders extruding both in the top and bottom of text frames:

There are several workarounds with different pros and cons.

1. Make sure a paragraph with paragraph borders never ends up in the top or bottom of text frames

In Keep Options, if you enable Keep with Previous and set Keep with Next to 2 lines, the paragraphs with paragraph borders can never occur in the top or bottom of text frames.

This will then cause gaps here and there which must be fixed manually in the same manner you would normally fix orphans and widows.

2. Make sure a paragraph with paragraph borders never ends up in the bottom of text frames and use baseline shift to position correctly

In Keep Options, only set Keep with Next to 2 lines.

In Advanced Character Formats, set Baseline Shift to minus one line. In this example -15 pt.

In Paragraph Borders, adjust the Offsets. Subtract one line from the Top and add one line to the Bottom.

Likewise, in Indents and Spacing, subtract one line from Space Before and add one line to Space After.

Now paragraphs with borders can be in the top, but never in the bottom and gaps will occur which must be manually fixed.

3. Make sure a paragraph with paragraph borders never ends up in the top of text frames and use baseline shift to position correctly

You could of course also use the last method in the opposite direction.

In Keep Options, only enable Keep with Previous, apply positive Baseline Shift, adjust Paragraph Borders and Indents and Spacing in the opposite direction.

Now paragraphs with borders can be in the bottom, but never in the top and again we get annoying gaps. (I've deleted a few lines to make a paragraph with borders end up in the bottom.)

(Notice how it now becomes apparent that the bottom border doesn't align with the baseline. It needs to be adjusted according to the stroke width.)

4. Use a mix of the above

You can of course make three different styles and apply them according to where the bordered paragraph ends up in the layout. This can be quite cumbersome as switching style will push away text and everything might jump around. If you make changes elsewhere in your text the bordered paragraphs might move and you could end up fixing the styles over and over again.

5. Use anchored objects

The only bulletproof alternative I can come up with is using anchored objects. It's more cumbersome to style as you need to manually cut text from the story, paste it in a separate text frame and paste that text frame into the main story.

To set up the styling is also a bit complicated and quirky. It involves making an Object Style for the anchored object and a separate Paragraph Style for the paragraph you paste the anchored object in, setting up Anchored Object Options, setting up Auto-Size options, taking the stroke of the anchored object into account, being aware of the First Baseline setting of both the main text frame and the anchored text frames and so on. I think I'll save that for a whole other question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.