Text Frames
Fit Frames to Text Perfectly
I hate extraneous space at the bottom of my text frames. Since I want the frame to hug the text as tightly as possible, I'm constantly dragging on the frame to resize it after every edit. While I'm undergoing treatment for this compulsion, my psychotherapist would like to know if there's an automatic way to do this in InDesign? |
At any time while you're working in a single-column text frame you can press Command-Option-C/Ctrl-Alt-C. That reduces the frame to hug the text content (same as choosing the command from the Object > Fitting menu). |
A couple caveats: It doesn't work on frames with more than one column, even if there's plenty of extraneous space at the bottom of each column due to forced column break(s).
Also, if the frame is only one line deep and its last character has any negative tracking or kerning applied to it, an obscure bug causes InDesign CS to shrink the frame too much, resulting in an overset frame. (This was fixed in CS2, thank goodness.)
Keep the Descenders Inside the Frame
A text frame that's been set to vertically align on the bottom (via Object > Text Frame Options) aligns the baseline of the characters to the bottom, leaving their descenders hanging out in the breeze below the frame. Same thing happens when I choose Object > Fitting > Fit Frame to Content. |
This is InDesign's normal behavior and just takes getting used to. It's a little jarring, though, if you're recovering from a 10-year QuarkXPress jag. That program uses a line's leading amount, not its baseline, for the bottom of a text box; so the descenders were always inside the frame. That may be useful if the text frame has a stroke! |
To force an InDesign text frame to act like a QuarkXPress text box in this regard, apply a dose of Text Inset (in Object > Text Frame Options) to the bottom the text frame. That will keep your descenders neatly tucked into the frame (Figure 3-4).
Figure 3-4 If you don't like how InDesign lets the descenders of text dangle below the bottom edge of a text frame (top), add a bit of Text Inset to the bottom (bottom).
The Side Handles Haven't Gone Anywhere
When I click on a shallow text frame (like one with just a line or two of type) with the Selection tool, the side handles of the frame disappear under its In and Out ports. If I need to drag a side handle to change the width of the frame without changing the depth, I have to zoom way in to reveal the handles. |
Hate to break it to you, but all that zooming was for naught. As long as you drag (not click) on those In and Out ports, they act just like side handles. Dragging on the In and Out ports doesn't work if you can see the side handles, though —only when the frame is so shallow the side ones “disappear.” |
Create a Text Frame On Top of Another One
Having one tool, the Type tool, do double-duty as both a text frame creator and a text editor is a blessing and a curse. A blessing, because it's one less tool to worry about. A curse, because it's impossible to create a new text frame when the cursor's over an existing frame. If I want to drag out a small frame for a call-out inside a larger frame that holds article text, InDesign won't let me. The Type cursor goes into text-edit mode because I'm over the article frame. |
Yes, it's a tragic case of feature-not-a-bug-itis. To get the Type tool to create a new frame, you'll have to at least start your dragging over any empty area of the page, even just a micron outside any existing text frame. |
As soon as you start dragging, though, you can move the frame into position by holding the spacebar down (while the mouse button is still down, too). Let go of the spacebar and you're back to sizing the new frame.
On the other hand, if you're zoomed in and there's no “empty” page area in sight, you can try this:
- Press Command-Shift-A/Ctrl-Shift-A to Deselect All.
- Tap the 'F' key (selects the Rectangle Frame tool).
- Drag out an empty image frame as though it were your text frame.
- Tap the 'T' key (which selects the Type tool).
- Click inside the rectangle and start typing. Clicking inside the empty image frame with the Type tool immediately converts it to a text frame.
Since the Frame tool has a default zero-point stroke, just like a text frame, it's a better choice than the Shape tool, which has a 1-point stroke by default.
Straddle Heads in a Single Text Frame
I'd like the title and body of a single story to exist in a single frame. No problem, right? Sure, unless the title needs to be in one column spanning the full width of the frame; while the body text has to flow into multiple columns. InDesign doesn't let you mix numbers of columns in a single frame. |
InDesign maven Dave Saunders wrote about this procedure in depth in the Oct|Nov 2004 issue of InDesign Magazine (see Introduction for more information). His technique is obscure, but powerful: |
- Assign the text frame the number of columns you want for the body text.
- Enter your headline as the first paragraph of the story.
- Convert the title paragraph into a one-celled table by selecting the heading (excluding that paragraph's carriage return character) and choosing Table > Convert Text to Table.
- Drag the right edge of the table all the way to the far right edge of the text frame, across the columns. Voila, a single
column title and a multiple-column body in the same text frame.
Unfortunately, the body text in the remaining columns doesn't automatically wrap under the bottom of the title's table. You'll have to increase the text frame's First Baseline Offset setting, which is 0p0 by default, to push the misbehaving text down.
- Place the cursor in the first line after the heading and open the Info palette.
- Open Object > Text Frame Options and move the dialog box so that you can see the Info palette.
- Change the First Baseline feature's offset Method to “Fixed” and change the offset amount to the same number listed in the Y field of the Info palette. That's the current distance from the top of the frame to the baseline
of that first line (Figure 3-5).
Figure 3-5 Use a one-cell table to create straddle heads in your text frames.
- Click OK and the effect is done.
However, if you later change the height of the heading's table cell or add/remove lines from the title, you'll have to change the offset amount to match. Just go back and repeat steps 5–8.
Don't feel like repeating all those steps? Or found yourself in a fix when the text frame has a text inset? Fortunately, Mr. Saunders wrote HeadStraddler.js, a shareware script that creates straddle heads in InDesign with a single keystroke. It's worth every penny. Check it out for yourself at www.pdsassoc.com
Quick Work of Equal Frame Insets
There's no “Make All Settings the Same” link icon in the Inset Spacing area of the Text Frame Options dialog box. Maybe I'm spoiled, but I really hate having to enter the same measure over and over again for each of the four text inset fields when I want them all to be the same. |
You're not spoiled, you're just used to the finer things in life. Indeed, 'tis a puzzlement why this area of InDesign lacks the useful icon found in other parts of the program. |
Here's a trick that will help. Select the frame and choose Object > Corner Effects. Choose the Rounded style, but set the amount of the “rounding” to 0. The frame appears the same, square corners and all. However, since frames with Corner Effects applied to them can only have one text inset (applied to all sides of the frame), you just need to enter your inset once.
You can put such a frame in an InDesign library for use in other documents. That way you don't have to keep going back to Corner Effects every time.
And of course in InDesign CS2 you can create an object style that does little but turn on the text insets at the values you want. Then you can apply those insets with a single click.
Fix Inexplicable Oversets in Narrow Frames
Typing merrily away in a somewhat narrow text frame, with plenty of empty space for more text, InDesign suddenly forced an overset. There's room for at least another 50 lines of type in the frame, why did this happen? |
Most likely you entered a word that was longer than the width of the text frame and InDesign didn't know how or wasn't allowed to hyphenate it. Perhaps it wasn't in its hyphenation dictionary, or it's a capitalized word and you turned off the option to hyphenate those, or you turned off hyphenation altogether. |
Whatever the reason, InDesign's reaction to the situation is to throw up its hands and say uncle. It won't break words at arbitrary points (as QuarkXPress would), instead it pushes the word — and anything you typed or placed after it — into an overset state. You might encounter the same symptom if you reduce the width of an existing text frame — suddenly you have an overset even though there's room for more text.
Remember you can always access overset text in the Story Editor (Edit > Edit in Story Editor), so one solution, other than widening the text frame or changing your hyphenation rules, would be to open Story Editor and add a hard or discretionary hyphen to the word causing the problem. The layout view immediately updates and you should see your text reappear in the frame.
Fix Inexplicable Oversets in Normal-Width Frames
My text frame has plenty of vertical and horizontal space to hold the text without having to break a word (so it's not the situation described above), but I'm getting an overset nonetheless. |
Is the frame near, beneath, or on top of an object that has a Text Wrap enabled? Remember that in InDesign, the default is that all nearby or partially overlapping/underlapping objects are affected by another object's Text Wrap setting; stacking order in a layer or multiple layers is ignored. |
If that's the problem, select the overset text frame and turn on Ignore Text Wrap in Objects > Text Frame Options. You should see the text reappear in the frame, because it's no longer being pushed away by the Text Wrap setting.
If that's not the problem, select the text you can see in layout (or select it in the Story Editor) and check the Keep Options settings in the Paragraph palette menu. Perhaps a Keep Lines Together setting is turned on, and InDesign can't keep all the lines of your paragraph together in that frame. Turn the option off or thread the frame to a new one to reveal the text (Figure 3-6).
Figure 3-6 Certain Keep Options settings sometimes cause unexpected oversets. Even if you don't remember setting anything special here in InDesign's Keep Options dialog box, perhaps the author set it up in the equivalent dialog in Word.
Other causes might be an accidental tap on the number keypad's Enter key, which is the keyboard shortcut for “jump [the text] to next column or frame;” an embedded Page Break from a word processing file, which InDesign also interprets as a “jump” command; or an accidental pasting/placing of an image into the text frame, resulting in an inline image that is too large to reveal at 100% in the text frame.
For any of these possible causes, click an insertion point after the last visible character and type a forward delete (a special key on Mac and PC keyboards) one or more times to get rid of the character/image that's forcing the overset. Or, you may want to open the Story Editor to help you identify the culprit and get rid of him.
One more thing to check: Make sure the No Break feature (in the Character palette menu) is not turned on for the text you're editing. If it's enabled for a whole paragraph of text, you're essentially saying the whole paragraph is a single word. Oops.
Inline Frames that Don't Overlap Text Above
Even though I made sure to paste an inline graphic on its own paragraph, it's still overlapping the text above it. |
Click an insertion point in the same paragraph as the inline frame and change the Leading amount to Auto. InDesign figures out the frame's height, goes, “Whoa! I was way off,” and adds enough breathing room (leading) so the inline frame has room to stretch. |
If you're adding a number of inline frames that sit in their own paragraph, you might want to create a paragraph style just for them. Make sure that the Leading in the style is set to Auto, of course.
Wrap Paragraph Text Around Inline Frame
The first character of my paragraph is actually an inline frame, a decorative drop cap I made in Illustrator and pasted in the text flow. I can drag the frame down with the Selection tool so the top of it aligns with the cap height of the first line of the paragraph, but since the subsequent lines of text don't move out of the way, the image in the frame partially overlaps the text in the second and third lines. Text Wrap doesn't work with inline frames? |
That's right, at least for InDesign CS — CS2 does support some text wrap for inline frames (more on that in a moment). |
But since the inline is the first character in the paragraph, you can fake a frame text wrap in InDesign CS with the Drop Cap feature.
- After cutting the drop cap frame to the clipboard, switch to the Type tool and paste it as an inline frame immediately in front of the first character of a paragraph.
- Make sure your cursor is blinking in the paragraph containing the inline frame. In the Control palette (in Paragraph mode) or Paragraph palette, set a 1 character drop for as many lines as the frame is high.
InDesign drops the inline frame down the proper number of lines without changing its dimensions. You can adjust the size and baseline of the inline frame with the Selection tool as usual, if necessary.
Fortunately, InDesign CS2 is smarter and can wrap paragraphs around inline frames . . . but only text after the inline frame — it won't wrap text in previous paragraphs. (Of course, this isn't a concern with Drop Caps.)
To customize the wrap around a Drop Cap, such as making the body text follow the slant of the right side of a Drop Cap “W,” see “Wrapping Drop Caps” later in this chapter.