View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001155||Scribus||Story Editor / Text Frames||public||2004-09-27 08:37||2015-02-01 23:57|
|Platform||x86 Linux||OS||Fedora Core||OS Version||1|
|Summary||0001155: Support non-breakable text blocks|
|Description||It could be very helpful to be able to set a block of text (usually a paragraph) with a style attribute that prevented it being broken between multiple linked frames.|
One specific use I have in mind is to prevent classified ads in a newspaper from being split across multiple columns/pages.
I expect other uses are likely in general layout and typesetting.
|Steps To Reproduce||n/a|
|Additional Information||The <itext> work for the 1.3 format should make describing this in the file format simple. I don't know enough about the canvas or text frames to know if implementing it is a big job or not, though.|
|Tags||No tags attached.|
|related to||0000132||closed||jghali||Widow/orphan control|
|related to||0001099||closed||fschmid||Inline graphics|
|related to||0002098||acknowledged||Metabug: New File Format|
|has duplicate||0003577||closed||Automatic break options|
|related to||0001156||acknowledged||Auto-adjust column/frame leading to fit nearest line|
|related to||0002036||closed||fschmid||request for a frame break|
|related to||0002039||acknowledged||column span|
|related to||0003911||closed||avox||Enable "forced" hyphenation|
|related to||0004676||acknowledged||feature to mark words as "do not hyphenate"|
|related to||0002479||assigned||cezaryece||Preflight Verifier: orphans and widows|
|child of||0003828||acknowledged||Metabug: Hyphenation|
Good idea to place this within the stylesheet context. Perhaps some basic widow/orphan control could be added to this feature, where you can set options like:
[ ] Do not split paragraphs
[ ] Do not split paragraphs shorter than ___ lines
[ ] Orphan control ___ lines
[ ] Widow control ___ lines
[ ] Remove blank lines from top of column
Basically copied this from OpenOffice (screenshot added). Additionally, the option not to break short paragraphs, and to remove blank lines that exist between paragraphs when a text breaks over multiple columns is desirable.
||I'd suggest to differ between column break and page break.|
It's a good idea and the ad example is to the point.
But I think there is room for a far better implementation of this feature than it is in most other programs. We, as an example, hardly use this option (in Quark) because simply keeping the paragraphs together is by all means a too much simple and brutal approach to the problem. But we do make a lot of books and we do have to control widows and orphans a lot. But such a feature cannot help in the many (if not all) cases where a book has that many lines per page and this particular text to fit. The way we handle this is by gently tweaking the text with kern/track options, even with a very light character horizontal scaling and/or by reviewing all prior hyphens to catch up that little half line that is hanging all alone on next page. All these settings help get a total control on widows and orphans. And best of all, they go unoticed by the readers (unless, of course, you really give it a strong tracking value!!!).
I think maybe a more powerful widow/orphan control center would let user define all these settings as the playfield in which the software picks the better option(s) to efficiently control widows and orphans. Could be done either way: tighten/loosen with a goal of making the extra line stay on previous page (or column) or either pull with it one (two?) extra line(s) on the next page or column. We could even set the preferred options in order. Kern/Track - Scale - Hyphenation Settings - Letter/Word Spacing - and to what extent. An highlited line would show up in cases where the settings couldn't help, thus telling the human being to have a look and take care of the widow or orphan! To that point, maybe editing the text would even be the only option left.
Of course, some options aren't implemented yet...
I just read the related bug 0001156 and I guess this is what Craig has in mind, isn't it?! :)
Forgot to mention the most obvious: controlling orphans and widows can also be done uphill (this happens most of the time). The line to save could be 2-3 paragraphs above... or even further. If we want the computer to compute, the program could analyse:
1. Length of the last line for every paragraph previous to the widow (or orphan) to eventually act upon the shortest one.
2. What are the consequences — on all following pages up to next section or page break — of taking away that one line?
3. If no other widow/orphan situation occurs, the issue is solved.
4. if this creates another instance, then the process restarts from the next shortest line.
Of course, as I said, the program could tighten or loosen lines upon each situation, according to the user's prefs.
Basically, beyong this limit, even if the case is not solved, abort function and ask the user for new limits or end, highlight, and adjust manually.
|We now support a basic form of this using inline text frames in 1.3. It's early days, but looking very interesting.|
||Added an attribute to the character style in the file format to reflect this property. It can be used on the paragraph or text block level.|
How about an attribute at the frame, linked chain, or section levels so that all paragraphs within them get kept together? Different than applying this to a single paragraph or block at a time. That's what I meant in 0003577.
Sounds like what packetbell had in mind too.
I like louisdesjardins's ideas for a more powerful algorithm too.
||Relationship added||related to 0001156|
|2004-09-27 20:47||packetbell||File Added: widoworphan.png|
|2004-09-27 20:52||packetbell||Note Added: 0002549|
|2004-09-30 14:54||deejay1||Relationship added||related to 0000132|
|2005-03-14 11:51||TomK32||Note Added: 0003909|
|2005-03-14 13:23||louisdesjardins||Note Added: 0003910|
|2005-03-14 19:35||louisdesjardins||Note Added: 0003911|
||Product Version||1.2.1cvs => 1.3.0cvs|
||Relationship added||related to 0002036|
||Status||new => acknowledged|
||Relationship added||related to 0002039|
||Note Added: 0005035|
||Relationship added||related to 0001099|
|2005-06-15 14:09||malex||Relationship added||related to 0002098|
|2005-06-15 14:10||malex||Note Added: 0005047|
|2006-04-20 20:55||mhanski||Relationship added||has duplicate 0003577|
|2006-04-22 00:16||mkoren||Note Added: 0010281|
|2006-05-16 21:46||christoph_s||Relationship added||child of 0003828|
|2006-06-13 01:55||christoph_s||Relationship added||related to 0003911|
|2006-11-02 21:21||mkoren||Note Edited: 0010281|
|2007-02-17 00:51||christoph_s||Relationship added||related to 0004676|
|2015-02-01 23:57||Kunda||Relationship added||related to 0002479|
|2015-09-17 20:08||Kunda||Category||Story Editor / Text Frames => Story Ed/Txt Frames|
|2015-09-17 20:12||Kunda||Category||Story Ed/Txt Frames => Story Editor / Text Frames|