V-Justify: Control Text Frame Vertical Justification in InDesign
Reclaim control over InDesign’s vertical justification with the V-Justify add-on!
Often, a layout requires text to reach the bottom of the frame it’s in. This is called “vertical justification.” Like horizontal justification, it is achieved by adding space between paragraphs, and possibly between lines, until the last line is flush with the bottom margin.
(If you’re already cringing, you’re probably a book typesetter! Traditional book typesetting frowns on the idea of adding space between paragraphs, and, worse, between lines, to achieve vertical justification. The practice is known as “carding” or “feathering” (see here). The proper way to achieve a balanced page in traditional typography is by making sure all typographic elements on a page are a multiple of the baseline grid and to run spreads long or short as needed. However, even in books this is not always possible (think block quotes with tighter leading than body text, for example). And in newspapers and journals, labels, and many other items of print, it is neither possible nor desirable. V-Justify is intended for such cases!)
InDesign has a “vertical justification” feature. But it is so basic it is basically useless! InDesign’s vertical justification fails because:
- There is no way to specify how much space is allowed before or after a particular paragraph style. Instead, equal space is added between all paragraphs.
- InDesign only adds, never reduces, space. Even when a tiny space reduction is all that’s needed for a great-looking page, InDesign fails!
- InDesign justifies all pages (when using object styles), even at chapter ends! Typically there is no need for vertical justification on a chapter’s last page.
These shortcomings mean wasting time, repeatedly tweaking space-before and space-after settings to get a balanced page. The manual guesswork is tedious and inaccurate!
Wouldn’t it be nice if InDesign could do all this for you? Now it can!
V-Justify: The Solution
V-Justify is the new Id-Extras add-on for Adobe InDesign. It gives full control of text-frame vertical justification. Use it to balance text in frames with all the options you need for best results!
With V-Justify, specify minimum and maximum space-before and space-after values for each paragraph style in the document.
For instance, allow InDesign to add space before, but not after, a subhead, so the distance between the subhead and the following text is fixed. Or allow a little extra space after body paragraphs, but more flexibility around subheadings, block quotes or displayed equations.
You are in control!
V-Justify works with: single- or multi-column text frames, non-rectangular text frames, and frames with anchored and non-anchored objects. It also works with frames with footnotes and tables. It may not work properly with frames that have long tables or footnotes flowing onto the next page (but you can choose not to run it on those pages).
If there is not enough leeway for proper vertical justification, tell V-Justify only then to use InDesign’s built-in vertical justification to add extra space between lines, or unlimited space between paragraphs. Or tell V-Justify to disable InDesign’s vertical justification feature altogether, if you prefer to fix the page yourself.
Finally, because V-Justify can detect chapter endings, you can tell it not to justify the ends of chapters.
Jonathan
February 27, 2023 6:26 pmThis looks like a great script, but I have one question. If I use the script and then have to pass the file to someone else who doesn’t have the script, will that work? Will there be problems? (I’m a book designer and do contract work with some publishers and usually have to hand off the files at the end of a project. I’d love to use this script but I don’t want to create problems down the road.)
Ariel
February 28, 2023 3:14 amHi Jonathan,
The script modifies the space-before and space-after settings of specific paragraphs. But beyond that it leaves no traces, so you’re left with a completely normal InDesign file that you can pass on to someone.
Of course, if they change the file in some way so that text reflows, they would need to rerun V-Justify to get things to align again. Without it, they would need to fix things up manually (as anyone without the script would need to do).
Alicia Dole
June 29, 2022 5:20 pmThis is an amazing script! It is going to save us tons of time.
Question: Do the minimum/maximum values need to be entered for each document, or is it possible to set them up one time to affect all documents going forward?
Ariel
July 1, 2022 4:52 pmHi Alicia,
The min-max values become part of the paragraph style itself. So you can load those styles (either use the “Load Styles” feature, or just copy some text with those styles applied into the new document) from a different document and the values should travel together with the paragraph style.
You can obviously also create a template document with the styles and their min-max values baked in.
If the document is exported as .idml it could be that the min-max values are lost, that’s something to be aware of and check.
Thanks,
Ariel
profeivan
January 14, 2022 6:00 amWhat a wonderful tool! I think it’s a must have script (aside with Change Consecutive Paragraphs) this script saves hours of hard work.
Una herramienta sensacional que hay que tener en el “arsenal” de scripts de InDesign para ahorrar horas de duro trabajo.
Raphael Freeman
February 11, 2021 10:05 amThis is a very interesting script. It would be nice if it supported the option of also increasing or decreasing the leading of a column to make it fit. So let’s say you have a box of two columns, would be cool if it could also say decrease the leading (or increase) to help with fitting. I tend to use the term carding for interparagraph spacing and feathering for adjusting the leading.
Ariel
February 11, 2021 12:40 pmHi Raphael,
V-Justify allows you to combine its functionality with InDesign’s vertical justification. So if you want variable leading (feathering), check the “Enable text-frame vertical justification”. This will make V-Justify do what it can first, according to the parameters you set for each paragraph style. It will then also enable InDesign’s vertical justification, so if some columns or pages don’t have enough built-in flexibility to reach the bottom of the frame (based on your allowed max numbers) InDesign will do the rest by feathering the lines. With the advantage that this will be disabled for chapter endings.
Ariel