Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do I vertically align text within a Scribus text frame?

share|improve this question
To clarify: I have a 7.4590 in wide x 0.9810 in high text frame with one line of 55.0 pt text (font Century Schoolbook Regular). Scribus, by default, places the text in the upper-left corner of the text frame. The text consumes about 0.5 in, vertically, of the text frame. I want to know how (if possible) I can vertically align the text within the text frame so it is centered with approximately 0.25 of white space above and below the text. This is easily accomplished in Microsoft Publisher; just seeing if I can do it in Scribus. – iokevins Jan 12 '11 at 6:09
up vote 1 down vote accepted

Surprisingly for such a simple and common feature, there doesn't appear to be an option for this in Scribus as of version 1.4.5. Here are three workarounds (none of which are ideal solutions unfortunately), one of which is based on @W_Whalley's answer (which is out of date for Scribus' current UI):

Manually set the spacing within the text frame

Adapted from @W_Whalley's answer:

  1. Open Properties for the text frame (select and press F2, or right click and select Properties).
  2. Select the Text tab.
  3. Open the Columns & Text Distances drop-down.
  4. Adjust the margins to achieve the desired alignment.


  • You will have to work out the margins manually.
  • It will only result in an approximation unless you work hard to calculate the margins.
  • You will have to redo it every time you make a change that alters the alignment.

Align the text frame itself within another object

Based on the suggested solution on the Scribus Wiki:

  1. Surround the text frame with another object (e.g. another text frame).
  2. Select the inner frame and the outer frame together in that order (using the shift key).
  3. Open the Align and Distribute window.
  4. Set Relative to to Last Selected.
  5. Click Centre on horizontal axis.


  • It is imprecise due to the text not being vertically aligned within the inner text frame.
  • You will have to redo it every time you make a change that alters the alignment.

Use a script

  1. Use this script from the Scribus Wiki.

I have not personally tried this option so can't confirm how effective it is. From the description it would appear to solve most of the disadvantages of the other two methods leaving just one:

  • You will have to redo it every time you make a change that alters the alignment.
share|improve this answer

Select the text frame and hit F2 or right-click and choose properties. Then select the Shape section. There you can set a left margin offset from the edge of the text frame that will align the text in the frame. You can also set tabs and columns if that is more in line with your goal.

share|improve this answer
Thanks W_Whalley--bumping the left margin adjusts the horizontal offsets, though. :o) Bumping the top margin seems to work, but in Scribus the text almost immediately disappears from view, even though it is nowhere near the bottom boundary of the text frame.... – iokevins Jan 12 '11 at 6:14
@schultkl, thanks for the clarification. Using your text frame size and a 54 pt font, I set the text offset to baseline of characters to -20% and approximately centered the text in the frame. Increasing the text box height to 1 inch let me do it with 55 pt font. Increasing the height of the text frame is no problem because text frames can overlap. – W_Whalley Jan 12 '11 at 17:03

Using Scribus 1.4.6, the following script center (vertical) align the content of a text frame by Alessandro Rimoldi was able to vertically align the text within a text frame:

  • doing so automatically even when the linespacing and/or the first line offset is changed afterwards
  • and with multiple paragraphs of different styles

I could experience at least two drawbacks:

  • it is necessary to rerun the script if either the height or width of the text frame has been modified
  • it cannot center the text if it is overflowing as it creates some kind of top and bottom margins (so maybe not ideal for large texts)

This script overcomes the fact that the script mentioned in Jon Bentley's answer did not work for me (in Scribus 1.4.6 at least), showing an error message with the following line:

ValueError: Text distances out of bounds, must be positive.

which is maybe related more to the document than the script itself.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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