Forum Replies Created
-
AuthorPosts
-
Theunis De Jong
MemberYes there is!
You do not mention what GREP you use to find duplicate words, but it may be something like this:
(\w+) \1— search for start of word, a number of “word” characters, followed by a space and that word again. To find two words repeating, expand the parenthesized phrase to
(\w+ \w+) \1so it will match “word word” followed by a space and that first match again.
September 1, 2019 at 7:13 am in reply to: Shorten a book/document and removing empty spaces between lines #14324205Theunis De Jong
MemberEmpty space at the bottom of a page is almost always caused by your paragraph style Keep settings. Keep in mind that these do exactly what you ask!
“Keep all lines together”: no matter how long a paragraph is, if it’s too long for a page it will move to the next one. “Keep with next paragraph”: no matter what, this is super-glued to to next paragraph and it will never break between them at the bottom of a page. “Keep with previous”: the same, but for the preceding paragraph.
Deselect all of these options for all of your paragraph styles. For a basic text book, you only need a few!
1. Basic widow/orphan settings for plain text: at the start and end of a paragraph, keep 2 lines together.
2. Basic Heading settings: keep all lines together, and keep the entire heading with the next paragraph.That’s really all. You still may have room for ‘several’ lines at the bottom of a page, but if you look at the next page it should be obvious why that is. (If it starts with a heading, for example. Typically, you wouldn’t want a heading at the bottom of a page.)
August 29, 2019 at 3:54 pm in reply to: The Case of the Disappearing Text, but Differently #14324215Theunis De Jong
MemberIs CS6 under Mac OS X GPU accelerated? If so, test if this also occurs without. If it doesn’t, file a bug report.
GPU acceleration has caused all kinds of weird redraw bugs on Windows and Adobe’s general advice seems to be “oh well. Just turn it off then”.
August 29, 2019 at 3:52 pm in reply to: Script to move all images(graphics) to a new layer #14324216Theunis De Jong
MemberDidn’t try, but I think I see what’s happening. You indeed are moving the image – to be exact, the contents of each graphic frame. It’s as if you have selected the image with the open arrow, not its containing frame with the black arrow.
Try “if(imgs[i].parent.move){foundObjects.push(imgs[i].parent);}” instead.
(Whence the “imgs[i].parent.move”? This seems to checks if its parent has a ‘move’ method, and all of your images [parents] should. I believe you don’t need the “if” at all, unless you found some images that cannot be moved. Then just move each but wrap a try .. catch around this.)
Theunis De Jong
MemberAriel, this is still so in the Very Latest™ version? If so, about time to post a Bug Report.
Theunis De Jong
MemberI’d advise to steer clear of using GREP styles for what seems a genuine correction of an error. They are hard to correct in case there is an exception, and there is always a chance you have to repurpose your name list for something else, in which case you’d get the uncorrected names back. Even something as innocent as “copy text in InDesign, paste elsewhere” will most likely lose the capitals.
Since you’re looking at Find/Change anyway, you can do this:
Find “O’c”, replace with “O’C”, for all likely starting lettersand
Find “Mcm”, replace with “McM” — again for all starting letters.If you only need to do this once, I’d not bother with MultiFind/Change. Do the above two replacements, then search for
O’
and
Mc
— the final characters here are both lowercase L. This way you’ll find the next uncapitalized name; use that in the next Find/Change. Repeat until nothing more is found.
And if you fancy a laff, read https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names
Theunis De Jong
MemberIf you want “resounding” and “no” kept together, you can simply instruct InDesign to do so, rather than fight against the optimizing line breaking algorithm.
You can change the space between them to a non-breaking space, or select both words and choose “No Break” from the Character panel popout menu.(I use No Break so often that I allocated a shortcut key to it.)
Theunis De Jong
Member— ah, that is Left Indent. For First Line use
app.findTextPreferences.firstLineIndent = app.selection[0].firstLineIndent;Theunis De Jong
MemberInDesign is far more accurate than the paltry 4 or 5 dgitis you see on screen. See https://forums.adobe.com/thread/2485366 on how to copy the “actual” value into Find Format — it only takes a single line of JavaScript:
app.findTextPreferences.leftIndent = app.selection[0].leftIndent;August 7, 2019 at 2:50 am in reply to: Change character preference settings for all documents in a book #14324338Theunis De Jong
MemberOw — I just noticed somehow the link to the full script has been cut off since posting! Here it is again:
August 7, 2019 at 12:51 am in reply to: Is there a script that can fix run-together words (e.g. "happybirthday")? #14324340Theunis De Jong
MemberIt sounds possible but it would need a massive word list. I have experimented with some large datasets, and there is a limit that can’t be crossed.
Have you considered doing a spell check?
Theunis De Jong
MemberJust a week or so ago I wrote a two-line script to add parentheses around selected text: https://forums.adobe.com/thread/2613893 (*)
Here it is:
app.selection[0].insertionPoints[-1].contents = ')'; app.selection[0].insertionPoints[0].contents = '(';– don’t worry, as it is, it inserts round parentheses, but you can replace them with any text you want. For example (as I don’t know the codes for the Chinese marks), curly quotes would be
app.selection[0].insertionPoints[-1].contents = '\u201c'; app.selection[0].insertionPoints[0].contents = '\u201d';(*) (Am I the only one thinking you really must be desperate for help to post as large as possible? :)
Theunis De Jong
MemberOut of the box, InDesign already can do a fair lot, and some of the lacking features – simple or otherwise – can be implemented with basic workarounds – occasionally with the help of a script. However, placement, divison, and other lay-out of InDesign’s native footnotes are not that easy mimicked and the only way around that is a custom replacement of the entire footnote system. The Footnote features have not seen any change at all since their first implemention: CS2. I dare not look up the exact date of its release.
If you believe this would be a useful addition (and I tend to agree; why not?), suggest it at the Feature Request forum: https://indesign.uservoice.com/forums/601021-adobe-indesign-feature-requests
Make sure to browse related existing features, so if there is one that covers your idea and has many upvotes, you could vote for that instead of adding another new 1-vote only suggestion. There are too many of these already.
Theunis De Jong
MemberAh, that took a bit of tinkering but I think I got it narrowed down. Here is the startup script – if there is a variable called
yearin a document that you open (it blindly assumes this has a reasonable value!), an existing variableyear-nowwill be updated, and if it does not exist, it will be created first.//DESCRIPTION:Write date difference in variable
// A Jongware Script 15-Jul-2019
#targetengine "set_experience_variable"
app.addEventListener("afterOpen", check_and_set_variable, false);
function check_and_set_variable (event)
{
var theDoc = event.parent;
if (theDoc instanceof Document)
{
var tvar = theDoc.textVariables.item('year');
if (tvar.isValid && tvar.variableType == VariableTypes.CUSTOM_TEXT_TYPE)
{
var uvar = theDoc.textVariables.item('year-now');
if (!uvar.isValid)
uvar = theDoc.textVariables.add({name:'year-now', variableType:VariableTypes.CUSTOM_TEXT_TYPE});
uvar.variableOptions.contents = String(new Date().getFullYear() - Number(tvar.variableOptions.contents))
}
}
}… and a second script that you can place in your regular scripts folder. This does the same thing, but directly into your current document; that way you don’t have to close-and-reopen a document if you want to add the variables!
//DESCRIPTION:Write date difference in variable
// A Jongware Script 15-Jul-2019
var theDoc = app.activeDocument
var tvar = theDoc.textVariables.item('year');
if (tvar.isValid && tvar.variableType == VariableTypes.CUSTOM_TEXT_TYPE)
{
var uvar = theDoc.textVariables.item('year-now');
if (!uvar.isValid)
uvar = theDoc.textVariables.add({name:'year-now', variableType:VariableTypes.CUSTOM_TEXT_TYPE});
uvar.variableOptions.contents = String(new Date().getFullYear() - Number(tvar.variableOptions.contents))
}
-
AuthorPosts
