Copy link to clipboard
Copied
Hi everyone, I'm not that great at indesign, but my typography teacher couldn't find a solution either. I hope someone can help me.
I have a long text with different body paragraph styles assigned to different parts of the body text. Each paragraph style has grep styles that are assigned to a lot of different words and are ofcourse linked to character styles. Some body paragraph styles have the same words in grep but a different character style assigned to it. I need to keep this.
Now, I want to add space before and after each word-grep-style that is linked to character style1. I can find all the words with Find&Replace when I look for them with character style1 in Find Format. But I have to manually add space before and after each word. Is there a way I can write a line in Find&Replace that does that for me?
So basically
Find Format: Character style1
Change to: [space] Character style1 [space]
I would be very very happy if someone could tell me how to do this 🙂 Thank you!
Try this:
When you do a find&replace, you can recover the found text to reuse in the "replace" field. You need to use the GREP tab in Find/Replace window.
Try this:
Find: (.+)
Replace to: _$1_
Find format: Character Style 1
Explanation: in the Find field you search for any character (dot) one or more times (the plus symbol). The parenthesis in a GREP expresion delimits what you want to recover for the Replace field. You can store up to 9 different coincidences that can be recovered as $1, $2, $3,.
...Copy link to clipboard
Copied
Hi, it is hard for me to understand your exact needs. Could you post a screen shot?
BTW, GREP styles are character styles, they are not “linked” and they are a part (most every time) to a paragraph style.
Copy link to clipboard
Copied
Hi, I was already affraid it would be unclear...
So in my grep styles of the body paragraph style I have different words I want to change with character style1. But for each word that has character style1, I want space before and after like in the text example.
What I did now was find the words that have character style1 with find and replace, and then I manually added the spaces before and after each word since there are so many different words linked to character style1.
I would like to find an automated way which adds spaces before and after words with characterstyle1. This way, when I add new words in my grepstyle with character style1, these words will also have space added before and after the word.
I hope this is a bit more clear...?
Copy link to clipboard
Copied
Try this:
When you do a find&replace, you can recover the found text to reuse in the "replace" field. You need to use the GREP tab in Find/Replace window.
Try this:
Find: (.+)
Replace to: _$1_
Find format: Character Style 1
Explanation: in the Find field you search for any character (dot) one or more times (the plus symbol). The parenthesis in a GREP expresion delimits what you want to recover for the Replace field. You can store up to 9 different coincidences that can be recovered as $1, $2, $3,... in the Replace field. Also you can recover the whole found expresion with $0. Remember, this only works in the GREP tab.
So in the example avobe you simply add a "_" character after and before the word styled with CharacterStyle1.
But if you want to replace the space before and after the character style, you can't do it with find/replace because they have not been formated. When you do a find/replace searching for a formatted expression, it must be totally formatted (you can't search for a expression with two formats at once).
So my fast solution is:
1.- format with GREP expresion
2.- Use my example above to add the desired space ( space - long space - formatted word - long space - space)
3.- Do another two Find/replace operations to remove undesired spaces (change "space - long space" to "long space" and "long space - space" to "long space")
You can find up to 12 different spaces under the "@" simbol at the end of the Find field. Select whatever you need.
Good luck!
Copy link to clipboard
Copied
Dear Lluis, you have just saved me several hours of work with your tip. Thanks!