1 person found this helpful
There's a sample script called SplitStory.jsx that will split all the frames in a story into separate stories, and one called BreakFrame.jsx that will pull a single frame out of a thread.
The Script Peter mentions is great. If you use it only for particular frames you can also copy the text frame (this is also what the Script is doing behind the scene).
– Haeme Ulrich
Can you describe how to use that script step by step? I can access the script OK and by clicking on the first text box, the link symbol disappears and I am left with a cursor that shows a little window of text from the first box. What do I do with that? If I click on either box with it, the text in the second box disappears. This script does not work simply or intuitively. I need more illustrative help with this. ??
You would use the script on a story that's threaded through multiple text frames. So here I have Show Text Threads turned on showing 4 threaded text frames:
With the first frame selected I double-click SplitStory and the frames are no longer threaded:
I can now edit one of the frames without the text reflowing:
Thank you so much for taking the trouble to show this. In fact, my document was something like your example i.e. ten pages all full of text, all linked. I wanted to break the link between pages three and four, but leave 1-3 linked with the original text remaining in them and 4-10 linked with the original text remaining in them. I accessed the script, not sure exactly which port and/or box I clicked on, but eventually the link disappeared and left the remainder as described, which is what I wanted. I'm happy to know it can be done; but it seems to me a clumsy thing to have to access an outside script to perform a function. Adobe's designers should work on making a simple make or break command. I used to get along a lot better when I was still using Pagemaker than I ever have since I've had to change over to InDesign. Too many esoteric functions, many of them awkward and non-intuitive (pagination, styles!) no printed instruction book—the program is very difficult for me to use. I'm a writer and I need the program but I'm not a computer whiz. Enough of grousing for today. It's now 2018 and gotta start the year off in better mood. Thanks again.
Happy New Year
Adobe's designers should work on making a simple make or break command
You can post a feature request here:
Lynda.com has comprehensive InDesign training—there's a free trial
no printed instruction book
I think it has been 10 years since Adobe printed a manual—it's just not practical. The online user guide is quite good:
breaking threaded text frames—leaving text as is—should be a genuine feature with InDesign.
However, it is not. Instead one has to use scripts that can best be described as "inadequate".
( E.g. try to undo the action of SplitStory.jsx )
You could make a feature request and post the link here so that people can vote.
1 person found this helpful
Or try this code I made a time ago...
It'll split the story from the selected textFrame to the end. Keeping all
the text in its place.
your script is working fine. Thank you for sharing.
As an additional feature I would wrap the code with a doScript() so that one can make the script's action undo in one go.
Good! Thanks for that. I'll put the app.doScript and replace the file on server.
[EDIT] Done. It's on my server with UNDO option.
Em 1 de jan de 2018 14:24, "Laubender" <firstname.lastname@example.org> escreveu:
Adobe Community <https://forums.adobe.com/?et=watches.email.thread>
Break threading but leave text in place
resposta de Laubender
InDesign - Visualize a discussão completa
Hi I downloaded your script, how can I add it to cc2018
Your script has saved me! Thank you!
I'm glad to help you!
Hi lf.corullon ,
did you test your script with a story that contains a big table that is running from frame to frame?
With just one table in the story I can see an error message:
Error Number 30477
Invalid value for parameter "selectableItems" of method "select".
Object, Array of Objects, NothingEnum enumerator or SelectAll enumerator expected, but recieved nothing.
Note: The same error will be thrown if the text frame that is selected to split the story is empty.
No, I didn't.
This isn't part of my workflow.
I'll look into these cases. Thank you, Uwe!
Laubender, I can't see any errors while trying to split empty text frames.
In case of tables divided in multiple textFrames, the table keeps only in the previous textFrame.
The ideal behaviour is to divide the table in the point where it's divided, right? Any idea how to make this?
About the blank textFrames, maybe you have an older version of this code. Try this updated one.
Just looked into the code. This line cannot work if there is no text:
app.select(app.selection.texts.itemByRange(myStartChar , myEndChar));
You also have to handle the case that there is no text in the frame you have selected, but the frame before and/or after has text.
Basically it's the same with a story that consists only of one single character, the special character that constitutes a table that could run through more than one text frame. Also test with stories that contain overset text, and only overset text.
But I don't have time now to deal with all these conditions.
This code is working fine in almost all cases (when textFrames has contents, principally), which is the context for what I made this code.
Hope you understand my side.
Laubender try this new one, please.
I tried to reproduce the error you mentioned, but no success.
In the tests I made, I only receive an error when I select, for example, the third textFrame (3/3) and run the code. There is a find/change that can't run because of the second textFrame (previousTextFrame from the third, selected, one) doesn't have text.
If I select the second frame and run the script, all content goes to the first frame, causing overset text. Maybe it's better to keep everything in its place. But I can't deal with this.
Using tables, the same occurs. If I split in any (second or third) textFrame, all the table goes to the first frame, causing overset text, of course.
to check if there is a table you could check the last character in the first half of the split story and look after:
story.characters[-1].texts.tables.length // Will return 1 if there is a table
If the story overflows, you will deal with the table. Duplicate the character that holds the table to the beginning of the new story, remove rows of the original one until there is no overset of the story. And also remove all necessary rows in the other story so that are no duplicated rows.
Duplicating tables will have a bad side effect if there are live endnotes in the table.