Is there any way to merge frames?

Previous topic - Next topic

pedrusco

Hi everyone, I am still learning how to use Scribus and I am using it to create a catalog. I often have to add new products in the middle of the catalog, so I was wondering if there is any way to merge text frames and image frames, because I need to drag them to open space for the new product and it would be very easier if the frames modev together.

I attached an example where I have the images frames and text frames, but I need to move all the text frames that contain text and athe ones that contain images to the right to leave an empity space to add other product. In teh example there are no images in the frames beacause it is just the sla. file, so i also attached a jpeg image of what the catalog shoul look like.



So, is there any easier way to open spaces when I have to add new products or I will have to drag each element?

I am sorry if the catalog has a poor layout, I am still trying to leanr and since it is just for internal use in the company the main point is that it is working. Of cousrse, if you have any suggestions to make it look better I would be very thankful. SOrry for any english mistake, I am brazilian.

[attachment deleted by admin]

Nermander

I think what you are looking for is to "group" frames.

GarryP

#2
I would agree with Nermander that grouping the frames is what you need.

However, once you group frames you can't edit their contents until you ungroup them again.

Scribus doesn't have a "link a frame's position to another one" function, i.e. you can't tell a frame to stay at a given position from another when you move them around, unless they're in a group. (A few other forum threads have discussed similar things, e.g. http://forums.scribus.net/index.php/topic,616.msg2852.html#msg2852, but I don't know if anyone has requested this as a new feature. -- Update: 1.5.0svn has a "Weld" function that seems to do the job; I hope it stays in the final build.)

Unfortunately I don't know of any quick way of inserting a new product without manually dragging others out of the way. (Have you thought about making your catalog with HTML/CSS instead? It might sound strange but this sort of "insert something new and everything flows around it" thing is something HTML/CSS do by default. And there are plenty of web-page-to-PDF converters out there. I know I'm a bit "off topic" here but I think it's worth a few minutes thought.)

Some quick Scribus catalog-making tips I can give, after looking at your supplied SLA, would be:

(1) Use Styles for your text. Create one paragraph style for your "codes" and another for your "prices". Then, if you ever want to change the text formatting of each you only have to do it once for the style and the change will be replicated across everywhere the style is used.

(2) Put your guides on a master page. When your guides are on a master page, when you create a new page, you can apply the master page to the new page, and you get the guides "for free".

(3) You might want to think about using fewer guides. Too many guides can be confusing, both for viewing the document and when using Scribus' snap-to-guide function. (For example, if you've got a frame that is 100pts across and you have two guides that are, say, 104pts away from each other, which guide does Scribus snap to? And would you notice if it used the "wrong" one?)

(4) As an alternative to using guides to get your picture/code/price frames aligned and the same width etc., have a look at the "Windows -> Align and Distribute" capabilities. With this you can make frames align (e.g. top-to-bottom) and extend (e.g. make one side of a frame extend to the same position as the same side of another frame). These functions can be very useful and quick to use - and are probably underused by many beginners because of where the dialog is in the menu structure. (A friendly nudge to the developers there  :) .)

(5) And finally, think about using "Edit -> Multiple Duplicate..." to make a "grid" of products. For example, you can set-up one catalog entry as you want it at the top left of the page and then duplicate it at exact row and column distances across and down the page. Then everything is exactly the same and you just have to edit them.

Anyway, I hope some of this is of some use to you and others reading this.

Garry.

pedrusco

Quote from: GarryP on March 21, 2013, 01:36:46 PM
I would agree with Nermander that grouping the frames is what you need.

However, once you group frames you can't edit their contents until you ungroup them again.

Scribus doesn't have a "link a frame's position to another one" function, i.e. you can't tell a frame to stay at a given position from another when you move them around, unless they're in a group. (A few other forum threads have discussed similar things, e.g. http://forums.scribus.net/index.php/topic,616.msg2852.html#msg2852, but I don't know if anyone has requested this as a new feature. -- Update: 1.5.0svn has a "Weld" function that seems to do the job; I hope it stays in the final build.)

Unfortunately I don't know of any quick way of inserting a new product without manually dragging others out of the way. (Have you thought about making your catalog with HTML/CSS instead? It might sound strange but this sort of "insert something new and everything flows around it" thing is something HTML/CSS do by default. And there are plenty of web-page-to-PDF converters out there. I know I'm a bit "off topic" here but I think it's worth a few minutes thought.)

Some quick Scribus catalog-making tips I can give, after looking at your supplied SLA, would be:

(1) Use Styles for your text. Create one paragraph style for your "codes" and another for your "prices". Then, if you ever want to change the text formatting of each you only have to do it once for the style and the change will be replicated across everywhere the style is used.

(2) Put your guides on a master page. When your guides are on a master page, when you create a new page, you can apply the master page to the new page, and you get the guides "for free".

(3) You might want to think about using fewer guides. Too many guides can be confusing, both for viewing the document and when using Scribus' snap-to-guide function. (For example, if you've got a frame that is 100pts across and you have two guides that are, say, 104pts away from each other, which guide does Scribus snap to? And would you notice if it used the "wrong" one?)

(4) As an alternative to using guides to get your picture/code/price frames aligned and the same width etc., have a look at the "Windows -> Align and Distribute" capabilities. With this you can make frames align (e.g. top-to-bottom) and extend (e.g. make one side of a frame extend to the same position as the same side of another frame). These functions can be very useful and quick to use - and are probably underused by many beginners because of where the dialog is in the menu structure. (A friendly nudge to the developers there  :) .)

(5) And finally, think about using "Edit -> Multiple Duplicate..." to make a "grid" of products. For example, you can set-up one catalog entry as you want it at the top left of the page and then duplicate it at exact row and column distances across and down the page. Then everything is exactly the same and you just have to edit them.

Anyway, I hope some of this is of some use to you and others reading this.

Garry.
Quote from: Nermander on March 21, 2013, 07:50:07 AM
I think what you are looking for is to "group" frames.

Thank you guy for your answers. How can I group frames? even if I cant edit them, it would be useful to move them, after that I could ungroup them.

Garry, I read what you wrote and I will try do follow your advices, thank you a lot. I am in a transition point right now, because I am remaking all the catalogs I have using Scribus, but maybe that still is not the best tool. Would you know any program or tutorial that shows hows to do this kind of thing with HTM/CSS? I really dont know anything about it.

Thank you again guy.

dave61430

Grouping is simple, if feasible, simply draw a frame to include all the objects, you can then move them as a group. If this isn't practicable, like it would include an unwanted object, simply shift-click each object in turn. This may be the preferred way, note the use of the shift key, most selections of this type use the ctrl key. Be nice if these things were universally consistent but we have to be thankful for small gifts. To deselect, just click anywhere in blank space.

Do look into how to use layers, they are very powerful and you might find them applicable.

Nermander

What dave61430 describes is not grouping objects, it's "selecting multiple objects".

To group objects, first select them, then you group them by:

1. Item -> Group
or
2. Ctrl-G (default shortcut)
or
3. Right click and choose Group.

Now they act as one object and can easily be dragged using the mouse. But if you want to edit one of the components you will have to ungroup the group.

GarryP

Grouping, as described above, is probably the way to go for your current needs. (If you're okay with compiling applications you might also like to try the "weld" function in 1.5.0svn. It looks pretty good so far.)

However, as to your question earlier about HTML/CSS, I'm afraid I can't be much help there. I remembered something similar from when I was tinkering around with that sort of thing a while back but the technologies have moved on since then so whatever I knew - even if I could remember it well enough to help - would be well out-of-date. Try a search for "dynamic layout" to find various jumping-off points for research. HTML/CSS isn't very difficult for simple stuff but it can take a while to get used to.

I guess my general point there was that if you're going to have to frequently add new products - and therefore keep having to move stuff around to have them in the right order - then Scribus might not be the best thing for you in the long term.

Don't get me wrong, Scribus is great for what I'd call "static layouts" and it produces beautiful output, but it doesn't have many tools for automatically adjusting the layout of objects - such as frames - when stuff needs to be added or moved around.

I've a feeling that what you need, if you're going to do lots of changes, is something like a database with your products in it with a script that creates the Scribus pages from the information in the database, or something similar. There's an archive wiki page here: http://wiki.scribus.net/canvas/Draft_of_end-to-end_publishing_solution which might give you more of an idea but it looks complicated and may need you to put more effort into it than just moving things around every now and again.

In summary:
* If you know you're going to have to do lots of changes then take a bit of time to look into "database publishing" to see what is out there.
* If you're not going to do many changes then just use the tips above and stick with Scribus.

Scribus is an excellent tool for doing what it does and it does it really well, but, to coin a phrase: "no matter how good your hammer is you wouldn't use it to cut wood". If you see what I mean.

Anyway, I hope you find a good solution.