[scribus] FOUND WORKAROUND - How to change the "Distance of text" for multiple text frames in one go?

Marco Boeringa marco at boeringa.demon.nl
Sun Jul 12 15:35:10 CEST 2009

Hi all,

Quote by Owen:

"Anyway, just what is you aim, to produce a calendar? If so there other
options, pcal is a neat program that provides a postscript output ready
for importation into Scribus."

Yes, I want to create a calendar, but that is not the real issue as you may have noticed. There is a more general issue with the limited table functionality in Scribus, a long standing issue I see from posts dug up using Google, and the way it handles setting properties for multiple text frames at once.

Anyway, I have found a workaround for my issue. It is a bit fiddly, but still far easier and less time consuming than having to set Top/Left/Bottom/Right "Distance of Text" for hundreds of cells in a table on an individual cell-by-cell basis...

So, here it is, I hope some others may be helped with this too.

- Create table using the "Insert table" tool
- Add data to it as required
- Open the "Properties" window
- Go to the "Colors" TAB
- Set a fill color if desired by clicking the Bucket icon first, and 
than selecting the color
- Now select the Pencil button to set the outline properties, and choose 
a color. It doesn't matter which one, because we are going to set 
opacity to 0%
- Set Opacity to 0%, this will make the outline completely transparant, 
and thus invisible
- Now select the "Line" TAB in the Properties window.
- Set a Line Width. If you already have contents in the table, you will 
immediately notice the text will move inwards, allowing space for the 
inisible(!) outline without overlapping the text. It kind of works like 
the "Distance of Text", just setting all four sites at once.

Now, of course, we can no longer set an Outline color for individual 
cells with this solution! If you don't need that, you are done. However, 
if you do need a visible Outline, there is more work.

At first, I though I could simply create a new second table, and put 
that one on top and set the Outline color there. While in theory this 
works, there is an issue with this. Contrary to the Insert Text Frame 
tool, the Insert Table tool sets each frames / cells "Text Flows Around 
Frame" property on the "Shape" TAB to TRUE. As soon as you put such a 
table on top of the original table, it causes a "Text overflow" error in 
the underlying table, and you will no longer see the contents of the 
cells of the underlying table.

So, what to do?

Use the Insert Text Frame tool instead, as it will leave the "Text Flows 
Around Frame" property at FALSE, which doesn't cause a "Text overflow" 
error for the underlying table. Of course, this poses another issue, as 
you now have to create a table from single cells. However, by simply 
copying and pasting (groups of) textframes, and using the "Align and 
Distribute" tools of Scribus, it should be fairly easy to create large 
tables fast.

So, here's another instruction:

- Create and select a new layer. You probably don't want the second 
table to be in the same layer as the original data table, so create a 
new layer if desired.
- Create a second table with same no. of rows and columns and exactly 
the same width and height using individual text frames as per 
description above.
- Leave the Fill color for the cells at "None", as otherwise you will be 
hiding the underlying table with the real data.
- Set the Outline color using a line style or directly in the properties 
- Align it on top of the "data-table", and you will have your outlines...


Owen wrote:
> On Sat, 11 Jul 2009 19:35:01 +0200
> Marco Boeringa <marco at boeringa.demon.nl> wrote:
>> Hi all,
>> Just recently downloaded Scribus to give it a try. Since I was not
>> yet familiar with DTP, the user interface and concepts were confusing
>> at first. However, with help of some good tutorials and documentation
>> on the internet, things have become clear and I managed to create a
>> proper document using styles and a home made template.
>> However, I now ran into a serious issue. I used the Calendar Wizard
>> in Scribus, that creates a tables like layout of text frames for all
>> the dates. So far fine, and I easily managed to tweak the look and
>> placement using magnetic lines and all the property settings.
>> However, since I also wanted to change the "Distance of Text"
>> settings (Top, Left etc.) of the Shape tab of a Text Frame, I thought
>> I could simply do this like I had done with all other formatting:
>> select multiple frames, enter the desired values, and ready...
>> Well, not so! While I can change things like font style, color etc.
>> of multiple selected frames at once, the "Distance of Text" settings
>> are only applied to the first selected text frame...
>> Is this a known bug in Scribus, or do I have an issue with
>> my installation? And if it is a bug, is it stilll present in 1.3.5,
>> and if not, do users recommend upgrading considering the beta status
>> of 1.3.5?
>> I am running the latests stable release (, so not the
>> Release Candidate 3 of version 1.3.5. Considering all the warnings
>> about ongoing changes in the fileformat of the beta version, I
>> thought it wise to stick with the latest "stable" release for the
>> time being, especially to try it out.
>> Thanks for any insights and suggestions of how to change these 
>> "Top/Left/Bottom/Right" distances of text frames in batch, if at all 
>> possible.
> Hi,
> Perhaps you could look at the script, CalendarWizard.py and it maybe
> possible to do some adjustment there.
> # grep marg CalendarWizard.py provides 20 odd lines of output, try
> fiddling there (making a backup before you do so)
> Anyway, just what is you aim, to produce a calendar? If so there other
> options, pcal is a neat program that provides a postscript output ready
> for importation into Scribus.
> Owen 
> _______________________________________________
> scribus mailing list
> scribus at lists.scribus.net
> http://lists.scribus.net/mailman/listinfo/scribus

More information about the scribus mailing list